Bulk Initiate Leads
Leads
Bulk Initiate Leads
Create or validate multiple leads in a single request and optionally start initialization
POST
Bulk Initiate Leads
Body Parameters
Array of existing lead IDs (required if
leads not provided)Array of new lead objects (required if
leadIds not provided)Whether to initialize leads for calling
Query Parameters
API version. Use
"1.2" for simplified response formatResponse
Array of successfully created/validated leads
Array of errors for leads that failed validation
Error Responses
-
400 Bad Request
- Missing body / wrong type
- Returned when neither
leadIdsnorleadsis provided, or when the value is not an array. - Examples:
{ "error": "Either leadIds or leads array is required" }{ "error": "Input must be an array" }
- Returned when neither
- Too many leads
- Returned when the number of items exceeds the maximum per request.
- Example:
{ "error": "Maximum of 1000 leads allowed per request" }(limit may be overridden by config).
- Per-lead validation errors / bad leads
- Individual leads that fail validation (duplicate, bad phone, etc.) are reported in the
errorsarray. - Typical messages include:
"A call attempt has already been made to this phone number for this project""Phone number contains repeating digits pattern""already exists for this project and process"
- These indicate bad/invalid leads. Do not retry these specific leads via this API.
- Recommended behavior:
- Mark those leads as invalid in your system.
- Fix the underlying data (phone number, process, etc.) before attempting again as new leads.
- Individual leads that fail validation (duplicate, bad phone, etc.) are reported in the
- Missing body / wrong type
-
403 Forbidden
- Returned when some leads have missing or invalid
projectIdrelative to the authenticated project. - Example:
- Also returned when the target project is inactive or not found.
- Returned when some leads have missing or invalid
-
404 Not Found
- Returned when a
processIdin theleadsarray does not exist. - Example:
{ "error": "Process not found for lead with processId: <id>" }
- Returned when a
-
429 Too Many Requests
- Bulk initiate uses the same project-level rate limiting and duplicate protection as the single-lead initiate API.
- If you continuously send duplicate or bad data, your API key may be temporarily blocked.
- Do not keep retrying the same bad leads, as this can cause more 429s and longer blocks.
-
500 Internal Server Error
- Unexpected server-side error.
- Safe to retry with exponential backoff only for 5xx responses (not for 4xx).
Retry Guidance
- Do not retry bad leads
- Any per-lead validation/duplicate errors returned in the
errorsarray should be treated as permanent failures for those payloads. - Re-sending the same bad lead can:
- Trigger duplicate-protection limits.
- Lead to
429blocks for your API key.
- Any per-lead validation/duplicate errors returned in the
- When to retry
- It is acceptable to implement retries (with backoff) for:
- Network errors.
- 5xx responses (
500and other server errors).
- Do not automatically retry on 4xx responses; fix the request or underlying data instead.
- It is acceptable to implement retries (with backoff) for:
