Live runtime probe for the sandbox bound to a session. Unlike GET /api/sandbox/status (DB-only read), this endpoint actually runs a quick command inside the sandbox to verify it is reachable. Used by the chat UI on session re-entry / tab refocus to decide whether to flip out of “loading sandbox…” or surface a “resume” affordance. Returns one of three operational outcomes via the status field: "connected" (sandbox is alive, included expiresAt reflects current expiry), "expired" (the runtime state is gone — the UI should offer to resume from snapshot if hasSnapshot is true, otherwise create a fresh sandbox), or "no_sandbox" (no sandbox has been provisioned for this session yet).
Documentation Index
Fetch the complete documentation index at: https://developers.recoupable.com/llms.txt
Use this file to discover all available pages before exploring further.
The id of the session whose sandbox to reconnect to.
Reconnect probe completed. Inspect status for the outcome.
connected when the live runtime probe succeeded; expired when the recorded runtime state is no longer reachable (the UI should offer resume-from-snapshot or fresh-create); no_sandbox when the session has never had a sandbox provisioned.
connected, expired, no_sandbox True when a paused/snapshotted sandbox exists and can be resumed. Used by the UI to decide whether to show "resume" vs "create" affordances on expired / no_sandbox.
Lifecycle envelope shared between GET /api/sandbox/status and GET /api/sandbox/reconnect. Server-clock-stamped snapshot of the sandbox's lifecycle FSM state and the timestamps the UI uses to render countdown timers.
Epoch milliseconds when the sandbox runtime will expire. Present only when status is "connected"; reflects the freshly-probed expiry, which may differ from lifecycle.sandboxExpiresAt if the sandbox extended itself between writes.