Sign Up

Sandbox

GET/sandbox

Advanced filtering and ordering. Eventually consistent.

AuthorizationBearer <token>

API Key access

In: header

Query Parameters

cursor?string

Pagination cursor from a previous response

limit?number

Number of results per page

Range1 <= value <= 200
Default100
id?string

Filter by ID prefix (case-insensitive)

name?string

Filter by name prefix (case-insensitive)

labels?string

JSON encoded labels to filter by

includeErroredDeleted?boolean

Include results with errored state and deleted desired state

Defaultfalse
includeWarm?boolean

Include unclaimed warm pool sandboxes (excluded by default)

Defaultfalse
states?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?number

Minimum CPU

Range1 <= value
maxCpu?number

Maximum CPU

Range1 <= value
minMemoryGiB?number

Minimum memory in GiB

Range1 <= value
maxMemoryGiB?number

Maximum memory in GiB

Range1 <= value
minDiskGiB?number

Minimum disk space in GiB

Range1 <= value
maxDiskGiB?number

Maximum disk space in GiB

Range1 <= value
isPublic?boolean

Filter by public status

isRecoverable?boolean

Filter by recoverable status

createdAtAfter?string

Include items created after this timestamp

Formatdate-time
createdAtBefore?string

Include items created before this timestamp

Formatdate-time
lastEventAfter?string

Include items with last event after this timestamp

Formatdate-time
lastEventBefore?string

Include items with last event before this timestamp

Formatdate-time
autoDestroyAtAfter?string

Include items scheduled for auto destroy after this timestamp

Formatdate-time
autoDestroyAtBefore?string

Include items scheduled for auto destroy before this timestamp

Formatdate-time
sort?string

Field to sort by

Value in

  • "name"
  • "cpu"
  • "memoryGib"
  • "diskGib"
  • "lastActivityAt"
  • "createdAt"
order?string

Direction to sort by

Value in

  • "asc"
  • "desc"

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox"
{  "items": [    {      "id": "sandbox123",      "organizationId": "organization123",      "name": "MySandbox",      "target": "local",      "runnerId": "runner123",      "sandboxClass": "linux-vm",      "state": "creating",      "desiredState": "destroyed",      "snapshot": "daytonaio/sandbox:latest",      "user": "daytona",      "errorReason": "The sandbox is not running",      "recoverable": true,      "public": false,      "networkBlockAll": false,      "networkAllowList": "192.168.1.0/16,10.0.0.0/24",      "domainAllowList": "example.com,*.daytona.io",      "cpu": 2,      "gpu": 0,      "spot": false,      "spotEvictedAt": "2026-08-13T12:00:00.000Z",      "gpuType": "H100",      "memory": 4,      "disk": 10,      "labels": {        "daytona.io/public": "true"      },      "backupState": "None",      "autoStopInterval": 30,      "autoPauseInterval": 60,      "autoArchiveInterval": 10080,      "autoDeleteInterval": 30,      "autoDestroyAt": "2026-07-15T12:00:00.000Z",      "createdAt": "2024-10-01T12:00:00Z",      "updatedAt": "2024-10-01T12:00:00Z",      "lastActivityAt": "2024-10-01T12:00:00Z",      "daemonVersion": "1.0.0",      "warmPoolId": "string",      "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"    }  ],  "nextCursor": "string"}
POST/sandbox
AuthorizationBearer <token>

API Key access

In: header

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/sandbox" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/paginated
AuthorizationBearer <token>

API Key access

In: header

Query Parameters

page?number

Page number of the results

Range1 <= value
Default1
limit?number

Number of results per page

Range1 <= value <= 200
Default100
id?string

Filter by partial ID match

name?string

Filter by partial name match

labels?string

JSON encoded labels to filter by

includeErroredDeleted?boolean

Include results with errored state and deleted desired state

Defaultfalse
states?array<>

List of states to filter by

snapshots?array<string>

List of snapshot names to filter by

regions?array<string>

List of regions to filter by

minCpu?number

Minimum CPU

Range1 <= value
maxCpu?number

Maximum CPU

Range1 <= value
minMemoryGiB?number

Minimum memory in GiB

Range1 <= value
maxMemoryGiB?number

Maximum memory in GiB

Range1 <= value
minDiskGiB?number

Minimum disk space in GiB

Range1 <= value
maxDiskGiB?number

Maximum disk space in GiB

Range1 <= value
lastEventAfter?string

Include items with last event after this timestamp

Formatdate-time
lastEventBefore?string

Include items with last event before this timestamp

Formatdate-time
sort?string

Field to sort by

Default"createdAt"

Value in

  • "id"
  • "name"
  • "state"
  • "snapshot"
  • "region"
  • "updatedAt"
  • "createdAt"
  • "lastActivityAt"
order?string

Direction to sort by

Default"desc"

Value in

  • "asc"
  • "desc"

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/paginated"
{  "items": [    {      "id": "sandbox123",      "organizationId": "organization123",      "name": "MySandbox",      "snapshot": "daytonaio/sandbox:latest",      "user": "daytona",      "env": {        "NODE_ENV": "production"      },      "labels": {        "daytona.io/public": "true"      },      "public": false,      "networkBlockAll": false,      "networkAllowList": "192.168.1.0/16,10.0.0.0/24",      "domainAllowList": "example.com,*.daytona.io",      "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",      "otelEndpointOverride": "https://otel-collector.example.com:4318",      "target": "local",      "cpu": 2,      "gpu": 0,      "spot": false,      "spotEvictedAt": "2026-08-13T12:00:00.000Z",      "gpuType": "H100",      "memory": 4,      "disk": 10,      "state": "creating",      "desiredState": "destroyed",      "errorReason": "The sandbox is not running",      "recoverable": true,      "warmPoolId": "string",      "backupState": "None",      "backupCreatedAt": "2024-10-01T12:00:00Z",      "autoStopInterval": 30,      "autoPauseInterval": 60,      "autoArchiveInterval": 10080,      "autoDeleteInterval": 30,      "autoDestroyAt": "2026-07-15T12:00:00.000Z",      "volumes": [        {          "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",          "mountPath": "/data",          "subpath": "users/alice"        }      ],      "buildInfo": {        "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",        "contextHashes": [          "hash1",          "hash2"        ],        "createdAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z",        "snapshotRef": "daytonaio/sandbox:latest"      },      "createdAt": "2024-10-01T12:00:00Z",      "updatedAt": "2024-10-01T12:00:00Z",      "lastActivityAt": "2024-10-01T12:00:00Z",      "sandboxClass": "linux-vm",      "daemonVersion": "1.0.0",      "runnerId": "runner123",      "linkedSandboxId": "sandbox123",      "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"    }  ],  "total": 0,  "page": 0,  "totalPages": 0}
GET/sandbox/for-runner
AuthorizationBearer <token>

API Key access

In: header

Query Parameters

states?string

Comma-separated list of sandbox states to filter by

skipReconcilingSandboxes?boolean

Skip sandboxes where state differs from desired state

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/for-runner"
[  {    "id": "sandbox123",    "organizationId": "organization123",    "name": "MySandbox",    "snapshot": "daytonaio/sandbox:latest",    "user": "daytona",    "env": {      "NODE_ENV": "production"    },    "labels": {      "daytona.io/public": "true"    },    "public": false,    "networkBlockAll": false,    "networkAllowList": "192.168.1.0/16,10.0.0.0/24",    "domainAllowList": "example.com,*.daytona.io",    "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",    "otelEndpointOverride": "https://otel-collector.example.com:4318",    "target": "local",    "cpu": 2,    "gpu": 0,    "spot": false,    "spotEvictedAt": "2026-08-13T12:00:00.000Z",    "gpuType": "H100",    "memory": 4,    "disk": 10,    "state": "creating",    "desiredState": "destroyed",    "errorReason": "The sandbox is not running",    "recoverable": true,    "warmPoolId": "string",    "backupState": "None",    "backupCreatedAt": "2024-10-01T12:00:00Z",    "autoStopInterval": 30,    "autoPauseInterval": 60,    "autoArchiveInterval": 10080,    "autoDeleteInterval": 30,    "autoDestroyAt": "2026-07-15T12:00:00.000Z",    "volumes": [      {        "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",        "mountPath": "/data",        "subpath": "users/alice"      }    ],    "buildInfo": {      "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",      "contextHashes": [        "hash1",        "hash2"      ],      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "snapshotRef": "daytonaio/sandbox:latest"    },    "createdAt": "2024-10-01T12:00:00Z",    "updatedAt": "2024-10-01T12:00:00Z",    "lastActivityAt": "2024-10-01T12:00:00Z",    "sandboxClass": "linux-vm",    "daemonVersion": "1.0.0",    "runnerId": "runner123",    "linkedSandboxId": "sandbox123",    "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"  }]
GET/sandbox/{sandboxIdOrName}

Sandboxes destroyed by spot preemption remain retrievable for 24 hours so spotEvictedAt can be read.

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Query Parameters

verbose?boolean

Include verbose output

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
DELETE/sandbox/{sandboxIdOrName}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X DELETE "https://example.com/sandbox/string"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/recover
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Query Parameters

skipStart?boolean

If true, the sandbox is left in STOPPED after recovery instead of being started.

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/recover"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/start

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

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/start"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/stop
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Query Parameters

force?boolean

Force stop the sandbox using SIGKILL instead of SIGTERM

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/stop"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/pause
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/pause"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/resize
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/resize" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
PUT/sandbox/{sandboxIdOrName}/labels
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/sandbox/string/labels" \  -H "Content-Type: application/json" \  -d '{    "labels": {      "environment": "dev",      "team": "backend"    }  }'
{  "labels": {    "environment": "dev",    "team": "backend"  }}
PUT/sandbox/{sandboxId}/state
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X PUT "https://example.com/sandbox/string/state" \  -H "Content-Type: application/json" \  -d '{    "state": "started"  }'
Empty
POST/sandbox/{sandboxIdOrName}/backup

Deprecated: backups are managed automatically. This endpoint is a no-op kept for compatibility.

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/backup"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/snapshot
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/snapshot" \  -H "Content-Type: application/json" \  -d '{    "name": "my-dev-env-v1"  }'
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/fork
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/fork" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/{sandboxIdOrName}/forks
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

Query Parameters

includeDestroyed?boolean

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/forks"
[  {    "id": "sandbox123",    "organizationId": "organization123",    "name": "MySandbox",    "snapshot": "daytonaio/sandbox:latest",    "user": "daytona",    "env": {      "NODE_ENV": "production"    },    "labels": {      "daytona.io/public": "true"    },    "public": false,    "networkBlockAll": false,    "networkAllowList": "192.168.1.0/16,10.0.0.0/24",    "domainAllowList": "example.com,*.daytona.io",    "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",    "otelEndpointOverride": "https://otel-collector.example.com:4318",    "target": "local",    "cpu": 2,    "gpu": 0,    "spot": false,    "spotEvictedAt": "2026-08-13T12:00:00.000Z",    "gpuType": "H100",    "memory": 4,    "disk": 10,    "state": "creating",    "desiredState": "destroyed",    "errorReason": "The sandbox is not running",    "recoverable": true,    "warmPoolId": "string",    "backupState": "None",    "backupCreatedAt": "2024-10-01T12:00:00Z",    "autoStopInterval": 30,    "autoPauseInterval": 60,    "autoArchiveInterval": 10080,    "autoDeleteInterval": 30,    "autoDestroyAt": "2026-07-15T12:00:00.000Z",    "volumes": [      {        "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",        "mountPath": "/data",        "subpath": "users/alice"      }    ],    "buildInfo": {      "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",      "contextHashes": [        "hash1",        "hash2"      ],      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "snapshotRef": "daytonaio/sandbox:latest"    },    "createdAt": "2024-10-01T12:00:00Z",    "updatedAt": "2024-10-01T12:00:00Z",    "lastActivityAt": "2024-10-01T12:00:00Z",    "sandboxClass": "linux-vm",    "daemonVersion": "1.0.0",    "runnerId": "runner123",    "linkedSandboxId": "sandbox123",    "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"  }]
GET/sandbox/{sandboxIdOrName}/parent
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/parent"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/{sandboxIdOrName}/ancestors
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/ancestors"
[  {    "id": "sandbox123",    "organizationId": "organization123",    "name": "MySandbox",    "snapshot": "daytonaio/sandbox:latest",    "user": "daytona",    "env": {      "NODE_ENV": "production"    },    "labels": {      "daytona.io/public": "true"    },    "public": false,    "networkBlockAll": false,    "networkAllowList": "192.168.1.0/16,10.0.0.0/24",    "domainAllowList": "example.com,*.daytona.io",    "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",    "otelEndpointOverride": "https://otel-collector.example.com:4318",    "target": "local",    "cpu": 2,    "gpu": 0,    "spot": false,    "spotEvictedAt": "2026-08-13T12:00:00.000Z",    "gpuType": "H100",    "memory": 4,    "disk": 10,    "state": "creating",    "desiredState": "destroyed",    "errorReason": "The sandbox is not running",    "recoverable": true,    "warmPoolId": "string",    "backupState": "None",    "backupCreatedAt": "2024-10-01T12:00:00Z",    "autoStopInterval": 30,    "autoPauseInterval": 60,    "autoArchiveInterval": 10080,    "autoDeleteInterval": 30,    "autoDestroyAt": "2026-07-15T12:00:00.000Z",    "volumes": [      {        "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",        "mountPath": "/data",        "subpath": "users/alice"      }    ],    "buildInfo": {      "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",      "contextHashes": [        "hash1",        "hash2"      ],      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "snapshotRef": "daytonaio/sandbox:latest"    },    "createdAt": "2024-10-01T12:00:00Z",    "updatedAt": "2024-10-01T12:00:00Z",    "lastActivityAt": "2024-10-01T12:00:00Z",    "sandboxClass": "linux-vm",    "daemonVersion": "1.0.0",    "runnerId": "runner123",    "linkedSandboxId": "sandbox123",    "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"  }]
POST/sandbox/{sandboxIdOrName}/public/{isPublic}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

isPublic*boolean

Public status to set

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/public/true"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/{sandboxId}/signing-key
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/signing-key"
"string"
POST/sandbox/{sandboxId}/signing-key/rotate
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/signing-key/rotate"
"string"
POST/sandbox/{sandboxId}/last-activity
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "https://example.com/sandbox/string/last-activity" \  -H "Content-Type: application/json" \  -d '{}'
Empty
POST/sandbox/{sandboxIdOrName}/autostop/{interval}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

interval*number

Auto-stop interval in minutes (0 to disable)

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/autostop/0"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/autopause/{interval}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

interval*number

Auto-pause interval in minutes (0 to disable)

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/autopause/0"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/ttl/{ttlMinutes}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

ttlMinutes*number

Maximum 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

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/ttl/0"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/autoarchive/{interval}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

interval*number

Auto-archive interval in minutes (0 means the maximum interval will be used)

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/autoarchive/0"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/autodelete/{interval}
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

interval*number

Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/autodelete/0"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/network-settings

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

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/network-settings" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
PUT/sandbox/{sandboxIdOrName}/secrets

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

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/sandbox/string/secrets" \  -H "Content-Type: application/json" \  -d '{    "secrets": [      {        "ANTHROPIC_API_KEY": "anthropic-prod"      },      {        "DB_PASSWORD": "DB_PASSWORD"      }    ]  }'
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
POST/sandbox/{sandboxIdOrName}/archive
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/archive"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/{sandboxIdOrName}/ports/{port}/preview-url
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

port*number

Port number to get preview URL for

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/ports/0/preview-url"
{  "sandboxId": "123456",  "url": "https://{port}-{sandboxId}.{proxyDomain}",  "token": "ul67qtv-jl6wb9z5o3eii-ljqt9qed6l"}
GET/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

port*integer

Port number to get signed preview URL for

Query Parameters

expiresInSeconds?integer

Expiration time in seconds (default: 60 seconds)

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/ports/0/signed-preview-url"
{  "sandboxId": "123456",  "port": 3000,  "token": "jl6wb9z5o3eii",  "url": "https://{port}-{token}.{proxyDomain}"}
POST/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url/{token}/expire
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

port*integer

Port number to expire signed preview URL for

token*string

Token to expire signed preview URL for

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

curl -X POST "https://example.com/sandbox/string/ports/0/signed-preview-url/string/expire"
Empty

Get build logs

Deprecated
GET/sandbox/{sandboxIdOrName}/build-logs

This endpoint is deprecated. Use getBuildLogsUrl instead.

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Query Parameters

follow?boolean

Whether to follow the logs stream

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

curl -X GET "https://example.com/sandbox/string/build-logs"
Empty
GET/sandbox/{sandboxIdOrName}/build-logs-url
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/build-logs-url"
{  "url": "string"}
POST/sandbox/{sandboxIdOrName}/ssh-access
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Query Parameters

expiresInMinutes?number

Expiration time in minutes (default: 60)

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X POST "https://example.com/sandbox/string/ssh-access"
{  "id": "123e4567-e89b-12d3-a456-426614174000",  "sandboxId": "123e4567-e89b-12d3-a456-426614174000",  "token": "abc123def456ghi789jkl012mno345pqr678stu901vwx234yz",  "expiresAt": "2025-01-01T12:00:00.000Z",  "createdAt": "2025-01-01T11:00:00.000Z",  "updatedAt": "2025-01-01T11:00:00.000Z",  "sshCommand": "ssh -p 2222 token@localhost"}
DELETE/sandbox/{sandboxIdOrName}/ssh-access
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxIdOrName*string

ID or name of the sandbox

Query Parameters

token?string

SSH access token to revoke. If not provided, all SSH access for the sandbox will be revoked.

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X DELETE "https://example.com/sandbox/string/ssh-access"
{  "id": "sandbox123",  "organizationId": "organization123",  "name": "MySandbox",  "snapshot": "daytonaio/sandbox:latest",  "user": "daytona",  "env": {    "NODE_ENV": "production"  },  "labels": {    "daytona.io/public": "true"  },  "public": false,  "networkBlockAll": false,  "networkAllowList": "192.168.1.0/16,10.0.0.0/24",  "domainAllowList": "example.com,*.daytona.io",  "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",  "otelEndpointOverride": "https://otel-collector.example.com:4318",  "target": "local",  "cpu": 2,  "gpu": 0,  "spot": false,  "spotEvictedAt": "2026-08-13T12:00:00.000Z",  "gpuType": "H100",  "memory": 4,  "disk": 10,  "state": "creating",  "desiredState": "destroyed",  "errorReason": "The sandbox is not running",  "recoverable": true,  "warmPoolId": "string",  "backupState": "None",  "backupCreatedAt": "2024-10-01T12:00:00Z",  "autoStopInterval": 30,  "autoPauseInterval": 60,  "autoArchiveInterval": 10080,  "autoDeleteInterval": 30,  "autoDestroyAt": "2026-07-15T12:00:00.000Z",  "volumes": [    {      "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",      "mountPath": "/data",      "subpath": "users/alice"    }  ],  "buildInfo": {    "dockerfileContent": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",    "contextHashes": [      "hash1",      "hash2"    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "snapshotRef": "daytonaio/sandbox:latest"  },  "createdAt": "2024-10-01T12:00:00Z",  "updatedAt": "2024-10-01T12:00:00Z",  "lastActivityAt": "2024-10-01T12:00:00Z",  "sandboxClass": "linux-vm",  "daemonVersion": "1.0.0",  "runnerId": "runner123",  "linkedSandboxId": "sandbox123",  "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/ssh-access/validate
AuthorizationBearer <token>

API Key access

In: header

Query Parameters

token*string

SSH access token to validate

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/ssh-access/validate?token=string"
{  "valid": true,  "sandboxId": "123e4567-e89b-12d3-a456-426614174000"}
GET/sandbox/{sandboxId}/toolbox-proxy-url
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/toolbox-proxy-url"
{  "url": "https://proxy.app.daytona.io/toolbox"}
GET/sandbox/{sandboxId}/organization
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/organization"
{  "id": "string",  "name": "string",  "createdBy": "string",  "personal": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "suspended": true,  "suspendedAt": "2019-08-24T14:15:22Z",  "suspensionReason": "string",  "suspendedUntil": "2019-08-24T14:15:22Z",  "suspensionCleanupGracePeriodHours": 0,  "maxCpuPerSandbox": 0,  "maxMemoryPerSandbox": 0,  "maxDiskPerSandbox": 0,  "secretQuota": 0,  "maxSecretsPerSandbox": 0,  "snapshotDeactivationTimeoutMinutes": 20160,  "sandboxLimitedNetworkEgress": true,  "previewWarningEnabled": true,  "ssoEnabled": true,  "defaultRegionId": "string",  "authenticatedRateLimit": 0,  "sandboxCreateRateLimit": 0,  "sandboxLifecycleRateLimit": 0,  "experimentalConfig": {},  "otelConfig": {    "endpoint": "string",    "headers": {      "x-api-key": "my-api-key"    },    "organizationId": "string"  },  "authenticatedRateLimitTtlSeconds": 0,  "sandboxCreateRateLimitTtlSeconds": 0,  "sandboxLifecycleRateLimitTtlSeconds": 0}
GET/sandbox/{sandboxId}/region-quota
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/region-quota"
{  "organizationId": "string",  "regionId": "string",  "sandboxClass": "linux-vm",  "totalCpuQuota": 0,  "totalMemoryQuota": 0,  "totalDiskQuota": 0,  "totalGpuQuota": 0,  "allowedGpuTypes": [    "H100"  ],  "maxCpuPerSandbox": 0,  "maxMemoryPerSandbox": 0,  "maxDiskPerSandbox": 0,  "maxDiskPerNonEphemeralSandbox": 0,  "maxCpuPerGpu": 0,  "maxMemoryPerGpu": 0,  "maxDiskPerGpu": 0,  "maxSandboxLifespan": 0}
GET/sandbox/{sandboxId}/secrets
AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

Sandbox ID

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/secrets"
[  {    "env": "ANTHROPIC_API_KEY",    "placeholder": "dtn_secret_a7f3b2c1e9d4",    "value": "sk-ant-...",    "hosts": [      "api.anthropic.com"    ]  }]
GET/sandbox/{sandboxId}/telemetry/logs

Retrieve OTEL logs for a sandbox within a time range

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Query Parameters

from*string

Start of time range (ISO 8601)

Formatdate-time
to*string

End of time range (ISO 8601)

Formatdate-time
page?number

Page number (1-indexed)

Default1
limit?number

Number of items per page

Default100
severities?array<string>

Filter by severity levels (DEBUG, INFO, WARN, ERROR)

search?string

Search in log body

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/telemetry/logs?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{  "items": [    {      "timestamp": "string",      "body": "string",      "severityText": "string",      "severityNumber": 0,      "serviceName": "string",      "resourceAttributes": {        "property1": "string",        "property2": "string"      },      "logAttributes": {        "property1": "string",        "property2": "string"      },      "traceId": "string",      "spanId": "string"    }  ],  "total": 0,  "page": 0,  "totalPages": 0}
GET/sandbox/{sandboxId}/telemetry/traces

Retrieve OTEL traces for a sandbox within a time range

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Query Parameters

from*string

Start of time range (ISO 8601)

Formatdate-time
to*string

End of time range (ISO 8601)

Formatdate-time
page?number

Page number (1-indexed)

Default1
limit?number

Number of items per page

Default100

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/telemetry/traces?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{  "items": [    {      "traceId": "string",      "rootSpanName": "string",      "startTime": "string",      "endTime": "string",      "durationMs": 0,      "spanCount": 0,      "statusCode": "string"    }  ],  "total": 0,  "page": 0,  "totalPages": 0}
GET/sandbox/{sandboxId}/telemetry/traces/{traceId}

Retrieve all spans for a specific trace

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

traceId*string

ID of the trace

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/telemetry/traces/string"
[  {    "traceId": "string",    "spanId": "string",    "parentSpanId": "string",    "spanName": "string",    "timestamp": "string",    "durationNs": 0,    "spanAttributes": {      "property1": "string",      "property2": "string"    },    "statusCode": "string",    "statusMessage": "string"  }]
GET/sandbox/{sandboxId}/telemetry/metrics

Retrieve OTEL metrics for a sandbox within a time range

AuthorizationBearer <token>

API Key access

In: header

Path Parameters

sandboxId*string

ID of the sandbox

Query Parameters

from*string

Start of time range (ISO 8601)

Formatdate-time
to*string

End of time range (ISO 8601)

Formatdate-time
metricNames?array<string>

Filter by metric names

Header Parameters

X-Daytona-Organization-ID?string

Use with JWT to specify the organization ID

Response Body

application/json

curl -X GET "https://example.com/sandbox/string/telemetry/metrics?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{  "series": [    {      "metricName": "string",      "dataPoints": [        {          "timestamp": "string",          "value": 0        }      ]    }  ]}