Skip to main content
Answers one set of System One questions for every frame you send. Each decision carries the same answers and usage as POST /typesafe/v1/systemone. For samples, see Realtime System One. For the lifecycle, close codes, and models, see Realtime. The socket is not in the OpenAPI schema, because the schema does not describe WebSocket routes.

Connection

Client events

session.create

Opens the session and resolves the read plan. Every schema error surfaces here. An unknown field is refused.

Frame (binary message)

One frame: raw JPEG, PNG, WebP, or GIF bytes, with no base64 and no JSON wrapper, at most max_frame_bytes. A read fires every stride frames, over the newest window frames. A frame that fires a read gets one decision, frame.dropped, or error back.

state

Re-pins the state. It is not a read and gets no reply.

decide

One read with its own body, against the session’s questions. A decide is never dropped.

session.close

Reads in flight finish and return their events. The server then sends session.stats and closes with 1000.

Server events

session.created

decision

frame.dropped

error

session.stats

Sent after your session.close.

Errors

Reads in flight when the spend ceiling trips are still answered. The Gateway also closes with 1000 and reason idle after 30 seconds with no frame and no read outstanding, and with reason expired at expires_in. What to do after each close code is in Close codes. Session limits are in Rate Limits.