Skip to main content
POST
Upload Contacts CSV
Request an upload URL with file_name, the actual file_size in bytes, and content_type: "text/csv". The CSV must be non-empty and at most 10 MB. The response contains upload_url, file_key, and expires_in. PUT your file to upload_url with the same content type; do not send your workspace API key to the upload URL.
Set UPLOAD_URL to the returned URL and upload before it expires. After a successful upload, use file_key as source_id with source_type: "csv" when creating the campaign. The file must include a phone_number column. Extra columns become initial context:

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-VOAI-ORGANIZATION-ID
string | null

Body

application/json
file_name
string
required
Pattern: .*\.csv$
file_size
integer
required
Required range: x <= 10485760
content_type
string
default:text/csv

Response

Successful Response

upload_url
string
required
file_key
string
required
expires_in
integer
required