Complete a warm transfer
Authentication
Path parameters
The transferred call’s id. Must be a UUID (400 Invalid call ID otherwise).
Response
Transfer completed. Note this body has no data wrapper.
Always true.
The transferred call’s id. Must be a UUID (400 Invalid call ID otherwise).
Transfer completed. Note this body has no data wrapper.
Always true.
Makes the handoff final: the caller stays in the conference with the human. No carrier leg is touched (the AI already left the line when the transfer started) and the call row is closed by the carrier when the caller eventually hangs up.
Requires a transfer started with POST /api/calls/{callId}/transfer; otherwise 400.
Side effects. Sets the call’s outcome to escalated_to_human unless post-call analysis already wrote one, and sends a call.escalated trigger to Zapier subscribers. The transfer fields are kept. Writes an audit entry.
Idempotency. Safe to retry: repeating it re-applies the same outcome (never overwriting an existing one).
Access
full. Signed-in users need the admin or owner role.Workspace API key: jl_ followed by 64 lowercase hex characters, created by the workspace owner in the
dashboard (Settings → API Keys) and sent as Authorization: Bearer jl_.... The plaintext is shown once,
at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys.
Operations restricted to admins or owners reject keys without the full scope with 403, and say so in
their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret —
that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds.
See Authentication.