Bi-directional signaling channel. The client publishes `SignalRequest`
envelopes; the server publishes `SignalResponse` envelopes. Each envelope
is a `oneof` carrying exactly one of the signal variants defined in
`livekit_rtc.proto`.
Update audio feature flags (DTX, RED, stereo, etc.) on a published audio track.
Content-Type: application/x-protobuf
update_video_track
Update dimensions for a published video track.
Content-Type: application/x-protobuf
publish_data_track_request
Publish a new data track.
Content-Type: application/x-protobuf
unpublish_data_track_request
Remove a previously published data track.
Content-Type: application/x-protobuf
update_data_subscription
Subscribe or unsubscribe from data tracks.
Content-Type: application/x-protobuf
join
Server confirms the client has joined the room.
Content-Type: application/x-protobuf
update
Notification of remote participants joining, leaving, or changing.
Content-Type: application/x-protobuf
track_published
Confirms a track publication and returns the assigned track info.
Content-Type: application/x-protobuf
speakers_changed
Delta list of active speakers.
Content-Type: application/x-protobuf
room_update
Room metadata change.
Content-Type: application/x-protobuf
connection_quality
Connection quality updates for one or more participants.
Content-Type: application/x-protobuf
stream_state_update
Track-level stream state (active or paused) updates.
Content-Type: application/x-protobuf
subscribed_quality_update
Updates the set of enabled video qualities for a subscribed track.
Content-Type: application/x-protobuf
subscription_permission_update
Notification that a participant's subscription permission to a track has changed.
Content-Type: application/x-protobuf
refresh_token
Server-issued replacement access token before the current token expires.
Content-Type: application/x-protobuf
track_unpublished
A previously published track has been unpublished.
Content-Type: application/x-protobuf
pong
Legacy server pong (int64 timestamp, deprecated by pong_resp).
Content-Type: application/x-protobuf
reconnect
Sent during a successful WebSocket resume with updated ICE servers and config.
Content-Type: application/x-protobuf
pong_resp
Server response to client `Ping` (current).
Content-Type: application/x-protobuf
subscription_response
Result of a subscription operation (success or error).
Content-Type: application/x-protobuf
request_response
Server response to a request identified by `request_id` (mute, add_track, etc.).
Content-Type: application/x-protobuf
track_subscribed
Notification that a subscribed track is now ready for media.
Content-Type: application/x-protobuf
room_moved
The participant has been migrated to a different room/server.
Content-Type: application/x-protobuf
media_sections_requirement
Required number of audio and video media sections for the publisher.
Content-Type: application/x-protobuf
subscribed_audio_codec_update
Updates the audio codec subscription preferences for a track.
Content-Type: application/x-protobuf
publish_data_track_response
Server response after publishing a data track.
Content-Type: application/x-protobuf
unpublish_data_track_response
Server response after unpublishing a data track.
Content-Type: application/x-protobuf
data_track_subscriber_handles
Mapping from incoming packet handles to subscribed data track SIDs.
Content-Type: application/x-protobuf
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.