Notify Africa
API GuidesVoice API

Calls

Start and inspect Voice call sessions through the Developer API.

Start Call

POST /api/v1/voice-api/calls

Starts an outbound click-to-call attempt for the API-key owner.

Request Body

FieldTypeRequiredValidation
customerNumberstringYesE.164 phone number, + followed by 7 to 15 total digits
{
  "customerNumber": "+255700000001"
}

Success

HTTP 202 with:

{
  "callAttemptId": "voice-call-attempt-550e8400-e29b-41d4-a716-446655440000",
  "sessionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

callAttemptId is the public call correlation ID for developer integrations. sessionId is the local Voice call session row ID.

List Calls

GET /api/v1/voice-api/calls

Lists call sessions owned by the API-key customer.

Query Parameters

ParameterTypeDefaultNotes
qstringnoneSearch session ID, caller number, or destination number
currentPagenumber1Page number
pageSizenumber20Number of calls to return
sortBystringimplementation defaultField to sort by, such as startedAt or createdAt
sortOrderASC or DESCDESCSort direction
curl --request GET \
  "$NOTIFY_API_BASE_URL/api/v1/voice-api/calls?q=voice-call-attempt&currentPage=1&pageSize=20" \
  --header "Authorization: Bearer $NOTIFY_VOICE_API_KEY"

Success

Returns paginated VoiceCallSessionSummary records.

{
  "status": 200,
  "message": "Success",
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "callAttemptId": "voice-call-attempt-550e8400-e29b-41d4-a716-446655440000",
      "direction": "OUTBOUND",
      "callerNumber": "+255700000000",
      "destinationNumber": "+255700000001",
      "status": "INITIATED",
      "recordingMediaId": null,
      "startedAt": null,
      "endedAt": null
    }
  ]
}

Get Call

GET /api/v1/voice-api/calls/{callSessionId}

Retrieves one call session owned by the API-key customer.

callSessionId may be either:

  • Local Voice call session row ID, for example a1b2c3d4-e5f6-7890-abcd-ef1234567890.
  • Notify Africa backend-generated call attempt ID, for example voice-call-attempt-550e8400-e29b-41d4-a716-446655440000.

The identifier must be a non-empty string with a maximum length of 128 characters.

curl --request GET \
  "$NOTIFY_API_BASE_URL/api/v1/voice-api/calls/voice-call-attempt-550e8400-e29b-41d4-a716-446655440000" \
  --header "Authorization: Bearer $NOTIFY_VOICE_API_KEY"

Success

Returns a full VoiceCallSession record. When a recording has been archived, recordingMedia can include temporary download metadata.

On this page