Skip to main content
POST
Upload CSV or Excel file with leads data
Legacy endpoint - deprecated. Unversioned endpoints are scheduled for removal on July 31, 2026. A public v1 replacement is not currently listed in the v1 reference. This endpoint remains available for existing integrations until then.
Uploads a file to add multiple leads to a campaign in a single request. This is the fastest way to populate a campaign with a large contact list.

File format

Your file must include a phone_number column. All other column headers are treated as dynamic variable names and are injected into the agent’s prompt per lead:
In your agent prompt, reference these as {{name}}, {{city}}, {{product_interest}}, etc. Each call is personalized with that lead’s row data.

File requirements

  • Formats: CSV, XLSX, or XLS
  • Max size: 10 MB
  • Required column: phone_number
  • Optional columns: Any additional column becomes a dynamic variable (max 15 custom columns)

Destination validation

Uploaded campaign leads are checked against the campaign’s outbound phone number before they are queued. For non-SIP routes, each destination must be allowed by Workspace Settings > Telephony Config. If rows fail validation, the API returns 400 Bad Request with grouped errors and row numbers. Fix invalid phone numbers, unsupported countries, unsupported prefixes, or missing Telephony Config coverage before uploading again.

Authorizations

Authorization
string
header
required

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

Headers

x-organization-id
string
required

RSA encrypted organization ID (base64 format)

Example:

"BASE64_ENCRYPTED_ORG_ID_HERE"

Path Parameters

campaignId
string
required

ID of the campaign

Body

multipart/form-data
file
file

CSV or Excel file with leads data

Response

File processed successfully