Admin
/admin/runnersAPI Key access
In: header
Query Parameters
Filter runners by region ID
Response Body
application/json
curl -X GET "https://example.com/admin/runners"[ { "id": "runner123", "domain": "runner1.example.com", "apiUrl": "https://api.runner1.example.com", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "memory": 16, "disk": 100, "gpu": 1, "gpuType": "string", "sandboxClass": "linux-vm", "currentCpuUsagePercentage": 45.6, "currentMemoryUsagePercentage": 68.2, "currentDiskUsagePercentage": 33.8, "currentAllocatedCpu": 4000, "currentAllocatedMemoryGiB": 8000, "currentAllocatedDiskGiB": 50000, "currentSnapshotCount": 12, "currentStartedSandboxes": 5, "availabilityScore": 85, "region": "us", "name": "runner1", "state": "initializing", "lastChecked": "2024-10-01T12:00:00Z", "unschedulable": false, "tags": [ "gpu", "us-east" ], "createdAt": "2023-10-01T12:00:00Z", "updatedAt": "2023-10-01T12:00:00Z", "version": "0", "apiVersion": "0", "runnerClass": "container", "appVersion": "v0.0.0-dev", "class": "small", "apiKey": "dtn_1234567890", "regionType": "shared" }]/admin/runnersAPI Key access
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/admin/runners" \ -H "Content-Type: application/json" \ -d '{ "regionId": "string", "name": "string", "apiKey": "string", "apiVersion": "2" }'{ "id": "runner123", "apiKey": "dtn_1234567890"}/admin/runners/{id}API Key access
In: header
Path Parameters
Runner ID
Response Body
application/json
curl -X GET "https://example.com/admin/runners/string"{ "id": "runner123", "domain": "runner1.example.com", "apiUrl": "https://api.runner1.example.com", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "memory": 16, "disk": 100, "gpu": 1, "gpuType": "string", "sandboxClass": "linux-vm", "currentCpuUsagePercentage": 45.6, "currentMemoryUsagePercentage": 68.2, "currentDiskUsagePercentage": 33.8, "currentAllocatedCpu": 4000, "currentAllocatedMemoryGiB": 8000, "currentAllocatedDiskGiB": 50000, "currentSnapshotCount": 12, "currentStartedSandboxes": 5, "availabilityScore": 85, "region": "us", "name": "runner1", "state": "initializing", "lastChecked": "2024-10-01T12:00:00Z", "unschedulable": false, "tags": [ "gpu", "us-east" ], "createdAt": "2023-10-01T12:00:00Z", "updatedAt": "2023-10-01T12:00:00Z", "version": "0", "apiVersion": "0", "runnerClass": "container", "appVersion": "v0.0.0-dev", "class": "small", "apiKey": "dtn_1234567890", "regionType": "shared"}/admin/runners/{id}API Key access
In: header
Path Parameters
Runner ID
Query Parameters
Delete the runner without waiting for sandboxes already marked for destruction. Requires the runner to have stopped reporting as ready.
Response Body
curl -X DELETE "https://example.com/admin/runners/string"/admin/runners/{id}/schedulingAPI Key access
In: header
Path Parameters
Response Body
curl -X PATCH "https://example.com/admin/runners/string/scheduling"/admin/sandbox/{sandboxId}/recoverAPI Key access
In: header
Path Parameters
ID of the sandbox
Response Body
application/json
curl -X POST "https://example.com/admin/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"}curl -X GET "https://example.com/admin/users"/admin/usersAPI Key access
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/admin/users" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'/admin/users/{id}/regenerate-key-pairAPI Key access
In: header
Path Parameters
Response Body
curl -X POST "https://example.com/admin/users/string/regenerate-key-pair"/admin/users/{id}API Key access
In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/admin/users/string"{ "id": "string", "name": "string", "email": "string", "emailVerified": true, "pylonEmailHash": "string", "publicKeys": [ { "key": "string", "name": "string" } ], "createdAt": "2019-08-24T14:15:22Z"}/admin/webhooks/organizations/{organizationId}/sendAPI Key access
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/admin/webhooks/organizations/string/send" \ -H "Content-Type: application/json" \ -d '{ "eventType": "sandbox.created", "payload": { "id": "sandbox-123", "name": "My Sandbox" } }'/admin/webhooks/organizations/{organizationId}/messages/{messageId}/attemptsAPI Key access
In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/admin/webhooks/organizations/string/messages/string/attempts"[ {}]/admin/webhooks/statusAPI Key access
In: header
Response Body
application/json
curl -X GET "https://example.com/admin/webhooks/status"{ "enabled": true}/admin/webhooks/organizations/{organizationId}/initializeAPI Key access
In: header
Path Parameters
Response Body
curl -X POST "https://example.com/admin/webhooks/organizations/string/initialize"/admin/docker-registry/{id}/set-defaultAPI Key access
In: header
Path Parameters
ID of the docker registry
Response Body
application/json
curl -X POST "https://example.com/admin/docker-registry/string/set-default"{ "id": "123e4567-e89b-12d3-a456-426614174000", "name": "My Docker Hub", "url": "https://registry.hub.docker.com", "username": "username", "project": "my-project", "registryType": "internal", "createdAt": "2024-01-31T12:00:00Z", "updatedAt": "2024-01-31T12:00:00Z"}/admin/snapshots/can-cleanup-imageAPI Key access
In: header
Query Parameters
Image name with tag to check
Response Body
application/json
curl -X GET "https://example.com/admin/snapshots/can-cleanup-image?imageName=string"true/admin/snapshots/{id}/generalAPI Key access
In: header
Path Parameters
Snapshot ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PATCH "https://example.com/admin/snapshots/string/general" \ -H "Content-Type: application/json" \ -d '{ "general": true }'{ "id": "string", "organizationId": "string", "general": true, "name": "string", "imageName": "string", "state": "building", "size": 0, "entrypoint": [ "string" ], "cpu": 0, "gpu": 0, "gpuType": "H100", "mem": 0, "disk": 0, "errorReason": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "lastUsedAt": "2019-08-24T14:15:22Z", "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" }, "regionIds": [ "string" ], "initialRunnerId": "runner123", "ref": "daytonaio/sandbox:latest", "sourceSandboxId": "sandbox123", "sandboxClass": "linux-vm"}/admin/auditAPI Key access
In: header
Query Parameters
Page number of the results
1 <= value1Number of results per page
1 <= value <= 200100Deprecated alias for createdAt[gte]. From date (ISO 8601 format).
date-timeDeprecated alias for createdAt[lte]. To date (ISO 8601 format).
date-timeToken for cursor-based pagination. When provided, takes precedence over page parameter.
Filter by audit log ID.
Filter by actor user ID.
Filter by actor email.
Filter by actor API key prefix.
Filter by actor API key suffix.
Filter by action.
Filter by target type.
Filter by target ID.
Filter by HTTP status code.
Filter by creation timestamp.
Response Body
application/json
curl -X GET "https://example.com/admin/audit"{ "items": [ { "id": "string", "actorId": "string", "actorEmail": "string", "actorApiKeyPrefix": "string", "actorApiKeySuffix": "string", "organizationId": "string", "action": "string", "targetType": "string", "targetId": "string", "statusCode": 0, "errorMessage": "string", "ipAddress": "string", "userAgent": "string", "source": "string", "metadata": {}, "createdAt": "2019-08-24T14:15:22Z" } ], "total": 0, "page": 0, "totalPages": 0, "nextToken": "string"}/admin/organizationsAPI Key access
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/admin/organizations" \ -H "Content-Type: application/json" \ -d '{ "userId": "user_123", "name": "My Organization", "defaultRegionId": "us" }'{ "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}/admin/organizations/{organizationId}/quota/{regionId}API Key access
In: header
Path Parameters
Organization ID
ID of the region the new quota applies to
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/admin/organizations/string/quota/string" \ -H "Content-Type: application/json" \ -d '{ "sandboxClass": "linux-vm", "totalCpuQuota": 0, "totalMemoryQuota": 0, "totalDiskQuota": 0, "totalGpuQuota": 0 }'{ "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}/admin/organizations/{organizationId}/quota/{regionId}API Key access
In: header
Path Parameters
Organization ID
Region ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X PATCH "https://example.com/admin/organizations/string/quota/string" \ -H "Content-Type: application/json" \ -d '{ "totalCpuQuota": 0, "totalMemoryQuota": 0, "totalDiskQuota": 0, "totalGpuQuota": 0 }'/admin/organizations/{organizationId}/quota/{regionId}/{sandboxClass}API Key access
In: header
Path Parameters
Organization ID
Region ID
Sandbox class
Value in
- "linux-vm"
- "container"
- "android"
- "windows"
Response Body
application/json
curl -X GET "https://example.com/admin/organizations/string/quota/string/linux-vm"{ "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}/admin/organizations/{organizationId}/quota/{regionId}/{sandboxClass}API Key access
In: header
Path Parameters
Organization ID
Region ID
Sandbox class
Value in
- "linux-vm"
- "container"
- "android"
- "windows"
Response Body
curl -X DELETE "https://example.com/admin/organizations/string/quota/string/linux-vm"/admin/organizations/{organizationId}/preview-warningAPI Key access
In: header
Path Parameters
Organization ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/admin/organizations/string/preview-warning" \ -H "Content-Type: application/json" \ -d '{ "previewWarningEnabled": true }'