VocalDocscontracts 1.65.0

Read one transfer of a Call with its context note

GET /v1/calls/{call_id}/transfers/{transfer_id}

PropertyValue
Operationget_call_transfer
GroupCalls
Scopetranscripts:read
Route classread
IdempotencyNo Idempotency-Key
AuditAn audited content read call.transfer.read
Released in1.50.0
Phase 0 hostServed (the hosted api pins 1.65.0)

Answers one transfer attempt of a finalized Call (1.50.0, FR-telephony-6): its destination key, source, outcome and instants, and the context note the Agent wrote before the REFER. The note is content, redacted like the transcript's final text, so the route needs transcripts:read and every read is an audited content read. The transfer_id is the one the Call events of the transfer family carry; a transfer of a Call that is not finalized yet answers not_found.

Request

Set VOCAL_API to the base URL of your API and VOCAL_API_KEY to an API key with the transcripts:read scope (Authentication and keys). Replace each placeholder, such as agt_... or <name>, with your own value.

curl "$VOCAL_API/v1/calls/call_.../transfers/xfr_..." \
  -H "Authorization: Bearer $VOCAL_API_KEY"

Parameters

NameInTypeRequiredDescription
call_idpathCallIdyesThe id of a Call: call_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.
transfer_idpathTransferIdyesThe id of one transfer attempt of a Call: xfr_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.

Responses

StatusContent typeShapeError codes
200application/jsonCallTransfer
400application/jsonErrorEnvelopeinvalid_request
401application/jsonErrorEnvelopeunauthenticated
403application/jsonErrorEnvelopeforbidden
404application/jsonErrorEnvelopenot_found
429application/jsonErrorEnveloperate_limited
500application/jsonErrorEnvelopeinternal_error

Fields of the 200 answer

The shape is CallTransfer.

FieldTypeRequiredDescription
call_idCallIdyes
command_idControlCommandId or nullyesThe control command, for source control.
context_notestring or nullyesWhy the caller was transferred and what was established, written by the Agent before the REFER (FR-telephony-6); null unless context_note_status is written. Content: redacted like the transcript's final text, encrypted at rest, and read only with transcripts:read as an audited content read.
context_note_statusContextNoteStatusyes
destinationTransferDestinationKeyyes
ended_atTimestampyesWhen the outcome was known.
failure_codeTransferFailureCode or nullyesOn a failure, why; null otherwise.
modeTransferModeyes
object"call_transfer"yes
outcomeTransferOutcome or nullyesHow the attempt ended; null on transfer.started.
policy_idPolicyId or nullyesThe Policy, for source policy.
policy_versioninteger or nullyesThe Policy version that fired, for source policy.
refer_sent_atTimestamp or nullyesWhen the REFER was sent; null on a refusal.
refusal_reasonTransferRefusalReason or nullyesOn a refusal, why; null otherwise.
requested_atTimestampyes
sip_statusinteger or nullyesThe final SIP status of the REFER when one came; null otherwise.
sourceTransferSourceyes
transfer_idTransferIdyes
turn_seqinteger or nullyesThe seq of the Turn the request came in; null outside every Turn.