Query the latest calling outcome for one or more phone numbers in a Dialer campaign, and determine whether each number will be dialed again.
This legacy information is part of v1, v2, or v3, which will be supported only until March 31, 2027. To avoid disruption, migrate your integration to v4 before that date. For endpoint mappings, Bearer token authentication, and scoped API key guidance, see the Migrating to v4 article in the Developer's Guide.
Please refer to the detailed API endpoint specification: Contact status
What you can achieve with the Contact status API
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.
Prerequisites
- 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.
Endpoint
GET /api/dialer/v1/campaigns/{id}/contact_status
Path parameters
| Parameter | Description | Type | Required |
|---|---|---|---|
| id | The numeric ID of the campaign to retrieve. | integer | Yes |
Query parameters
| Parameter | Description | Type | Required | Notes |
|---|---|---|---|---|
| contact_numbers | One or more phone numbers to query. | array of strings | Yes | Provide up to 1000 values per request. Provide numbers in E.164 format without the leading plus sign. Depending on your client, you may pass an array or repeat the parameter multiple times. |
Example 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
Authentication
This endpoint requires authentication using the Contact Center Bearer Token. The token must be included in the request header:
Authorization: Bearer {contactcenter_token}
Response
The response contains a contacts array. Each element corresponds to one requested phone number.
Top level response
| Element | Description | Type | Notes |
|---|---|---|---|
| contacts | Array of Contact status objects. | array | One element per requested phone number. Items can be null if a contact number is not found in the campaign. |
Contact status object
| 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 plus sign. |
| 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. |
last_call object
| Element | Description | Type | Notes |
|---|---|---|---|
| id | Unique identifier of the last call attempt. | string | UUID format. |
| timestamp | Timestamp of the last call attempt. | string | ISO 8601 date time format. |
| disposition | Call disposition for the last attempt. | string | Examples include rejected, no_answer, and answered. |
| dispatch_code | Dispatch code assigned to the call. | string | Optional. Present only when a dispatch code was assigned. |
redial_status object
| 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, based on the Redial rules specified for the campaign. | string | ISO 8601 date time format. Can be null when no next attempt is scheduled. |
Notes
- 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 a requested contact number is not found in the campaign, the corresponding item in contacts can be null.
- If redial_status.final_attempt is false, another dial attempt may be planned and next_attempt_time may be returned.
- If redial_status.final_attempt is true, no further dial attempts will occur and next_attempt_time may be null.
Response examples
Never dialed
{
"contacts": [
{
"campaign_id": 1399,
"contact_number": "77075357142",
"dialed": false,
"last_call": null,
"redial_status": null
}
]
}Dialed and will be retried
{
"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"
},
"redial_status": {
"final_attempt": false,
"next_attempt_time": "2025-12-12T03:50:34Z"
}
}
]
}Answered and completed
{
"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,
"next_attempt_time": null
}
}
]
}Errors
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. |