Skip to content
Cloud
Docs

Sandbox API reference

Project-scoped durable environments and isolated compute sessions.

Published contracts: @socra/sandbox-api@0.0.4.

Base URL

https://sandbox.socra.cloud

Sandboxes

A durable project-scoped environment with replaceable isolated Sessions.

Create sandbox

POST/v1/sandboxes

Request body

project_idcustomrequired
imagestringrequired
min length: 1
commandstring[]optional
min items: 1
persistentbooleanoptional
default: true
timeout_secondsintegeroptional
default: 3600 · min: 60 · max: 86400
storage_size_gibintegeroptional
default: 20 · min: 1 · max: 16384
startbooleanoptional
default: true

Response

13 fields

idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired

List sandboxes

GET/v1/sandboxes

Query parameters

limitintegeroptional
min: 1 · max: 100
afterstringoptional
project_idcustomrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"optional

Response

2 fields

dataobject[]required
idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired
has_morebooleanrequired

Get sandbox

GET/v1/sandboxes/{id}

Path parameters

idcustomrequired

Query parameters

No query parameters

Response

13 fields

idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired

Update sandbox

PATCH/v1/sandboxes/{id}

Path parameters

idcustomrequired

Request body

timeout_secondsintegeroptional
min: 60 · max: 86400
imagestringoptional
min length: 1

Response

13 fields

idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired

Start sandbox

POST/v1/sandboxes/{id}/start

Path parameters

idcustomrequired

Request body

No request body

Response

13 fields

idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired

Stop sandbox

POST/v1/sandboxes/{id}/stop

Path parameters

idcustomrequired

Request body

No request body

Response

13 fields

idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired

Restart sandbox

POST/v1/sandboxes/{id}/restart

Path parameters

idcustomrequired

Request body

No request body

Response

13 fields

idcustomrequired
project_idcustomrequired
imagestringrequired
commandstring[] | nullrequired
persistentbooleanrequired
timeout_secondsintegerrequired
min: 60 · max: 86400
storage_size_gibinteger | nullrequired
status"starting" | "running" | "stopping" | "stopped" | "failed"required
active_session_idcustom | nullrequired
latest_snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired

Execute command in sandbox

POST/v1/sandboxes/{id}/exec

Path parameters

idcustomrequired

Request body

commandstring[]required
min items: 1

Response

5 fields

session_idcustomrequired
resumedbooleanrequired
exit_codeintegerrequired
min: -9007199254740991 · max: 9007199254740991
stdoutstringrequired
stderrstringrequired

Delete sandbox

DELETE/v1/sandboxes/{id}

Path parameters

idcustomrequired

Query parameters

No query parameters

Response

No response body

Sessions

One observable Kata microVM incarnation of a Sandbox.

Create session

POST/v1/sessions

Request body

sandbox_idcustomrequired

Response

14 fields

idcustomrequired
sandbox_idcustomrequired
project_idcustomrequired
numberintegerrequired
greater than: 0 · max: 9007199254740991
status"starting" | "running" | "stopping" | "stopped" | "failed"required
timeout_secondsintegerrequired
min: 60 · max: 86400
expires_atcustomrequired
stop_reason"requested" | "timeout" | "restart" | "failure" | "replaced" | nullrequired
snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired
started_atcustom | nullrequired
stopped_atcustom | nullrequired

List sessions

GET/v1/sessions

Query parameters

limitintegeroptional
min: 1 · max: 100
afterstringoptional
project_idcustomrequired
sandbox_idcustomoptional
status"starting" | "running" | "stopping" | "stopped" | "failed"optional

Response

2 fields

dataobject[]required
idcustomrequired
sandbox_idcustomrequired
project_idcustomrequired
numberintegerrequired
greater than: 0 · max: 9007199254740991
status"starting" | "running" | "stopping" | "stopped" | "failed"required
timeout_secondsintegerrequired
min: 60 · max: 86400
expires_atcustomrequired
stop_reason"requested" | "timeout" | "restart" | "failure" | "replaced" | nullrequired
snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired
started_atcustom | nullrequired
stopped_atcustom | nullrequired
has_morebooleanrequired

Get session

GET/v1/sessions/{id}

Path parameters

idcustomrequired

Query parameters

No query parameters

Response

14 fields

idcustomrequired
sandbox_idcustomrequired
project_idcustomrequired
numberintegerrequired
greater than: 0 · max: 9007199254740991
status"starting" | "running" | "stopping" | "stopped" | "failed"required
timeout_secondsintegerrequired
min: 60 · max: 86400
expires_atcustomrequired
stop_reason"requested" | "timeout" | "restart" | "failure" | "replaced" | nullrequired
snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired
started_atcustom | nullrequired
stopped_atcustom | nullrequired

Update session timeout

PATCH/v1/sessions/{id}

Path parameters

idcustomrequired

Request body

timeout_secondsintegerrequired
min: 60 · max: 86400

Response

14 fields

idcustomrequired
sandbox_idcustomrequired
project_idcustomrequired
numberintegerrequired
greater than: 0 · max: 9007199254740991
status"starting" | "running" | "stopping" | "stopped" | "failed"required
timeout_secondsintegerrequired
min: 60 · max: 86400
expires_atcustomrequired
stop_reason"requested" | "timeout" | "restart" | "failure" | "replaced" | nullrequired
snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired
started_atcustom | nullrequired
stopped_atcustom | nullrequired

Stop session

POST/v1/sessions/{id}/stop

Path parameters

idcustomrequired

Request body

No request body

Response

14 fields

idcustomrequired
sandbox_idcustomrequired
project_idcustomrequired
numberintegerrequired
greater than: 0 · max: 9007199254740991
status"starting" | "running" | "stopping" | "stopped" | "failed"required
timeout_secondsintegerrequired
min: 60 · max: 86400
expires_atcustomrequired
stop_reason"requested" | "timeout" | "restart" | "failure" | "replaced" | nullrequired
snapshot_idcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
updated_atcustomrequired
started_atcustom | nullrequired
stopped_atcustom | nullrequired

Execute command in session

POST/v1/sessions/{id}/exec

Path parameters

idcustomrequired

Request body

commandstring[]required
min items: 1

Response

5 fields

session_idcustomrequired
resumedbooleanrequired
exit_codeintegerrequired
min: -9007199254740991 · max: 9007199254740991
stdoutstringrequired
stderrstringrequired

Snapshots

An immutable checkpoint of a persistent Sandbox home.

Create snapshot

POST/v1/snapshots

Request body

sandbox_idcustomrequired

Response

9 fields

idcustomrequired
sandbox_idcustomrequired
session_idcustom | nullrequired
project_idcustomrequired
status"creating" | "ready" | "failed"required
volume_snapshot_namestringrequired
ready_atcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired

List snapshots

GET/v1/snapshots

Query parameters

limitintegeroptional
min: 1 · max: 100
afterstringoptional
project_idcustomrequired
sandbox_idcustomoptional
status"creating" | "ready" | "failed"optional

Response

2 fields

dataobject[]required
idcustomrequired
sandbox_idcustomrequired
session_idcustom | nullrequired
project_idcustomrequired
status"creating" | "ready" | "failed"required
volume_snapshot_namestringrequired
ready_atcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired
has_morebooleanrequired

Get snapshot

GET/v1/snapshots/{id}

Path parameters

idcustomrequired

Query parameters

No query parameters

Response

9 fields

idcustomrequired
sandbox_idcustomrequired
session_idcustom | nullrequired
project_idcustomrequired
status"creating" | "ready" | "failed"required
volume_snapshot_namestringrequired
ready_atcustom | nullrequired
errorstring | nullrequired
created_atcustomrequired

Delete snapshot

DELETE/v1/snapshots/{id}

Path parameters

idcustomrequired

Query parameters

No query parameters

Response

No response body