Sandbox
Advanced filtering and ordering. Eventually consistent.
AuthorizationBearer <token>API Key access
cursor?stringPagination cursor from a previous response
limit?integerNumber of results per page
1 <= value <= 200100id?stringFilter by ID prefix (case-insensitive)
name?stringFilter by name prefix (case-insensitive)
labels?stringJSON encoded labels to filter by
includeErroredDeleted?booleanInclude results with errored state and deleted desired state
falseincludeWarm?booleanInclude unclaimed warm pool sandboxes (excluded by default)
falsestates?array<>List of states to filter by.
snapshots?array<string>List of snapshot names to filter by
regionIds?array<string>List of regions IDs to filter by
sandboxClasses?array<>List of sandbox classes to filter by
minCpu?numberMinimum CPU
1 <= valuemaxCpu?numberMaximum CPU
1 <= valueminMemoryGiB?numberMinimum memory in GiB
1 <= valuemaxMemoryGiB?numberMaximum memory in GiB
1 <= valueminDiskGiB?numberMinimum disk space in GiB
1 <= valuemaxDiskGiB?numberMaximum disk space in GiB
1 <= valueminGpu?numberMinimum GPU
0 <= valuemaxGpu?numberMaximum GPU
0 <= valueisPublic?booleanFilter by public status
isRecoverable?booleanFilter by recoverable status
createdAtAfter?stringInclude items created after this timestamp
date-timecreatedAtBefore?stringInclude items created before this timestamp
date-timelastEventAfter?stringInclude items with last event after this timestamp
date-timelastEventBefore?stringInclude items with last event before this timestamp
date-timeautoDestroyAtAfter?stringInclude items scheduled for auto destroy after this timestamp
date-timeautoDestroyAtBefore?stringInclude items scheduled for auto destroy before this timestamp
date-timesort?stringField to sort by
"name""cpu""memoryGib""diskGib""lastActivityAt""createdAt"order?stringDirection to sort by
"asc""desc"X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
items*array<>List of results for the current page
nextCursor*|Cursor for the next page of results
curl -X GET 'http://localhost:3000/sandbox'{ "nextCursor": "nextCursor", "items": [ { "memory": 4, "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "autoStopInterval": 30, "warmPoolId": "warmPoolId", "organizationId": "organization123", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "sandboxClass": "linux-vm", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "desiredState": "destroyed", "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "recoverable": true, "cpu": 2, "gpu": 0, "daemonVersion": "1.0.0", "target": "local", "labels": { "daytona.io/public": "true" }, "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5 }, { "memory": 4, "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "autoStopInterval": 30, "warmPoolId": "warmPoolId", "organizationId": "organization123", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "sandboxClass": "linux-vm", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "desiredState": "destroyed", "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "recoverable": true, "cpu": 2, "gpu": 0, "daemonVersion": "1.0.0", "target": "local", "labels": { "daytona.io/public": "true" }, "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5 } ]}AuthorizationBearer <token>API Key access
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
name?stringThe name of the sandbox. If not provided, the sandbox ID will be used as the name
snapshot?stringThe ID or name of the snapshot used for the sandbox
user?stringThe user associated with the project
env?Environment variables for the sandbox
labels?Labels for the sandbox
public?booleanWhether the sandbox http preview is publicly accessible
networkBlockAll?booleanWhether to block all network access for the sandbox
kvm?booleanExpose KVM (/dev/kvm) inside the sandbox via nested virtualization. linux-vm snapshots only. Requires the sandbox_kvm feature for the organization.
falsenetworkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL to route the sandbox HTTP(S) traffic through (http or https; credentials may be included in the URL). On its own this is convenience routing, not a security boundary: it is applied by injecting the standard HTTP(S)_PROXY environment variables at creation, so a process that clears those variables egresses directly. Combine with domainAllowList to have web-port (80/443) egress transparently redirected through the proxy chain at the network layer, which cannot be bypassed from inside the sandbox.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector (the Daytona-hosted collector or the region-configured endpoint) and will not be available in the Daytona analytics API or dashboard.
target?stringThe target (region) where the sandbox will be created
cpu?integerCPU cores allocated to the sandbox
gpu?integerGPU units allocated to the sandbox
gpuType?array<>Preferred GPU type for the sandbox. Accepts a single value or an ordered preference list — the scheduler tries each in order and pins the sandbox to the first that has capacity.
spot?booleanGPU-only. When true, the sandbox may be instantly terminated without notice to free GPU capacity for an on-demand (non-spot) GPU sandbox. Ignored / rejected when the sandbox requests no GPUs.
falsememory?integerMemory allocated to the sandbox in GB
disk?integerDisk space allocated to the sandbox in GB
autoStopInterval?integerAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?integerAuto-pause interval in minutes (0 means disabled). Only supported for sandbox classes that support pausing. Not allowed for ephemeral sandboxes. At most one of autoStopInterval and autoPauseInterval may be non-zero. For non-ephemeral sandbox classes that support pausing, defaults to 60 minutes (with auto-stop disabled) when neither interval is provided.
autoArchiveInterval?integerAuto-archive interval in minutes (0 means the maximum interval will be used)
autoDeleteInterval?integerAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
ttlMinutes?integerMaximum time to live in minutes, counted as wall-clock time since creation regardless of sandbox state (0 means disabled). When it elapses the sandbox is destroyed, even if it is stopped, paused, or archived. Subject to the maximum sandbox lifespan configured for the organization region and sandbox class, in which case it also defaults to that maximum and cannot be disabled.
queueTimeout?integerMinutes to wait for runner assignment before cancelling sandbox creation. Applies only while the sandbox is unassigned in pending_build or pulling_snapshot. Only honored when default queue timeout is enabled for the organization. Omit to use the organization default; null/omit with no organization default leaves the wait unlimited. Must be a positive integer.
volumes?array<>Array of volumes to attach to the sandbox
buildInfo?Build information for the sandbox
linkedSandbox?stringID or name of an existing sandbox to link the new sandbox to. The new sandbox will be scheduled on the same runner as the linked sandbox so a local network can be established between them. Linked sandboxes must be ephemeral (autoDeleteInterval=0) and cannot themselves be linked to another sandbox. GPU sandboxes cannot participate in links in either direction: a GPU sandbox cannot specify linkedSandbox, and cannot be the link target of another sandbox.
secrets?array<>Secrets to mount in this sandbox. Each entry maps an env var name to a vault secret name.
The sandbox has been successfully created.
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox' \ -H 'Content-Type: application/json' \ -d '{ "memory": 1, "buildInfo": "", "autoStopInterval": 30, "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "linkedSandbox": "sandbox123", "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "gpuType": [ "H100" ], "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "ttlMinutes": 1440, "env": { "NODE_ENV": "production" }, "gpu": 1, "secrets": [ { "ANTHROPIC_API_KEY": "anthropic-prod" }, { "DB_PASSWORD": "DB_PASSWORD" } ], "labels": { "daytona.io/public": "true" }, "target": "us", "disk": 3, "spot": false, "name": "MySandbox", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "ubuntu-4vcpu-8ram-100gb", "queueTimeout": 5}'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
states?stringComma-separated list of sandbox states to filter by
skipReconcilingSandboxes?booleanSkip sandboxes where state differs from desired state
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
List of sandboxes for the authenticated runner
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/sandbox/for-runner'[ { "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5 }]Sandboxes destroyed by spot preemption remain retrievable for 24 hours so spotEvictedAt can be read. Sandboxes destroyed by queue timeout remain retrievable for 24 hours so queueTimedOutAt can be read.
AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
verbose?booleanInclude verbose output
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox details
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X GET 'http://localhost:3000/sandbox/string'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox has been deleted
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X DELETE 'http://localhost:3000/sandbox/string'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
skipStart?booleanIf true, the sandbox is left in STOPPED after recovery instead of being started.
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Recovery initiated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/recover'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}Starts a stopped or archived sandbox, or resumes a paused sandbox. The transition taken depends on the current sandbox state.
AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox has been started, is being restored from archived state, or is being resumed from paused
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/start'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
force?booleanForce stop the sandbox using SIGKILL instead of SIGTERM
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox has been stopped
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/stop'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox pause has been initiated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/pause'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
cpu?integerCPU cores to allocate to the sandbox (minimum: 1)
1 <= valuememory?integerMemory in GB to allocate to the sandbox (minimum: 1)
1 <= valuedisk?integerDisk space in GB to allocate to the sandbox (can only be increased)
1 <= valueSandbox has been resized
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/resize' \ -H 'Content-Type: application/json' \ -d '{ "disk": 20, "memory": 4, "cpu": 2}'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
labels*Key-value pairs of labels
Labels have been successfully replaced
application/json- response
labels*Key-value pairs of labels
curl -X PUT 'http://localhost:3000/sandbox/string/labels' \ -H 'Content-Type: application/json' \ -d '{ "labels": { "environment": "dev", "team": "backend" }}'{ "labels": { "environment": "dev", "team": "backend" }}AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
state*stringThe new state for the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"errorReason?stringOptional error message when reporting an error state
recoverable?booleanWhether the sandbox is recoverable
Sandbox state has been successfully updated
curl -X PUT 'http://localhost:3000/sandbox/string/state' \ -H 'Content-Type: application/json' \ -d '{ "errorReason": "Failed to pull snapshot image", "recoverable": true, "state": "started"}'Create sandbox backup
DeprecatedDeprecated: backups are managed automatically. This endpoint is a no-op kept for compatibility.
AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox backup request acknowledged (no-op)
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/backup'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringX-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
name*stringName for the new snapshot
includeMemory?booleanInclude the VM's memory in the snapshot. VM sandboxes only. When true the sandbox must be STARTED; when false (default) VM sandboxes must be STOPPED. Container sandboxes do not support memory snapshots.
falseSnapshot creation has been initiated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/snapshot' \ -H 'Content-Type: application/json' \ -d '{ "includeMemory": false, "name": "my-dev-env-v1"}'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringX-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
name?stringThe name for the forked sandbox. If not provided, a unique name will be generated.
Fork operation has been initiated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/fork' \ -H 'Content-Type: application/json' \ -d '{ "name": "my-forked-sandbox"}'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringincludeDestroyed?booleanX-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/sandbox/string/forks'[ { "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5 }]AuthorizationBearer <token>API Key access
sandboxIdOrName*stringX-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X GET 'http://localhost:3000/sandbox/string/parent'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringX-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/sandbox/string/ancestors'[ { "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5 }]AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
isPublic*booleanPublic status to set
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Public status has been successfully updated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/public/true'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Signing key of the sandbox
response?stringapplication/jsoncurl -X GET 'http://localhost:3000/sandbox/string/signing-key'"string"AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
New signing key
response?stringapplication/jsoncurl -X POST 'http://localhost:3000/sandbox/string/signing-key/rotate'"string"AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
activityType?stringOptional type of interaction that reset the activity timer.
Last activity has been updated
curl -X POST 'http://localhost:3000/sandbox/string/last-activity' \ -H 'Content-Type: application/json' \ -d '{ "activityType": "toolbox"}'AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
interval*numberAuto-stop interval in minutes (0 to disable)
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Auto-stop interval has been set
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/autostop/0'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
interval*numberAuto-pause interval in minutes (0 to disable)
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Auto-pause interval has been set
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/autopause/0'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
ttlMinutes*numberMaximum time to live in minutes, re-anchored from the current time (0 to disable). When it elapses the sandbox is destroyed, even if it is stopped, paused, or archived
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
TTL has been set
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/ttl/0'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
interval*numberAuto-archive interval in minutes (0 means the maximum interval will be used)
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Auto-archive interval has been set
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/autoarchive/0'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
interval*numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Auto-delete interval has been set
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/autodelete/0'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}Changes outbound network policy on the runner for a running sandbox (for example block all traffic, restore access, or set a CIDR allow list).
AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
networkBlockAll?booleanWhether to block all network access for the sandbox
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
Network settings have been updated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/network-settings' \ -H 'Content-Type: application/json' \ -d '{ "networkBlockAll": false, "domainAllowList": "example.com,*.daytona.io", "networkAllowList": "192.168.1.0/16,10.0.0.0/24"}'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}Replaces the set of vault secrets mounted in the sandbox. Attached, detached and rotated secrets take effect for outbound requests within seconds. New env vars become visible to processes spawned after the update; a sandbox created without any secrets must be restarted for newly attached secrets to work.
AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
secrets*array<>Secrets to mount in this sandbox, replacing the previously mounted set. Each entry maps an env var name to a vault secret name. Pass an empty array to detach all secrets.
Sandbox secrets have been updated
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X PUT 'http://localhost:3000/sandbox/string/secrets' \ -H 'Content-Type: application/json' \ -d '{ "secrets": [ { "ANTHROPIC_API_KEY": "anthropic-prod" }, { "DB_PASSWORD": "DB_PASSWORD" } ]}'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringX-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Sandbox has been archived
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/archive'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
port*numberPort number to get preview URL for
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Preview URL for the specified port
application/json- response
sandboxId*stringID of the sandbox
url*stringPreview url
token*stringAccess token
curl -X GET 'http://localhost:3000/sandbox/string/ports/0/preview-url'{ "sandboxId": "123456", "url": "https://{port}-{sandboxId}.{proxyDomain}", "token": "ul67qtv-jl6wb9z5o3eii-ljqt9qed6l"}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
port*integerPort number to get signed preview URL for
expiresInSeconds?integerExpiration time in seconds (default: 60 seconds)
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Signed preview URL for the specified port
application/json- response
sandboxId*stringID of the sandbox
port*integerPort number of the signed preview URL
token*stringToken of the signed preview URL
url*stringSigned preview url
curl -X GET 'http://localhost:3000/sandbox/string/ports/0/signed-preview-url'{ "port": 3000, "sandboxId": "123456", "url": "https://{port}-{token}.{proxyDomain}", "token": "jl6wb9z5o3eii"}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
port*integerPort number to expire signed preview URL for
token*stringToken to expire signed preview URL for
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Signed preview URL has been expired
curl -X POST 'http://localhost:3000/sandbox/string/ports/0/signed-preview-url/string/expire'Get build logs
DeprecatedThis endpoint is deprecated. Use getBuildLogsUrl instead.
AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
follow?booleanWhether to follow the logs stream
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Build logs stream
curl -X GET 'http://localhost:3000/sandbox/string/build-logs'AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Build logs URL
application/json- response
url*stringURL response
curl -X GET 'http://localhost:3000/sandbox/string/build-logs-url'{ "url": "url"}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
expiresInMinutes?numberExpiration time in minutes (default: 60, maximum: 1440)
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
SSH access has been created
application/json- response
id*stringUnique identifier for the SSH access
sandboxId*stringID of the sandbox this SSH access is for
token*stringSSH access token
expiresAt*stringWhen the SSH access expires
date-timecreatedAt*stringWhen the SSH access was created
date-timeupdatedAt*stringWhen the SSH access was last updated
date-timesshCommand*stringSSH command to connect to the sandbox
curl -X POST 'http://localhost:3000/sandbox/string/ssh-access'{ "createdAt": "2025-01-01T11:00:00Z", "sshCommand": "ssh -p 2222 token@localhost", "sandboxId": "123e4567-e89b-12d3-a456-426614174000", "id": "123e4567-e89b-12d3-a456-426614174000", "expiresAt": "2025-01-01T12:00:00Z", "token": "abc123def456ghi789jkl012mno345pqr678stu901vwx234yz", "updatedAt": "2025-01-01T11:00:00Z"}AuthorizationBearer <token>API Key access
sandboxIdOrName*stringID or name of the sandbox
token?stringSSH access token to revoke. If not provided, all SSH access for the sandbox will be revoked.
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
SSH access has been revoked
application/json- response
id*stringThe ID of the sandbox
organizationId*stringThe organization ID of the sandbox
name*stringThe name of the sandbox
snapshot?stringThe snapshot used for the sandbox
user*stringThe user associated with the project
env*Environment variables for the sandbox
labels*Labels for the sandbox
public*booleanWhether the sandbox http preview is public
networkBlockAll*booleanWhether to block all network access for the sandbox
kvm*booleanWhether the sandbox exposes KVM (/dev/kvm) to its guest
networkAllowList?stringComma-separated list of allowed CIDR network addresses for the sandbox
domainAllowList?stringComma-separated list of allowed domains for the sandbox
outboundProxyUrl?stringOutbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
otelEndpointOverride?stringOTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
target*stringThe target environment for the sandbox
cpu*integerThe CPU quota for the sandbox
gpu*integerThe GPU quota for the sandbox
spot?booleanWhether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
falsespotEvictedAt?stringWhen this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
queueTimedOutAt?stringWhen this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
gpuType?stringThe GPU type assigned to the sandbox
"H100""H200""B200""B300""RTX-PRO-6000""RTX-4090""RTX-5090""MI355X"memory*integerThe memory quota for the sandbox
disk*integerThe disk quota for the sandbox
state?stringThe state of the sandbox
"creating""restoring""destroyed""destroying""started""stopped""starting""stopping""error""build_failed""pending_build""building_snapshot""unknown""pulling_snapshot""archived""archiving""resizing""snapshotting""forking""pausing""paused""resuming"desiredState?stringThe desired state of the sandbox
"destroyed""started""stopped""resized""archived""paused"errorReason?stringThe error reason of the sandbox
networkPolicyError?stringOutcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.
recoverable?booleanWhether the sandbox error is recoverable.
warmPoolId?stringId of the warm pool this sandbox waits in; set only while it is an unclaimed member.
backupState?stringDeprecatedThe state of the backup
"None""Pending""InProgress""Completed""Error"backupCreatedAt?stringDeprecatedThe creation timestamp of the last backup
autoStopInterval?numberAuto-stop interval in minutes (0 means disabled)
autoPauseInterval?numberAuto-pause interval in minutes (0 means disabled)
autoArchiveInterval?numberAuto-archive interval in minutes
autoDeleteInterval?numberAuto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
autoDestroyAt?stringWhen the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
queueTimeout?|Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
volumes?array<>Array of volumes attached to the sandbox
buildInfo?Build information for the sandbox
createdAt?stringThe creation timestamp of the sandbox
updatedAt?stringThe last update timestamp of the sandbox
lastActivityAt?stringThe last activity timestamp of the sandbox
sandboxClass?stringThe class of the sandbox
"linux-vm""container""windows"daemonVersion?stringThe version of the daemon running in the sandbox
runnerId?stringThe runner ID of the sandbox
linkedSandboxId?stringID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.
toolboxProxyUrl*stringThe toolbox proxy URL for the sandbox
curl -X DELETE 'http://localhost:3000/sandbox/string/ssh-access'{ "memory": 4, "linkedSandboxId": "sandbox123", "buildInfo": "", "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox", "lastActivityAt": "2024-10-01T12:00:00Z", "warmPoolId": "warmPoolId", "autoStopInterval": 30, "organizationId": "organization123", "otelEndpointOverride": "https://otel-collector.example.com:4318", "autoPauseInterval": 60, "createdAt": "2024-10-01T12:00:00Z", "networkBlockAll": false, "autoDeleteInterval": 30, "domainAllowList": "example.com,*.daytona.io", "public": false, "outboundProxyUrl": "http://user:pass@proxy.example.com:3128", "errorReason": "The sandbox is not running", "runnerId": "runner123", "id": "sandbox123", "state": "creating", "gpuType": "H100", "updatedAt": "2024-10-01T12:00:00Z", "sandboxClass": "linux-vm", "desiredState": "destroyed", "kvm": false, "networkAllowList": "192.168.1.0/16,10.0.0.0/24", "spotEvictedAt": "2026-08-13T12:00:00.000Z", "volumes": [ { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" }, { "mountPath": "/data", "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "subpath": "users/alice" } ], "cpu": 2, "recoverable": true, "env": { "NODE_ENV": "production" }, "gpu": 0, "daemonVersion": "1.0.0", "backupCreatedAt": "2024-10-01T12:00:00Z", "labels": { "daytona.io/public": "true" }, "target": "local", "disk": 10, "autoDestroyAt": "2026-07-15T12:00:00.000Z", "queueTimedOutAt": "2026-08-13T12:00:00.000Z", "networkPolicyError": "persist updated proxy policy binding: operation not permitted", "spot": false, "name": "MySandbox", "backupState": "None", "user": "daytona", "autoArchiveInterval": 10080, "snapshot": "daytonaio/sandbox:latest", "queueTimeout": 5}AuthorizationBearer <token>API Key access
token*stringSSH access token to validate
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
SSH access validation result
application/json- response
valid*booleanWhether the SSH access token is valid
sandboxId*stringID of the sandbox this SSH access is for
curl -X GET 'http://localhost:3000/sandbox/ssh-access/validate?token=string'{ "valid": true, "sandboxId": "123e4567-e89b-12d3-a456-426614174000"}AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Toolbox proxy URL for the specified sandbox
application/json- response
url*stringThe toolbox proxy URL for the sandbox
curl -X GET 'http://localhost:3000/sandbox/string/toolbox-proxy-url'{ "url": "https://proxy.app.daytona.io/toolbox"}AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Organization
application/json- response
id*stringOrganization ID
name*stringOrganization name
createdBy*stringUser ID of the organization creator
personal*booleanPersonal organization flag
createdAt*stringCreation timestamp
date-timeupdatedAt*stringLast update timestamp
date-timesuspended*booleanSuspended flag
suspendedAt*stringSuspended at
date-timesuspensionReason*stringSuspended reason
suspendedUntil*stringSuspended until
date-timesuspensionCleanupGracePeriodHours*numberSuspension cleanup grace period hours
maxCpuPerSandbox*numberMax CPU per sandbox
maxMemoryPerSandbox*numberMax memory per sandbox
maxDiskPerSandbox*numberMax disk per sandbox
secretQuota*numberMaximum number of secrets
maxSecretsPerSandbox*numberMaximum number of secrets that can be mounted to a single sandbox
snapshotDeactivationTimeoutMinutes*numberTime in minutes before an unused snapshot is deactivated
20160defaultQueueTimeout*|Default minutes to wait for runner assignment before cancelling sandbox creation. Applied when sandbox create omits queueTimeout. Null means no default.
sandboxLimitedNetworkEgress*booleanSandbox default network block all
previewWarningEnabled*booleanWhether the proxy shows the preview URL warning page for this organization
ssoEnabled*booleanWhether this organization may configure SSO identity providers
scimEnabled*booleanWhether this organization may use SCIM directory sync
defaultRegionId?stringDefault region ID
workosOrgId?stringID of the WorkOS organization mirrored from this organization (absent for personal organizations, which are never mirrored)
directorySyncStatus?stringConnection state of the WorkOS SCIM directory, as last reported by WorkOS (absent when no directory has ever reported in)
"active""inactive""deleted"directorySyncStatusChangedAt?stringWhen the directory sync status last changed
date-timedirectorySyncTokenRevokedAt?stringWhen the directory bearer token was revoked; absent while a valid token exists. A revoked token stops provisioning even if the directory is still active.
date-timeauthenticatedRateLimit*|Authenticated rate limit per minute
sandboxCreateRateLimit*|Sandbox create rate limit per minute
sandboxLifecycleRateLimit*|Sandbox lifecycle rate limit per minute
experimentalConfig*Experimental configuration
otelConfig*|OpenTelemetry collection configuration
authenticatedRateLimitTtlSeconds*|Authenticated rate limit TTL in seconds
sandboxCreateRateLimitTtlSeconds*|Sandbox create rate limit TTL in seconds
sandboxLifecycleRateLimitTtlSeconds*|Sandbox lifecycle rate limit TTL in seconds
curl -X GET 'http://localhost:3000/sandbox/string/organization'{ "secretQuota": 5.637376656633329, "sandboxCreateRateLimit": 2.027123023002322, "sandboxLifecycleRateLimitTtlSeconds": 1.0246457001441578, "createdAt": "2000-01-23T04:56:07.000+00:00", "sandboxLimitedNetworkEgress": true, "suspendedUntil": "2000-01-23T04:56:07.000+00:00", "ssoEnabled": true, "directorySyncStatusChangedAt": "2000-01-23T04:56:07.000+00:00", "previewWarningEnabled": true, "snapshotDeactivationTimeoutMinutes": 7.061401241503109, "otelConfig": "", "authenticatedRateLimitTtlSeconds": 7.386281948385884, "id": "id", "experimentalConfig": "{}", "updatedAt": "2000-01-23T04:56:07.000+00:00", "defaultRegionId": "defaultRegionId", "sandboxCreateRateLimitTtlSeconds": 1.2315135367772556, "suspensionReason": "suspensionReason", "sandboxLifecycleRateLimit": 4.145608029883936, "suspendedAt": "2000-01-23T04:56:07.000+00:00", "personal": true, "suspensionCleanupGracePeriodHours": 0.8008281904610115, "maxSecretsPerSandbox": 2.3021358869347655, "directorySyncStatus": "", "authenticatedRateLimit": 3.616076749251911, "suspended": true, "defaultQueueTimeout": 9, "maxCpuPerSandbox": 6.027456183070403, "scimEnabled": true, "maxDiskPerSandbox": 5.962133916683182, "createdBy": "createdBy", "workosOrgId": "workosOrgId", "name": "name", "maxMemoryPerSandbox": 1.4658129805029452, "directorySyncTokenRevokedAt": "2000-01-23T04:56:07.000+00:00"}AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Region quota
application/json- response
organizationId*stringregionId*stringsandboxClass*string"linux-vm""container""windows"totalCpuQuota*numbertotalMemoryQuota*numbertotalDiskQuota*numbertotalGpuQuota*numberallowedGpuTypes?array<>maxCpuPerSandbox*number|nullmaxMemoryPerSandbox*number|nullmaxDiskPerSandbox*number|nullmaxDiskPerNonEphemeralSandbox*number|nullmaxCpuPerGpu*|CPU maximum per requested GPU unit for GPU sandboxes.
maxMemoryPerGpu*|Memory maximum per requested GPU unit for GPU sandboxes.
maxDiskPerGpu*|Disk maximum per requested GPU unit for GPU sandboxes.
maxSandboxLifespan*|Maximum sandbox lifespan in minutes, measured from sandbox creation to its auto-destroy deadline. If null or 0, lifespan is unrestricted. When set, sandboxes created without a TTL default to this lifespan and TTL cannot be disabled.
curl -X GET 'http://localhost:3000/sandbox/string/region-quota'{ "totalCpuQuota": 0.8008281904610115, "maxSandboxLifespan": 7.386281948385884, "allowedGpuTypes": [ "H100", "H100" ], "totalGpuQuota": 5.962133916683182, "maxMemoryPerGpu": 2.027123023002322, "organizationId": "organizationId", "maxCpuPerSandbox": 5.637376656633329, "maxDiskPerSandbox": 7.061401241503109, "maxDiskPerNonEphemeralSandbox": 9.301444243932576, "regionId": "regionId", "maxCpuPerGpu": 3.616076749251911, "maxMemoryPerSandbox": 2.3021358869347655, "maxDiskPerGpu": 4.145608029883936, "totalMemoryQuota": 6.027456183070403, "totalDiskQuota": 1.4658129805029452, "sandboxClass": ""}AuthorizationBearer <token>API Key access
sandboxId*stringSandbox ID
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Decrypted secret key-value pairs for this sandbox
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/sandbox/string/secrets'[ { "hosts": [ "api.anthropic.com" ], "placeholder": "dtn_secret_a7f3b2c1e9d4", "env": "ANTHROPIC_API_KEY", "value": "sk-ant-..." }]Retrieve OTEL logs for a sandbox within a time range
AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
from*stringStart of time range (ISO 8601)
date-timeto*stringEnd of time range (ISO 8601)
date-timepage?integerPage number (1-indexed)
1limit?integerNumber of items per page
100severities?array<string>Filter by severity levels (DEBUG, INFO, WARN, ERROR)
search?stringSearch in log body
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Paginated list of log entries
application/json- response
items*array<>List of log entries
total*integerTotal number of log entries matching the query
page*integerCurrent page number
totalPages*integerTotal number of pages
curl -X GET 'http://localhost:3000/sandbox/string/telemetry/logs?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z'{ "total": 6, "totalPages": 5, "page": 1, "items": [ { "traceId": "traceId", "spanId": "spanId", "severityText": "severityText", "severityNumber": 0.8008281904610115, "logAttributes": { "key": "logAttributes" }, "body": "body", "serviceName": "serviceName", "resourceAttributes": { "key": "resourceAttributes" }, "timestamp": "timestamp" }, { "traceId": "traceId", "spanId": "spanId", "severityText": "severityText", "severityNumber": 0.8008281904610115, "logAttributes": { "key": "logAttributes" }, "body": "body", "serviceName": "serviceName", "resourceAttributes": { "key": "resourceAttributes" }, "timestamp": "timestamp" } ]}Retrieve OTEL traces for a sandbox within a time range
AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
from*stringStart of time range (ISO 8601)
date-timeto*stringEnd of time range (ISO 8601)
date-timepage?integerPage number (1-indexed)
1limit?integerNumber of items per page
100X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Paginated list of trace summaries
application/json- response
items*array<>List of trace summaries
total*integerTotal number of traces matching the query
page*integerCurrent page number
totalPages*integerTotal number of pages
curl -X GET 'http://localhost:3000/sandbox/string/telemetry/traces?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z'{ "total": 1, "totalPages": 5, "page": 5, "items": [ { "traceId": "traceId", "spanCount": 6.027456183070403, "rootSpanName": "rootSpanName", "startTime": "startTime", "endTime": "endTime", "durationMs": 0.8008281904610115, "statusCode": "statusCode" }, { "traceId": "traceId", "spanCount": 6.027456183070403, "rootSpanName": "rootSpanName", "startTime": "startTime", "endTime": "endTime", "durationMs": 0.8008281904610115, "statusCode": "statusCode" } ]}Retrieve all spans for a specific trace
AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
traceId*stringID of the trace
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
List of spans in the trace
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/sandbox/string/telemetry/traces/string'[ { "traceId": "traceId", "spanId": "spanId", "spanAttributes": { "key": "spanAttributes" }, "parentSpanId": "parentSpanId", "durationNs": 0.8008281904610115, "statusMessage": "statusMessage", "spanName": "spanName", "timestamp": "timestamp", "statusCode": "statusCode" }]Retrieve OTEL metrics for a sandbox within a time range
AuthorizationBearer <token>API Key access
sandboxId*stringID of the sandbox
from*stringStart of time range (ISO 8601)
date-timeto*stringEnd of time range (ISO 8601)
date-timemetricNames?array<string>Filter by metric names
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
Metrics time series data
application/json- response
series*array<>List of metric series
curl -X GET 'http://localhost:3000/sandbox/string/telemetry/metrics?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z'{ "series": [ { "metricName": "metricName", "dataPoints": [ { "value": 0.8008281904610115, "timestamp": "timestamp" }, { "value": 0.8008281904610115, "timestamp": "timestamp" } ] }, { "metricName": "metricName", "dataPoints": [ { "value": 0.8008281904610115, "timestamp": "timestamp" }, { "value": 0.8008281904610115, "timestamp": "timestamp" } ] } ]}