Please refer to the detailed API endpoint specification: Contact status
Use the Contact status endpoint to query the call outcome and redial status for specific phone numbers in a Dialer campaign so you can determine whether a number will be dialed again. Numbers that will not be dialed again according to the Redial rules specified for the campaign can then be identified for further processing in your CRM.
- You must have access to your contact center API key.
- You must know the campaign ID of the campaign you wish to retrieve.
- The **API redial status must be enabled for your contact center
GET /api/dialer/v1/campaigns/{campaign_id}/contact_status
| Parameter | Description | Type | Required |
|---|
campaign_id | The numeric ID of the campaign to retrieve. | number | Yes |
| Parameter | Description | Type | Required | Notes |
|---|
| contact_numbers[] | One or more phone numbers to query. | string | Required | Provide numbers in E.164 format without the leading plus sign. You can pass this parameter multiple times. Maximum 1000 values per request. |
GET /api/dialer/v1/campaigns/1399/contact_status?contact_numbers[]=77075357142&contact_numbers[]=77023599945&contact_numbers[]=5001
HTTP/1.1
Host: cluster1.contact_center_name.com
Authorization: Bearer {contactcenter_token}
Content-Type: application/json
This endpoint requires authentication using the Contact Center Bearer Token. The token must be included in the request header:
Authorization: Bearer {contactcenter_token}
The response contains a contacts array. Each element corresponds to one requested phone number.
| Element | Description | Type | Notes |
|---|
| contacts | Array of Contact status objects. | array | One element per requested phone number. |
| Element | Description | Type | Notes |
|---|
| campaign_id | ID of the dialer campaign. | integer | |
| contact_number | Phone number that was queried. | string | In E.164 format without the leading "+". |
| dialed | Indicates whether the contact has been dialed in this campaign. | boolean | |
| last_call | Most recent call attempt details. | object or null | null when dialed is false. |
| redial_status | Redial decision for the contact. | object or null | null when dialed is false. |
| Element | Description | Type | Notes |
|---|
| id | Unique identifier of the last call attempt from the Call Detail Records database. | string | |
| timestamp | Timestamp of the last call attempt in UTC. | string | ISO 8601 format. |
| disposition | Call disposition for the last attempt. | string | Examples include rejected, no_answer, and answered. |
| dispatch_code | Agent assigned wrap up code for the call. | string or null | Can be null when no wrap up code was assigned. |
| Element | Description | Type | Notes |
|---|
| final_attempt | Indicates whether this was the final attempt for the contact. | boolean | true means no further dial attempts will be scheduled. |
| next_attempt_time | Scheduled time of the next dial attempt in UTC, based on the Redial rules specified for the campaign. | string | Present only when final_attempt is false. Omitted when final_attempt is true. |
- If a contact has never been dialed in the campaign, the API returns
dialed: false, and last_call and redial_status are returned as null.
- If
redial_status.final_attempt is false, another dial attempt is planned and next_attempt_time is returned.
- If
redial_status.final_attempt is true, no further dial attempts will occur and next_attempt_time is omitted.
- If the campaign status is
paused or stopped, then ???
{
"contacts": [
{
"campaign_id": 1399,
"contact_number": "77075357142",
"dialed": false,
"last_call": null,
"redial_status": null
}
]
}
{
"contacts": [
{
"campaign_id": 1399,
"contact_number": "77075357142",
"dialed": true,
"last_call": {
"id": "a209293e-200f-4b98-bff2-d2698f4ecd39",
"timestamp": "2025-12-12T03:45:34Z",
"disposition": "rejected",
"dispatch_code": null
},
"redial_status": {
"final_attempt": false,
"next_attempt_time": "2025-12-12T03:50:34Z"
}
}
]
}
{
"contacts": [
{
"campaign_id": 1399,
"contact_number": "5001",
"dialed": true,
"last_call": {
"id": "56bd5432-7eaa-474d-bb96-e3684dca6901",
"timestamp": "2025-12-12T03:45:33Z",
"disposition": "answered",
"dispatch_code": "0001"
},
"redial_status": {
"final_attempt": true
}
}
]
}
The following errors are expected for this endpoint.
| Status code | Meaning | Notes |
|---|
| 400 | Bad request | Invalid phone format, missing required parameters, or more than 1000 contact_numbers[] values. |
| 401 | Unauthorized | Authentication failed. |
| 404 | Not found | Campaign does not exist. |
| 429 | Too many requests | Rate limit exceeded. |