Upload a 5,000+ row campaign CSV for asynchronous processing.
Documentation Index
Fetch the complete documentation index at: https://docs.ringg.ai/llms.txt
Use this file to discover all available pages before exploring further.
POST /campaign/upload-csv starts the beta large-campaign flow. It accepts a large CSV and campaign configuration, then returns a bulk_list_id that you use for status polling, balance checking, and async call scheduling.
multipart/form-data. Use the same CSV template and campaign fields as the standard POST /campaign/save flow.
| Field | Required | Notes |
|---|---|---|
file | Yes | CSV file with Mobile Number and assistant variable columns |
agent_id | Yes | Assistant that will handle the campaign calls |
campaign_name | Yes | Human-readable campaign name |
country_code | Yes | Dialing prefix, such as +91 or +1 |
variables_map | Yes | JSON string mapping assistant variables to CSV columns |
campaign_start_time | Yes | Campaign start time in DD/MM/YYYY, HH:MM format |
campaign_end_time | Yes | Campaign end time in DD/MM/YYYY, HH:MM format |
call_config | Yes | JSON string for call window, retry, and call limit settings |
remove_invalid_rows | No | Set to true to skip invalid rows when supported |
transliterate_callee_name | No | Set to true when callee names should be transliterated |
Content-Type manually in browser or Node FormData clients. Let the client include the multipart boundary.bulk_list_id. It identifies the uploaded list for every later beta endpoint.
(Required) Your Ringg AI API key.
"7251cb4b-3373-43a4-844c-b27a1d45e0c9"
(Required) JSON string mapping assistant variable names to CSV columns.
"{\"mobile_number\":\"Mobile Number\",\"callee_name\":\"Name\"}"
(Required) Assistant ID used to validate campaign variables.
"830f767a-397e-4b39-82ff-235cd344e2f9"
(Required) Phone number country code, for example +91 or +1.
"+91"
(Required) Name of the campaign draft.
"Renewal reminders - large upload"
(Required) CSV file containing campaign contacts.
When true, invalid rows are removed instead of failing the upload.
true
When true, callee names are transliterated for the assistant language.
false
CSV upload accepted for asynchronous validation.
"123e4567-e89b-12d3-a456-426614174000"
"verifying"
"Renewal reminders - large upload"
5000
12
"https://storage.example.com/invalid-rows.csv"