REST API

The public Developer API is rooted at /v1 and uses an Environment-bound API key. The table below is the public subset asserted by the Control Plane route tests; it is not an OpenAPI specification or a claim that every internal route is public.

Resource Methods and paths
Tasks GET /v1/tasks, GET /v1/tasks/{id}, POST /v1/tasks/{declaredID}/start
Actors GET /v1/actors, GET /v1/actors/{id}, POST /v1/actors/{declaredID}/start
Sessions GET /v1/sessions, GET /v1/sessions/{id}, POST .../inputs, GET .../outputs, POST .../close
Sandboxes GET /v1/sandboxes, GET /v1/sandboxes/{id}, POST .../{id}/workspaces
Workspaces GET /v1/workspaces, GET/DELETE /v1/workspaces/{id}, GET .../files, GET .../files/content, GET .../files/stat, POST .../exec
Runs GET /v1/runs, GET /v1/runs/{id}, GET .../events, GET .../logs, POST .../cancel
Deployments GET/POST /v1/deployments, GET /v1/deployments/current, GET /v1/deployments/{id}, GET .../events, POST .../promote
Schedules GET /v1/schedules, GET /v1/schedules/{id}
Secrets GET/POST /v1/secrets, GET /v1/secrets/{id}, POST .../rotate, POST .../revoke
Tokens GET/POST /v1/tokens, GET /v1/tokens/{id}, POST .../complete, POST .../cancel

JSON wire fields use snake case. Collection envelopes use the plural resource name and optionally next_cursor; item routes return the resource object. Workspace file content is a JSON object whose data_base64 field contains the file bytes. The SDK and the CLI’s default output decode that value. Run logs and events are finite JSON pages.

Console/session management, public callback, worker, capacity, and Admin APIs use other prefixes and are not aliases for the /v1 Developer API.