Skip to content
OpenRelay is in early access, and the /v1 API is stable. New capabilities ship in the changelog.
Skip to Content
API ReferenceComputeSandboxes

List active sandboxes or history

List active sandboxes by default, including paused sandboxes. Select history to see non-ephemeral sandboxes that ended in the last 24 hours. Active sandboxes are ordered newest first. Set state=exited for history, ordered by end time. Pages query the selected view before pagination. A record can lag a running sandbox by a few seconds; getSandbox answers from the host.

Required permission

Requires the sandboxes.read permission. See Permissions for the roles and API key permissions that include it.

Command line

The orl CLI wraps this endpoint:

Guided workflow: orl sandbox list

orl sandbox list
GET
/v1/sandboxes

Authorization

apiKey
headerAuthorizationBearer <token>

OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).

Query Parameters

limit?integer
Range1 <= value <= 200
Default50
cursor?string
state?string

running (the default) selects active sandboxes, including paused ones; exited selects the last 24 hours of non-ephemeral history. Cursors belong to their selected view.

Value in"running""exited"

Response Body

Page of sandboxes

application/json
  1. response
data*array<>
nextCursor?string

Opaque; pass back to continue. Absent means no more pages.

Example Request
curl -X GET 'https://api.openrelay.inc/v1/sandboxes'
Example Response
{  "data": [    {      "id": "string",      "template": "string",      "state": "running",      "createdAt": "2019-08-24T14:15:22Z",      "expiresAt": "2019-08-24T14:15:22Z",      "endedAt": "2019-08-24T14:15:22Z",      "exitReason": "killed",      "groupId": "string",      "metadata": {        "property1": "string",        "property2": "string"      },      "ephemeral": true,      "result": {        "execId": "string",        "exitCode": 0,        "stdout": "string",        "stderr": "string",        "truncated": true,        "error": {          "error": "string",          "code": "string",          "permission": "string",          "deniedBy": "string",          "policies": [            "string"          ],          "requestId": "string"        }      }    }  ],  "nextCursor": "string"}