Skip to navigation

Accept a transfer offer

The first accept wins; accept before acceptUntil. Without a body the reply carries a single-use WebSocket joinUrl for the call’s audio; with {"sdpOffer": "<SDP>"} the call joins over WebRTC and the reply carries the SDP answer and ICE servers. Join within 10 seconds (20 for WebRTC) or the offer counts as unanswered. Requires an API key with the transfer_offers:write scope; repeating the accept with the same key returns a new join.

Authentication

AuthorizationBearer

Pass a JWT access token or an API key (prefixed with tif_live_) as a Bearer token.

Path parameters

offerIdstringRequiredformat: "uuid"
Offer ID

Request

Optional; omit for a WebSocket join

clientIdstring or nullOptional

Identifier of the accepting client (at most 64 characters)

sdpOfferstring or nullOptional

WebRTC SDP offer; present = join over WebRTC, absent = WebSocket join

Response

Accepted; how to join the call

TransferOfferJoinobject

WebSocket join: a single-use URL for the call's audio.

OR
TransferOfferWebRtcAnswerobject

WebRTC join: the SDP answer plus the ICE servers to keep using (short-lived TURN credentials).

Errors

401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error