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 mostmax_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
session.stats and closes with 1000.
Server events
session.created
decision
frame.dropped
error
session.stats
Sent after yoursession.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.