Skip to content
Calls

Get call by ID

GET/call/{id}

Returns a call with its status, outcome and attempts, each with its transcript, recording and extracted data. Poll it after POST /call until status is final: completed, cancelled, errored.

Path parameters

Request body

No body: send the request without one.

Response

200
  • callCall
    • idstring

      The ID of the call.

      Example "8d2f6b1a-4c9e-4f37-b215-6a0e9c3d7f12"

    • organization_idstring

      The ID of the organization that owns the call.

    • from_phone_numberstring

      The phone number that made the call (the caller ID of an outbound call), in E.164 format.

      Example "+33199001234"

    • to_phone_numberstring

      The phone number that received the call (the person called, for an outbound call), in E.164 format.

      Example "+33612345678"

    • direction"inbound" | "outbound"

      Whether Revox placed the call or received it.

      "inbound"

      Someone called one of your numbers and an assistant answered.

      "outbound"

      Revox called the number: from POST /call, a campaign or the dashboard.

    • channel"phone" | "web"

      Where the call takes place.

      "phone"

      A phone call.

      "web"

      A test call taken in the browser, from the dashboard: its phone number is a placeholder, never dialed.

    • statusenum (10 values)

      Where the call stands. Final statuses, after which nothing changes: completed, cancelled, errored.

      "initializing"

      Being created, not scheduled yet. Newer calls start as scheduled instead.

      "queued_for_calling"

      Its turn came: the attempt is about to dial, within your concurrent call limit.

      "calling"

      An attempt is in progress: the phone is ringing or a conversation is going on.

      "post_processing"

      The phone conversation is over; the transcript, outcome and extracted data are being computed. It can no longer be paused or cancelled.

      "not_launched"

      Created but never sent: a campaign call waiting for POST /campaigns/{id}/launch-calls. It is not dialed until then.

      "scheduled"

      Waiting to be dialed at scheduled_at (the first attempt, a retry or a requested callback). A call due outside its calling windows waits for the next one.

      "paused"

      No new attempt is made until it is resumed (POST /call/{id}/resume, or resuming its campaign).

      "completed"

      Final. Revox will not dial it again: a person or a phone menu answered, or the last attempt allowed by call_retry_config was made. outcome and last_call_attempt tell how it went.

      "cancelled"

      Final. Cancelled before it completed: by a user (POST /call/{id}/cancel, the dashboard, a campaign cancel), or because the prospect called back (see cancel_reason).

      "errored"

      Final. The call could not be placed and will not be retried: the number does not exist, the destination cannot be called, the organization ran out of credits, or an internal error stopped it.

    • cancel_reason"prospect_called_back"optionalnullable

      Why the call was cancelled, when it can be told. Null for a cancel by a user or a campaign, and for calls that are not cancelled.

      "prospect_called_back"

      The prospect called back before the next retry: the pending retry was cancelled, and their call is recorded as a separate inbound call.

    • retries_stoppedboolean

      Whether no further attempt will be made for this call: it was cancelled, or its future attempts were stopped while an attempt was already in progress (that attempt still finishes). Unlike is_cancelled, this is true as soon as retries are stopped, before the call reaches a terminal status.

      Default false

    • callback_fromobjectoptionalnullable

      For an inbound call only: the outbound call this one answers, when the prospect rang us back after we called them. Null for every other call. A callback is matched on the caller's number against outbound calls dialed within the last 2 days on a shared Revox number, or within the last 30 days on a number dedicated to your organization (only your own calls are matched there), counted from the last attempt. A matched callback carries the outbound call's metadata over, cancels its pending retries, and is answered by the outbound call's assistant when the prospect dials back the number we called from (or when the number they dial has no inbound assistant), otherwise by that number's inbound assistant. Its end-of-call webhook goes to the webhook_url of the assistant that answers.

    • calls_countnumber

      The number of call attempts made.

      Example 1

    • last_call_attemptCallAttemptnullable

      The most recent attempt, the same as the first entry of call_attempts. Null until a first attempt is made.

    • call_retry_configCallRetryConfignullable

      Retry configuration this call follows: calling windows, allowed days, delay between attempts and maximum attempts. Copied when the call is created from the assistant's, or the campaign's for a campaign call, with the per-call overrides of POST /call (timezone, call_twice_in_a_row) applied.

    • llm_modelobject

      The LLM that drives this call, copied from the assistant when the call is created.

    • call_attemptsarray of CallAttempt

      All call attempts for this call order, ordered by most recent first.

    • assistantAssistantnullable

      The assistant the call was placed with, as it is configured now (not a snapshot taken at call time). Null for a call made with an inline assistant configuration, and when the assistant was deleted.

    • prompt_versionobjectoptionalnullable

      The assistant prompt version the call's prompt was compiled from. Null for calls created before versions were tracked, and for calls made with an inline assistant.

    • campaignobjectnullable

      The campaign this call belongs to. Null for a call outside any campaign.

    • scheduled_atstring (date-time)nullable

      When the call's next attempt is due (ISO 8601): the requested start for a new call, then the time of the next retry. Null when no time is set, e.g. for a campaign call not launched yet.

      Example "2026-11-09T08:30:00Z"

    • created_atstring (date-time)

      When the call was created.

      Example "2026-11-06T16:12:45Z"

    • updated_atstring (date-time)

      When the call last changed: a status change, a new attempt or an analysis result. POST /call/search sorts on it by default.

      Example "2026-11-09T08:32:20Z"

    • metadataobject<string, string>nullable

      Your own key/value pairs stored with the call (e.g. your CRM ID), as sent in POST /call. On an inbound callback (callback_from set), the metadata of the outbound call it answers, copied over whichever assistant answers; null on other inbound calls. The query and variables filters of POST /call/search match them.

      Keys: A key of your choice.

    • prompt_variablesobject<string, string>nullable

      The values of the assistant's {{variables}} for this call, keyed by variable name.

      Keys: Variable name, as written between the braces: name for {{name}}.

    • transfer_destinationsarray of objectnullable

      Where this call can be transferred, if anywhere.

    • contactobject

      Who the prospect is, read from the call's prompt variables and, after the call, from the transcript.

    • first_sentence_delay_msinteger

      Delay in milliseconds before speaking the first sentence. Default: 400.

    • outcomeenum (4 values)optionalnullable

      How the call went for your business, set after the conversation. Null until computed, and when nobody talked.

      "not_interested"

      The person declined, refused or showed no interest.

      "interested"

      The person engaged and is a lead to follow up: the strongest outcome the AI assigns.

      "completed"

      A person from your team talked to the prospect: they joined the call, the call was transferred to them, or they set this outcome by hand. Never assigned by the AI.

      "requested_callback_later"

      The person asked to be called back later. When they gave a time and attempts are left, the call is scheduled again for that time.

    • outcome_summarystringoptionalnullable

      Why the call got its outcome, in a few sentences written from the transcript. Null when there is no outcome.

      Example "Marie confirmed her appointment on Thursday at 10:00 and asked for the address by text message."

    • do_not_callbooleanoptional

      True when the prospect's phone number is on the do-not-call list: it can no longer be called.

    • assigneeobjectnullable

      The team member assigned to follow up on this call. Null when unassigned.

Errors

  • 403The resource belongs to another organization{ "error": string }
  • 404Not found in your organization{ "error": string }

Error bodies carry an error (or message) string; a 400 adds bodyErrors.issues. See Errors.