Skip to content
Console

Open the realtime socket

GET
/api/v1/realtime/sessions/{session_id}/socket
curl --request GET \
--url https://api.inside.chat/api/v1/realtime/sessions/example/socket \
--header 'Origin: example' \
--header 'Upgrade: websocket'

Required scopes: website_read, event_read
Data access: –
MCP tool: not available over MCP
Note: WebSocket upgrade
Note: Origin required

Ticket-authenticated WebSocket upgrade. No query/bearer/cookie. First text frame is {type:auth,ticket} within 5s; auth.ok confirms authentication. Supports ping/pong and up to 20 owned thin pull readers. subscription.open {subscription_id,cursor} emits subscription.page with at most 25 coarse receipts; subscription.ack must match its next_cursor exactly within 30s of emission; subscription.close removes the reader. Reconnect replays from the last acknowledged cursor. Pauses/quota withhold pages and retry; retention gaps require reconciliation. Poll 15s, one pending page per reader,64KiB frames.

session_id
required
string
/^app_[a-f0-9]{64}_[a-f0-9]{32}$/
Origin
required
string
<= 2048 characters

Exact canonical HTTPS origin bound to this session. Local loopback HTTP is allowed only in the local environment. Browser REST CORS is restricted to configured UI origins.

Upgrade
required
string
Allowed value: websocket

WebSocket accepted; first-frame ticket authentication is still required.

Closed request body or parameters are invalid.

Original REST credential or current authority is invalid.

Origin rejected.

Session is absent or not owned by the same exact credential/grant and origin.

Installation session or pending socket capacity reached.

WebSocket upgrade required.

App/ingress quota exceeded; observe Retry-After.

Required service/authority/storage is unavailable.