Skip to main content

Campaign reports

The following Calls API methods can be used to obtain JSON campaign reports:

  • POST /api/calls/campaign/{token}/callJob/getReport for the number report.
  • POST /api/calls/campaign/{token}/callAttempt/getReport for the attempt report.

Request body

The body of requests to this method contains a JSON with any of the following properties:

  • phones — an array of phone numbers which should have calls to them canceled.
  • ids — an array of call job IDs which should be canceled.
You can also pass both properties in one request.

Example request

curl --request POST '' \
--header 'Content-Type: application/json' \
--data-raw '{
"phones": [
"ids": [

Report content

The response will be an array of objects containing varied information on call jobs or call attempts. Among the most commonly used of them are:

  • startedAt and finishedAt — Unix time of call start and end, in milliseconds.
  • callDuration — the total call duration, in seconds.
  • callResult — the call result.
  • reportData — data reported in the script via $dialer.reportData.
  • jobStatus — call job status at the time of report generation.

Call job statuses

Property valueDescription
canceledThe call was canceled.
inProcessThe call is in progress.
longCallWithNoResultThe call is completed and has no result set.
longCallWithResultThe call is completed and has a result set.
noAnswerAll call attempts were unanswered by the customer.
nonexistentNumberThe call was made to a non-existent phone number.
notDoneThe call was not completed but the campaign was stopped.
onRetryA call attempt retry is in progress.
plannedThe call is queued, e.g. because all the lines are busy.