Get Batch Job Detail
Batch Calling
Get Batch Job Detail
Get complete details of a batch calling job including progress stats, timing info, and paginated contacts.
GET
Get Batch Job Detail
Overview
Retrieves comprehensive information about a specific batch job including:- Job configuration and status
- Progress statistics
- Status breakdown (count by status)
- Timing information (scheduled, started, completed, estimated)
- Paginated list of contacts with optional status filtering
Request
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
batch_job_id | string | ✅ | Unique batch job identifier |
Query Parameters
| 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) |
Contact Status Filter Values
| 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 |
Response
Response Fields
Job Info
| 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 |
Progress Stats
| 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 |
Timing Info
| 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) |
Settings
| Field | Type | Description |
|---|---|---|
concurrentCallLimit | integer | Max concurrent calls |
retryPolicy | object | Retry configuration |
Contacts List
| 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 |
Contact Object
| 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) |
Examples
Example 1: Get Full Job Detail
Example 2: Get Only Completed Contacts
Example 3: Get Failed Contacts for Analysis
Example 4: Get Pending Contacts
Error Handling
404 Not Found
400 Bad Request
| 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 |
500 Internal Server Error
Status Breakdown Interpretation
ThestatusBreakdown object shows count of contacts in each status:
Estimated Completion Time
For running jobs, the API calculates estimated completion based on:- Elapsed time since start
- Number of contacts processed
- Remaining contacts
Estimated completion is approximate and may vary based on retry attempts, concurrency, and call duration.
Related
- Create Batch Job — Create a new batch job
- List Batch Jobs — List all batch jobs
- Cancel Batch Job — Cancel a running job
- Start Batch Job — Start a scheduled job immediately
- Batch Calling Guide — Complete guide to batch campaigns
Authorizations
Your TalkifAI API key. Get it from Studio → Settings → API Keys.
Path Parameters
Query Parameters
Filter contacts by status
Available options:
pending, queued, dialing, completed, no_answer, busy, timeout, blocked, invalid_number, carrier_error, failed, cancelled Required range:
x >= 1Required range:
1 <= x <= 500Response
Batch job details