Skip to main content

Upload Contacts CSV

Get a presigned S3 URL to upload a contacts CSV for a campaign
1 min read
post/api/v1/s3/presigned-upload-url
Request example
Response
post/api/v1/s3/presigned-upload-url

Uploading contacts is a two-step process. First call this endpoint to get a presigned upload URL, then PUT your CSV directly to that URL.

Use the s3_key from the response as the source_url when creating a campaign.

CSV format#

The CSV must include a phone_number column. Any additional columns are passed as initial_context to each call, making them available as template variables in the workflow.

To override the Start node greeting for a row, use these optional columns:

  • Text: set greeting_override_type to text and put the message in greeting_override_text.
  • Recording: set greeting_override_type to audio and put the public recording ID in greeting_override_recording_id.

Greeting text can reference other CSV columns, such as Hello {{customer_name}}. Empty override columns preserve the greeting configured in the Start node.

Headers

authorizationstring · null#
X-API-Keystring · null#

Body

application/json
file_namestringrequired#
CSV filename

Pattern: .*\.csv$

file_sizeintegerrequired#
File size in bytes (max 10MB)

Range: 0 < x <= 10485760

content_typestring#
File content type

Default: "text/csv"

Responses

application/json
Successful Response
upload_urlstringrequired#
file_keystringrequired#
expires_inintegerrequired#