Terminal (PTY WebSocket)
Use the endpoint returned by the API, the required protocol and a current authorization. A connected socket is not an indefinite grant.
Upgrade and close behavior
Before a WebSocket is accepted, failures return the declared RFC 9457 HTTP problem (401, 403, 404, 409, 429 or 503) with CE-Request-Id and the RateLimit headers; a refusal before the request is forwarded also carries CE-Not-Forwarded and, for 429 and 503, Retry-After. After acceptance, close code 1000 means a normal exit or deletion by the session owner, 4008 idle, 4001 authorization ended (expiry or revocation; reconnect with fresh authority), 1008 a protocol violation and 4009 a human-in-control conflict. Malformed upgrade input is a 400 validation error.
Wire behavior
- Client → server (JSON text):
{"type":"input","data":"ls\r"},{"type":"resize","cols":120,"rows":40},{"type":"ping"}. - Server → client: binary frames = terminal output; JSON text =
{"type":"exit","exit_code":0},{"type":"pong"}. - Reconnect: the session survives a disconnect for 10 minutes. On reattach the server sends
{"type":"replay","bytes":N}, then up to 64 KB of scrollback as binary, then{"type":"live"}. - Ping every 20 s; an idle socket closes after 30 minutes (code 4008).
- PTY retention does not extend connection authorization; reattach after expiry requires fresh authorization.
Session authority
Session creation returns connection credentials; list responses contain metadata. Parent access-token/key deadlines and IP restrictions cap connection authority. A one-use connect token must be consumed within 60 seconds; authorization_expires_at, not that handshake deadline, bounds the open socket. The computer consumes the token once. Desktop session-secret exchanges are session-specific; CDP permits only its opaque session-secret query. None of those exchanges authorizes SSH.
Missing, deleted, expired or pruned sessions are 404. Expiry or revocation ends the socket, and recovery never revives old authority. A PTY may retain its process for reattachment, but reattachment after authorization expiry requires fresh authorization. See Access tokens.
Dory is in development; these pages describe the planned service and may change. Questions: support@computeengines.com.