Realtime Contract

Streaming and event behavior

OpenAPI and Scalar document REST endpoints. Realtime behavior is documented as an SDK contract because chat, AI, calls, presence, and live reports are long-running streams rather than single JSON responses.

Chat events

New messages, typing, read receipts, assignment changes, conversation updates, and close events.

chat.message.created
chat.typing.started
conversation.updated

AI streaming events

Streaming AI deltas, completed answer events, failure events, and human handoff decisions.

ai.message.delta
ai.message.completed
ai.handoff.requested

Call lifecycle events

Incoming call, ringing, answered, muted, camera changed, ended, failed, and recovery states.

call.ringing
call.answered
call.ended

Presence and reports

Agent availability, queue state, live dashboard counters, service health, and operational updates.

agent.presence.updated
queue.updated
report.summary.updated

SDK-facing shape

Each platform exposes the same product behavior with idiomatic language primitives.

Web / React Native: callbacks and subscriptions
Flutter: Stream
Kotlin: Flow
Swift: AsyncSequence

REST-facing shape

Endpoint fields, auth schemes, status codes, and request/response schemas remain in Scalar.

Open Scalar API Reference

Implementation rule

SDK users should not handle internal transport concepts directly. Public SDKs expose product objects such as chat, AI, calls, devices, notifications, reports, and diagnostics.

Turn Your Website Into a Real-Time Call Center

Let customers call your team directly from your website, no phone numbers and no apps required. Just add one <script>.