Upload a document
Uploads a supporting document or MMS sample file for campaign registration and stores it at the US 10DLC registry.
curl --request POST \
--url https://api.vobiz.ai/api/v1/sms/10dlc/documents \
--header 'Content-Type: multipart/form-data' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--form 'document=@example-file;type=application/octet-stream'from vobiz import Vobiz
client = Vobiz(api_key="MA_XXXXXXXX", auth_token="YOUR_AUTH_TOKEN")
client.sms.campaigns.upload_document(
document="example_document",
)
const form = new FormData();
form.append('document', '<string>');
const options = {
method: 'POST',
headers: {'X-Auth-ID': '<api-key>', 'X-Auth-Token': '<api-key>'}
};
options.body = form;
fetch('https://api.vobiz.ai/api/v1/sms/10dlc/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3d2c1b0a-9e8f-4d7c-b6a5-4f3e2d1c0b9a",
"accountId": "MA_XXXXXXXX",
"provider": "primary",
"documentId": "7e6d5c4b-3a2f-4e1d-9c8b-7a6f5e4d3c2b",
"documentName": "opt-in-screenshot.png",
"contentType": "image/png",
"contentLength": 48213,
"createdAt": "2026-10-12T10:30:00Z"
}Authorizations
Your Vobiz account Auth ID (MA_XXXXXXXX).
Your Vobiz account Auth Token.
Body
The file to upload, as the document part of a multipart/form-data body. The part must include a filename; a missing part returns 400 with multipart field "document" is required. Maximum 10 MB.
Response
The document was stored at the registry.
A supporting document or MMS sample file uploaded for campaign registration.
Record ID (UUID) of the upload on your account. Downloads and campaign references use documentId, not this value.
"3d2c1b0a-9e8f-4d7c-b6a5-4f3e2d1c0b9a"
Your Vobiz account ID (MA_...). Always the account whose credentials made the request.
"MA_XXXXXXXX"
Internal routing identifier; do not rely on its value.
The registry's document ID (UUID). Use it in GET /10dlc/documents/{id} and in a campaign's supportingDocuments or mmsSampleFiles.
"7e6d5c4b-3a2f-4e1d-9c8b-7a6f5e4d3c2b"
Original filename of the upload. Omitted when not recorded.
"opt-in-screenshot.png"
Media type of the file, for example application/pdf or image/png. Omitted when not recorded.
"image/png"
Size of the file in bytes.
48213
When the record was created on your account, in ISO 8601 (RFC 3339) UTC.
"2026-10-12T10:30:00Z"
Was this page helpful?
curl --request POST \
--url https://api.vobiz.ai/api/v1/sms/10dlc/documents \
--header 'Content-Type: multipart/form-data' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--form 'document=@example-file;type=application/octet-stream'from vobiz import Vobiz
client = Vobiz(api_key="MA_XXXXXXXX", auth_token="YOUR_AUTH_TOKEN")
client.sms.campaigns.upload_document(
document="example_document",
)
const form = new FormData();
form.append('document', '<string>');
const options = {
method: 'POST',
headers: {'X-Auth-ID': '<api-key>', 'X-Auth-Token': '<api-key>'}
};
options.body = form;
fetch('https://api.vobiz.ai/api/v1/sms/10dlc/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3d2c1b0a-9e8f-4d7c-b6a5-4f3e2d1c0b9a",
"accountId": "MA_XXXXXXXX",
"provider": "primary",
"documentId": "7e6d5c4b-3a2f-4e1d-9c8b-7a6f5e4d3c2b",
"documentName": "opt-in-screenshot.png",
"contentType": "image/png",
"contentLength": 48213,
"createdAt": "2026-10-12T10:30:00Z"
}