Create a new batch calling job by uploading a CSV file or sending contacts via JSON.
phone column| Field | Type | Required | Default | Description |
|---|---|---|---|---|
file | File | ✅ (CSV mode) | — | CSV file with contacts |
fromPhoneNumberId | string | ✅ | — | Phone number ID to call from |
name | string | ✅ | — | Batch job name (max 200 chars) |
description | string | ❌ | null | Optional description (max 1000 chars) |
contacts | array | ✅ (JSON mode) | — | List of contact objects |
concurrentCallLimit | integer | ❌ | 5 | Max concurrent calls (1-50) |
maxAttempts | integer | ❌ | 3 | Max retry attempts (1-10) |
scheduledStartTime | string | ❌ | null | Schedule start (ISO 8601 format) |
timezone | string | ❌ | "UTC" | IANA timezone for scheduled time |
| Field | Type | Required | Description |
|---|---|---|---|
phone | string | ✅ | Phone number in E.164 format |
name | string | ❌ | Contact name |
* | any | ❌ | Additional custom fields (stored as-is) |
phone column. Additional columns are stored as custom fields.
| Column | Required | Description |
|---|---|---|
phone | ✅ | Phone number in E.164 format (+12025550101) |
name | ❌ | Contact name |
| any other | ❌ | Additional columns stored as custom fields |
+12025550101, +442071838750). Numbers without + or with formatting characters will be rejected.| Field | Type | Description |
|---|---|---|
success | boolean | Whether the job was created successfully |
batchJobId | string | Unique batch job identifier |
totalContacts | integer | Number of valid contacts |
estimatedDuration | string | Human-readable duration estimate |
estimatedCost | string | Estimated cost in USD |
status | string | Initial status (scheduled or pending) |
scheduledStartTime | string | Scheduled start time (ISO 8601, UTC) |
message | string | Success message |
| Status | Description |
|---|---|
pending | Job created, will start immediately |
scheduled | Job created, waiting for scheduled start time |
running | Job is actively processing contacts |
completed | All contacts processed |
failed | Job failed due to errors |
cancelled | Job was cancelled manually |
| Error Code | Cause |
|---|---|
invalid_csv | CSV file missing or invalid format |
missing_phone_column | CSV missing required phone column |
no_valid_contacts | CSV contains no valid phone numbers |
too_many_contacts | Exceeds 10,000 contact limit |
invalid_timezone | Invalid IANA timezone |
past_scheduled_time | Scheduled time is in the past |
invalid_phone_format | Phone number not in E.164 format |
insufficient_credits | Organization has insufficient credits |
no_outbound_agent | Phone number has no outbound agent assigned |
Your TalkifAI API key. Get it from Studio → Settings → API Keys.
CSV file with contacts (must have 'phone' column)
Phone number ID to call from
Batch job name
Optional description
1 <= x <= 501 <= x <= 10Schedule start time (ISO 8601)
IANA timezone for scheduled time