Cancel a warm transfer
Authentication
Path parameters
The transferred call’s id. Must be a UUID (400 Invalid call ID otherwise).
Response
Transfer canceled and the AI is back on the line. Note this body has no data wrapper.
Always true.
The transferred call’s id. Must be a UUID (400 Invalid call ID otherwise).
Transfer canceled and the AI is back on the line. Note this body has no data wrapper.
Always true.
Hangs up the human leg and returns the caller to the AI: a fresh voice-provider conversation is registered on the caller’s leg with the call’s agent, and the transfer fields are cleared.
Side effects. Ends the human’s carrier leg, starts a new AI conversation on the same call row (the row now points at the new conversation, whose post-call data replaces the old one), and writes an audit entry.
The AI can only be resumed when the call’s agent still exists, is provisioned and is not paused. Those refusals currently surface as 502 (not 409): they are raised after the human leg has already been hung up and are wrapped as a telephony error, so on a 502 the caller may be left in the conference alone. Check the agent’s state before canceling.
Idempotency. Not safe to repeat blindly: after a success the transfer fields are cleared and a repeat returns 400 No active transfer to cancel; after a 502 the human leg may already be gone.
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.