Skip to main content

Room Events

Room lifecycle events published to the room-events Kafka topic using a CloudEvents-inspired envelope.

Source: Room Service

Envelope

All room events are wrapped in a common envelope:

FieldTypeRequiredDescription
idstring (uuid)YesUnique event identifier.
typestringYesEvent type (e.g. room.created).
sourcestringYesOriginating service.
tenant_idstring (uuid)NoTenant identifier.
room_idstring (uuid)NoRoom identifier.
occurred_atstring (date-time)YesISO-8601 timestamp.
dataobjectNoEvent-specific payload.

Events

room.created

Emitted when a new room is created.

FieldTypeDescription
room.idstring (uuid)Room identifier.
room.namestringRoom display name.
room.slugstringURL-safe slug.
room.max_participantsintegerMaximum allowed participants.
created_bystring (uuid)User who created the room.

room.closed

Emitted when a room is closed.

FieldTypeDescription
reasonstringReason for closure.

room.session.ended

Emitted when a participant's session in a room ends.

FieldTypeRequiredDescription
session_idstring (uuid)YesSession identifier.
user_idstring (uuid)YesParticipant user ID.
joined_atstring (date-time)NoWhen the user joined.
left_atstring (date-time)NoWhen the user left.
duration_sintegerYesSession duration in seconds.
leave_reasonstringNoReason for leaving.
platformstringNoClient platform (e.g. web, ios, android).
used_turn_relaybooleanNoWhether TURN relay was used.

recording.started

FieldTypeDescription
recording_idstring (uuid)Recording identifier.

recording.completed

FieldTypeRequiredDescription
recording_idstring (uuid)YesRecording identifier.
duration_sintegerYesRecording duration in seconds.
size_bytesintegerYesRecording file size.