Upload Campaign Entries API
Bulk-upload contacts as CSV rows or a JSON array. Rows are validated individually, with per-row failures reported alongside the accepted count.
reference_id, mobile_number, name, email) or a field the pinned version’s start node declares — otherwise the entire upload is rejected with 422 unknown_field or missing_required_field and nothing is persisted. Then each row is validated individually: bad rows land in failures with a code (invalid_phone, invalid_field_type, missing_required_value, …) while good rows are accepted.accepted and corrected. Fetch the expected header with the CSV template endpoint. Uploads are capped at 32 MB and 150,000 rows.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The unique id of the campaign
Body
The body is of type string.
"mobile_number,name,city\n+919876543210,Asha,Pune\n+919876543211,Ravi,Mumbai\n"
Response
Per-row upload result
Rows inserted, including corrections of previously failed rows.
Subset of accepted that replaced a failed_validation row from an earlier upload.
Rows that failed validation.
The campaign's total entries after this upload.
1000Accepted rows with a non-blocking issue, e.g. missing_default_recipient on a phone-less row when the workflow dials entry.mobile_number.
1000
