Contact status

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

ParameterDescriptionTypeRequired
idThe numeric ID of the campaign to retrieve.integerYes

Query parameters

ParameterDescriptionTypeRequiredNotes
contact_numbersOne or more phone numbers to query.array of stringsYesProvide 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

ElementDescriptionTypeNotes
contactsArray of Contact status objects.arrayOne element per requested phone number. Items can be null if a contact number is not found in the campaign.

Contact status object

ElementDescriptionTypeNotes
campaign_idID of the dialer campaign.integer
contact_numberPhone number that was queried.stringIn E.164 format without the leading plus sign.
dialedIndicates whether the contact has been dialed in this campaign.boolean
last_callMost recent call attempt details.object or nullNull when dialed is false.
redial_statusRedial decision for the contact.object or nullNull when dialed is false.

last_call object

ElementDescriptionTypeNotes
idUnique identifier of the last call attempt.stringUUID format.
timestampTimestamp of the last call attempt.stringISO 8601 date time format.
dispositionCall disposition for the last attempt.stringExamples include rejected, no_answer, and answered.
dispatch_codeDispatch code assigned to the call.stringOptional. Present only when a dispatch code was assigned.

redial_status object

ElementDescriptionTypeNotes
final_attemptIndicates whether this was the final attempt for the contact.booleanTrue means no further dial attempts will be scheduled.
next_attempt_timeScheduled time of the next dial attempt, based on the Redial rules specified for the campaign.stringISO 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 codeMeaningNotes
400Bad requestInvalid phone format, missing required parameters, or more than 1000 contact_numbers values.
401UnauthorizedAuthentication failed.
404Not foundCampaign does not exist.

See also