Get complete details of a batch calling job including progress stats, timing info, and paginated contacts.
| Parameter | Type | Required | Description |
|---|---|---|---|
batch_job_id | string | ✅ | Unique batch job identifier |
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
contactStatus | string | ❌ | — | Filter contacts by status |
contactsPage | integer | ❌ | 1 | Contacts page number (1-indexed) |
contactsPageSize | integer | ❌ | 50 | Contacts per page (1-500) |
| Status | Description |
|---|---|
pending | Contact waiting to be called |
queued | Contact queued for retry |
dialing | Call currently in progress |
completed | Call completed successfully |
no_answer | Call not answered |
busy | Line was busy |
timeout | Call timed out |
blocked | Call blocked by carrier |
invalid_number | Phone number invalid |
carrier_error | Carrier/network error |
failed | Call failed (other reason) |
cancelled | Contact cancelled |
| Field | Type | Description |
|---|---|---|
id | string | Unique batch job identifier |
name | string | Job name |
description | string | Optional description |
status | string | Current job status |
organizationId | string | Organization ID |
agentId | string | Agent ID used for calls |
fromPhoneNumberId | string | Phone number ID used for calls |
| Field | Type | Description |
|---|---|---|
totalContacts | integer | Total contacts in job |
contactsProcessed | integer | Number of contacts processed |
successfulCalls | integer | Number of successful calls |
failedCalls | integer | Number of failed calls |
statusBreakdown | object | Count per status |
| Field | Type | Description |
|---|---|---|
scheduledStartTime | string | Scheduled start time (ISO 8601, UTC) |
actualStartTime | string | Actual start time (ISO 8601, UTC) |
completedAt | string | Completion time (ISO 8601, UTC) |
estimatedCompletionTime | string | Estimated completion (ISO 8601, UTC) |
createdAt | string | Creation time (ISO 8601, UTC) |
| Field | Type | Description |
|---|---|---|
concurrentCallLimit | integer | Max concurrent calls |
retryPolicy | object | Retry configuration |
| Field | Type | Description |
|---|---|---|
contacts | array | List of contact objects |
contactsTotal | integer | Total contacts (with filter) |
contactsPage | integer | Current contacts page |
contactsPageSize | integer | Contacts per page |
contactsHasMore | boolean | Whether more pages exist |
| Field | Type | Description |
|---|---|---|
id | string | Contact identifier |
phoneNumber | string | Phone number (E.164 format) |
contactData | object | Original contact data + custom fields |
status | string | Current contact status |
errorCode | string | SIP error code (if failed) |
attemptCount | integer | Number of attempts made |
maxAttempts | integer | Maximum allowed attempts |
lastAttemptAt | string | Last attempt time (ISO 8601, UTC) |
nextRetryAt | string | Next retry time (ISO 8601, UTC) |
completedAt | string | Completion time (ISO 8601, UTC) |
roomName | string | LiveKit room name (if connected) |
failureReason | string | Error message (if failed) |
callDuration | integer | Call duration in seconds (if completed) |
| Error Code | Cause |
|---|---|
invalid_contact_status | Invalid contact status filter |
invalid_page | Page number less than 1 |
invalid_page_size | Page size outside 1-500 range |
statusBreakdown object shows count of contacts in each status:
Your TalkifAI API key. Get it from Studio → Settings → API Keys.
Filter contacts by status
pending, queued, dialing, completed, no_answer, busy, timeout, blocked, invalid_number, carrier_error, failed, cancelled x >= 11 <= x <= 500Batch job details