Skip to content

VoiceCallService

Chatto exposes this service below /api/connect.

Shared message and enum definitions are documented in Shared Types And Enums.

Voice-call request/response APIs backed by Chatto call-state projections.

Lists member channel rooms that currently have active calls as a finite runtime snapshot. Rooms the caller is not a member of are omitted.

Returns an empty list when LiveKit is not configured.

POST /api/connect/chatto.api.v1.VoiceCallService/ListActiveCalls

Request for active channel call snapshots.

Finite runtime snapshot of active channel calls.

FieldTypeDescription
callsrepeated ActiveCallActive calls in room order returned by the call-state projection.

Gets the current active call snapshot for one room.

The caller must be a member of the room. Returns NOT_FOUND when the room does not exist, currently has no active call, or voice calls are not configured. The returned call_id lets clients ignore stale realtime call events from previous calls in the same room.

POST /api/connect/chatto.api.v1.VoiceCallService/GetActiveCall

Request for one room’s active call snapshot.

FieldTypeDescription
room_idstringRequired. Room whose active call should be inspected.

Response for one room’s active call snapshot.

FieldTypeDescription
callActiveCallCurrent active call.

Gets current active call snapshots for many rooms.

Rooms that do not exist, are inaccessible, or currently have no active call are omitted. Results preserve first-seen request order and repeated room IDs are de-duplicated. Returns an empty list when LiveKit is not configured.

POST /api/connect/chatto.api.v1.VoiceCallService/BatchGetActiveCalls

Request active call snapshots for many rooms.

FieldTypeDescription
room_idsrepeated stringRequired room IDs. Unknown, inaccessible, and inactive rooms are omitted.

Active call batch response.

FieldTypeDescription
callsrepeated ActiveCallActive calls in first-seen request order.

Lists participants currently observed in a room’s active call as a finite runtime snapshot.

The caller must be a member of the room. Returns NOT_FOUND when the room does not exist and PERMISSION_DENIED when the caller is not a room member.

POST /api/connect/chatto.api.v1.VoiceCallService/ListCallParticipants

Request for participants in a room call.

FieldTypeDescription
room_idstringRequired. Room whose active call should be inspected.

Finite runtime snapshot of participants in one room call.

FieldTypeDescription
participantsrepeated CallParticipantParticipants currently projected for the room call.

Records the caller’s intent to join a room call.

Returns joined=false when LiveKit is not configured.

POST /api/connect/chatto.api.v1.VoiceCallService/JoinCall

Request to record joining a room call.

FieldTypeDescription
room_idstringRequired. Room whose call is being joined.

Response from recording a join intent.

FieldTypeDescription
joinedboolTrue when a join fact was recorded.

Issues a LiveKit token for joining the room’s active call.

The caller must be a member of the room and a call must already be active. Returns NOT_FOUND when the room does not exist, PERMISSION_DENIED when the caller is not a room member, and FAILED_PRECONDITION when no call is active or voice and video calls are not configured.

POST /api/connect/chatto.api.v1.VoiceCallService/GetCallToken

Request for a LiveKit token for a room call.

FieldTypeDescription
room_idstringRequired. Room whose active call should be joined.

LiveKit token details for joining a room call.

FieldTypeDescription
tokenstringLiveKit JWT token.
e2ee_keystringShared E2EE key for this active call.
call_idstringActive call session ID.

Records the caller’s intent to leave a room call.

Returns left=false when LiveKit is not configured.

POST /api/connect/chatto.api.v1.VoiceCallService/LeaveCall

Request to record leaving a room call.

FieldTypeDescription
room_idstringRequired. Room whose call is being left.

Response from recording a leave intent.

FieldTypeDescription
leftboolTrue when a leave fact was recorded.