Skip to main content
List workspace sandboxes

Authorizations

Authorization
string
header
required

BoxRouter API key; never an upstream provider key.

Query Parameters

cursor
string

Opaque cursor from the preceding page; scoped to the original workspace and query.

Required string length: 1 - 128
Pattern: ^[^\u0000]*$
limit
integer
default:20

Maximum number of records to return.

Required range: 1 <= x <= 100
lifecycle
enum<string>
default:all

Include live records, ended records, or both. Defaults to all.

Available options:
live,
ended,
all
state
enum<string>[]

Portable lifecycle state; repeat to select multiple states (OR).

Available options:
creating,
running,
paused,
destroying,
destroyed,
error,
unknown
provider
string[]

Provider ID; repeat to select multiple providers (OR).

Minimum string length: 1
billed_by
enum<string>

Filter by upstream billing mode. byok alone includes all connected accounts.

Available options:
byok,
managed
account_id
string

Connected account ID; by itself implies billed_by=byok. Invalid with billed_by=managed.

Minimum string length: 1
source
enum<string>

Filter by what created the sandbox: github_actions (a BoxRouter Actions job), agents (an agent launch) or api (neither).

Available options:
github_actions,
agents,
api
actions_run_id
string

Only sandboxes from this BoxRouter Actions run, as in origin.run_id.

Required string length: 1 - 128
Pattern: ^[^\u0000]*$
launch_id
string

Only the sandbox from this agent launch, as in origin.launch_id.

Required string length: 1 - 128
Pattern: ^[^\u0000]*$
label
string[]

A label the sandbox must carry: key=value matches that exact value (the value may be empty), and a bare key matches any value. Repeat for labels that must all match.

Pattern: ^[^=]+(=.*)?$
created_after
string<date-time>

Include sandboxes created at or after this RFC 3339 instant.

created_before
string<date-time>

Include sandboxes created before this RFC 3339 instant.

q
string

Match BoxRouter ID prefix, labels.name substring (case-insensitive), or exact provider native ID.

Required string length: 1 - 256
sort
enum<string>
default:newest

Sort by creation time or indexed lifetime deadline; newest is the default. For ending_soonest, records with known deadlines sort first by ascending deadline, with BoxRouter ID ascending as the tie-breaker. Records with a null deadline follow in ascending BoxRouter ID order. source groups records by what created them, github_actions first, then agents, then api, newest first within each group.

Available options:
newest,
oldest,
ending_soonest,
source

Response

A page of sandboxes belonging to this workspace. A sandbox with no recorded contract, such as one a provider-native route created, carries null contract.

data
object[]
required
next_cursor
string | null
required
counts
object
required

Counts across all pages matching the other query filters. live and ended ignore lifecycle; by_state also ignores the state filter. Values are workspace scoped.