WebRTC

Last updated April 16, 2026

WebRTC peer connection establishment

# GET /legs/{id}/ice-candidates

Get server-side ICE candidates for a WebRTC leg (trickle ICE)

Parameters

NameInTypeDescription
idpathstringrequiredLeg ID

Responses

200 Buffered ICE candidates
FieldTypeDescription
instance_idstringoptionalInstance identifier
statusstringrequired
400 Leg is not a WebRTC leg
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message
404 Leg not found
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message
# POST /legs/{id}/ice-candidates

Send a remote ICE candidate to a WebRTC leg (trickle ICE)

Parameters

NameInTypeDescription
idpathstringrequiredLeg ID

Responses

200 Candidate added
FieldTypeDescription
instance_idstringoptionalInstance identifier
statusstringrequired
400 Invalid JSON or leg is not a WebRTC leg
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message
404 Leg not found
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message
500 Failed to add ICE candidate
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message
# POST /webrtc/offer

Establish a WebRTC leg via SDP offer/answer

Request Body

FieldTypeDescription
sdpstringrequiredSDP offer from the browser

Responses

200 SDP answer with leg ID
FieldTypeDescription
instance_idstringoptionalInstance identifier
statusstringrequired
400 Invalid JSON or invalid SDP offer
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message
500 Peer connection, track creation, or answer generation failed
FieldTypeDescription
instance_idstringoptionalInstance identifier
errorstringrequiredError message