Runners
AuthorizationBearer <token>API Key access
regionId?stringFilter runners by region ID
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/runners'[ { "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z" }]AuthorizationBearer <token>API Key access
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- body
regionId*stringname*stringtags?array<string>Tags to associate with the runner
sandboxClass?|The sandbox class supported by the runner. Defaults to container when omitted or null.
"container""container""linux-vm""windows"nullapplication/json- response
id*stringThe ID of the runner
apiKey*stringThe API key for the runner
curl -X POST 'http://localhost:3000/runners' \ -H 'Content-Type: application/json' \ -d '{ "regionId": "regionId", "name": "name", "tags": [ "gpu", "us-east" ], "sandboxClass": "container"}'{ "apiKey": "dtn_1234567890", "id": "runner123"}AuthorizationBearer <token>API Key access
Runner info
application/json- response
id*stringThe ID of the runner
domain?stringThe domain of the runner
apiUrl?stringThe API URL of the runner
proxyUrl?stringThe proxy URL of the runner
cpu*numberThe CPU capacity of the runner
memory*numberThe memory capacity of the runner in GiB
disk*numberThe disk capacity of the runner in GiB
gpu?numberThe GPU capacity of the runner
gpuType?stringThe type of GPU
sandboxClass?stringThe sandbox class supported by this runner
"linux-vm""container""windows"currentCpuUsagePercentage?numberCurrent CPU usage percentage
currentMemoryUsagePercentage?numberCurrent RAM usage percentage
currentDiskUsagePercentage?numberCurrent disk usage percentage
currentAllocatedCpu?numberCurrent allocated CPU
currentAllocatedMemoryGiB?numberCurrent allocated memory in GiB
currentAllocatedDiskGiB?numberCurrent allocated disk in GiB
currentSnapshotCount?numberCurrent snapshot count
currentStartedSandboxes?numberCurrent number of started sandboxes
availabilityScore?numberRunner availability score
region*stringThe region of the runner
name*stringThe name of the runner
state*stringThe state of the runner
"initializing""ready""disabled""decommissioned""unresponsive"lastChecked?stringThe last time the runner was checked
unschedulable*booleanWhether the runner is unschedulable
tags*array<string>Tags associated with the runner
createdAt*stringThe creation timestamp of the runner
updatedAt*stringThe last update timestamp of the runner
version*stringDeprecatedThe version of the runner (deprecated in favor of apiVersion)
apiVersion*stringDeprecatedThe api version of the runner
runnerClass*"container"DeprecatedThe class of the runner. Deprecated and always returns "container" for backward compatibility - use sandboxClass instead.
"container"appVersion?stringDeprecatedThe app version of the runner
class?stringDeprecatedDeprecated runner class property
apiKey*stringThe API key for the runner
regionType?stringThe region type of the runner
"shared""dedicated""custom"curl -X GET 'http://localhost:3000/runners/me'{ "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "apiKey": "dtn_1234567890", "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "regionType": "shared", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z"}AuthorizationBearer <token>API Key access
Snapshot refs the runner is expected to have
application/json- response
[index: integer]?stringcurl -X GET 'http://localhost:3000/runners/me/snapshots'[ "string"]AuthorizationBearer <token>API Key access
sandboxId*stringapplication/json- response
id*stringThe ID of the runner
domain?stringThe domain of the runner
apiUrl?stringThe API URL of the runner
proxyUrl?stringThe proxy URL of the runner
cpu*numberThe CPU capacity of the runner
memory*numberThe memory capacity of the runner in GiB
disk*numberThe disk capacity of the runner in GiB
gpu?numberThe GPU capacity of the runner
gpuType?stringThe type of GPU
sandboxClass?stringThe sandbox class supported by this runner
"linux-vm""container""windows"currentCpuUsagePercentage?numberCurrent CPU usage percentage
currentMemoryUsagePercentage?numberCurrent RAM usage percentage
currentDiskUsagePercentage?numberCurrent disk usage percentage
currentAllocatedCpu?numberCurrent allocated CPU
currentAllocatedMemoryGiB?numberCurrent allocated memory in GiB
currentAllocatedDiskGiB?numberCurrent allocated disk in GiB
currentSnapshotCount?numberCurrent snapshot count
currentStartedSandboxes?numberCurrent number of started sandboxes
availabilityScore?numberRunner availability score
region*stringThe region of the runner
name*stringThe name of the runner
state*stringThe state of the runner
"initializing""ready""disabled""decommissioned""unresponsive"lastChecked?stringThe last time the runner was checked
unschedulable*booleanWhether the runner is unschedulable
tags*array<string>Tags associated with the runner
createdAt*stringThe creation timestamp of the runner
updatedAt*stringThe last update timestamp of the runner
version*stringDeprecatedThe version of the runner (deprecated in favor of apiVersion)
apiVersion*stringDeprecatedThe api version of the runner
runnerClass*"container"DeprecatedThe class of the runner. Deprecated and always returns "container" for backward compatibility - use sandboxClass instead.
"container"appVersion?stringDeprecatedThe app version of the runner
class?stringDeprecatedDeprecated runner class property
apiKey*stringThe API key for the runner
regionType?stringThe region type of the runner
"shared""dedicated""custom"curl -X GET 'http://localhost:3000/runners/by-sandbox/string'{ "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "apiKey": "dtn_1234567890", "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "regionType": "shared", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z"}AuthorizationBearer <token>API Key access
ref*stringSnapshot ref
application/json- response
[index: integer]?curl -X GET 'http://localhost:3000/runners/by-snapshot-ref?ref=string'[ { "runnerDomain": "runner.example.com", "runnerId": "123e4567-e89b-12d3-a456-426614174000", "runnerSnapshotId": "123e4567-e89b-12d3-a456-426614174000" }]AuthorizationBearer <token>API Key access
id*stringRunner ID
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
id*stringThe ID of the runner
domain?stringThe domain of the runner
apiUrl?stringThe API URL of the runner
proxyUrl?stringThe proxy URL of the runner
cpu*numberThe CPU capacity of the runner
memory*numberThe memory capacity of the runner in GiB
disk*numberThe disk capacity of the runner in GiB
gpu?numberThe GPU capacity of the runner
gpuType?stringThe type of GPU
sandboxClass?stringThe sandbox class supported by this runner
"linux-vm""container""windows"currentCpuUsagePercentage?numberCurrent CPU usage percentage
currentMemoryUsagePercentage?numberCurrent RAM usage percentage
currentDiskUsagePercentage?numberCurrent disk usage percentage
currentAllocatedCpu?numberCurrent allocated CPU
currentAllocatedMemoryGiB?numberCurrent allocated memory in GiB
currentAllocatedDiskGiB?numberCurrent allocated disk in GiB
currentSnapshotCount?numberCurrent snapshot count
currentStartedSandboxes?numberCurrent number of started sandboxes
availabilityScore?numberRunner availability score
region*stringThe region of the runner
name*stringThe name of the runner
state*stringThe state of the runner
"initializing""ready""disabled""decommissioned""unresponsive"lastChecked?stringThe last time the runner was checked
unschedulable*booleanWhether the runner is unschedulable
tags*array<string>Tags associated with the runner
createdAt*stringThe creation timestamp of the runner
updatedAt*stringThe last update timestamp of the runner
version*stringDeprecatedThe version of the runner (deprecated in favor of apiVersion)
apiVersion*stringDeprecatedThe api version of the runner
runnerClass*"container"DeprecatedThe class of the runner. Deprecated and always returns "container" for backward compatibility - use sandboxClass instead.
"container"appVersion?stringDeprecatedThe app version of the runner
class?stringDeprecatedDeprecated runner class property
curl -X GET 'http://localhost:3000/runners/string'{ "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z"}AuthorizationBearer <token>API Key access
id*stringRunner ID
force?booleanDelete the runner without waiting for sandboxes already marked for destruction. Requires the runner to have stopped reporting as ready.
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
curl -X DELETE 'http://localhost:3000/runners/string'AuthorizationBearer <token>API Key access
id*stringRunner ID
application/json- response
id*stringThe ID of the runner
domain?stringThe domain of the runner
apiUrl?stringThe API URL of the runner
proxyUrl?stringThe proxy URL of the runner
cpu*numberThe CPU capacity of the runner
memory*numberThe memory capacity of the runner in GiB
disk*numberThe disk capacity of the runner in GiB
gpu?numberThe GPU capacity of the runner
gpuType?stringThe type of GPU
sandboxClass?stringThe sandbox class supported by this runner
"linux-vm""container""windows"currentCpuUsagePercentage?numberCurrent CPU usage percentage
currentMemoryUsagePercentage?numberCurrent RAM usage percentage
currentDiskUsagePercentage?numberCurrent disk usage percentage
currentAllocatedCpu?numberCurrent allocated CPU
currentAllocatedMemoryGiB?numberCurrent allocated memory in GiB
currentAllocatedDiskGiB?numberCurrent allocated disk in GiB
currentSnapshotCount?numberCurrent snapshot count
currentStartedSandboxes?numberCurrent number of started sandboxes
availabilityScore?numberRunner availability score
region*stringThe region of the runner
name*stringThe name of the runner
state*stringThe state of the runner
"initializing""ready""disabled""decommissioned""unresponsive"lastChecked?stringThe last time the runner was checked
unschedulable*booleanWhether the runner is unschedulable
tags*array<string>Tags associated with the runner
createdAt*stringThe creation timestamp of the runner
updatedAt*stringThe last update timestamp of the runner
version*stringDeprecatedThe version of the runner (deprecated in favor of apiVersion)
apiVersion*stringDeprecatedThe api version of the runner
runnerClass*"container"DeprecatedThe class of the runner. Deprecated and always returns "container" for backward compatibility - use sandboxClass instead.
"container"appVersion?stringDeprecatedThe app version of the runner
class?stringDeprecatedDeprecated runner class property
apiKey*stringThe API key for the runner
regionType?stringThe region type of the runner
"shared""dedicated""custom"curl -X GET 'http://localhost:3000/runners/string/full'{ "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "apiKey": "dtn_1234567890", "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "regionType": "shared", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z"}AuthorizationBearer <token>API Key access
id*stringRunner ID
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
id*stringThe ID of the runner
domain?stringThe domain of the runner
apiUrl?stringThe API URL of the runner
proxyUrl?stringThe proxy URL of the runner
cpu*numberThe CPU capacity of the runner
memory*numberThe memory capacity of the runner in GiB
disk*numberThe disk capacity of the runner in GiB
gpu?numberThe GPU capacity of the runner
gpuType?stringThe type of GPU
sandboxClass?stringThe sandbox class supported by this runner
"linux-vm""container""windows"currentCpuUsagePercentage?numberCurrent CPU usage percentage
currentMemoryUsagePercentage?numberCurrent RAM usage percentage
currentDiskUsagePercentage?numberCurrent disk usage percentage
currentAllocatedCpu?numberCurrent allocated CPU
currentAllocatedMemoryGiB?numberCurrent allocated memory in GiB
currentAllocatedDiskGiB?numberCurrent allocated disk in GiB
currentSnapshotCount?numberCurrent snapshot count
currentStartedSandboxes?numberCurrent number of started sandboxes
availabilityScore?numberRunner availability score
region*stringThe region of the runner
name*stringThe name of the runner
state*stringThe state of the runner
"initializing""ready""disabled""decommissioned""unresponsive"lastChecked?stringThe last time the runner was checked
unschedulable*booleanWhether the runner is unschedulable
tags*array<string>Tags associated with the runner
createdAt*stringThe creation timestamp of the runner
updatedAt*stringThe last update timestamp of the runner
version*stringDeprecatedThe version of the runner (deprecated in favor of apiVersion)
apiVersion*stringDeprecatedThe api version of the runner
runnerClass*"container"DeprecatedThe class of the runner. Deprecated and always returns "container" for backward compatibility - use sandboxClass instead.
"container"appVersion?stringDeprecatedThe app version of the runner
class?stringDeprecatedDeprecated runner class property
curl -X PATCH 'http://localhost:3000/runners/string/scheduling'{ "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z"}AuthorizationBearer <token>API Key access
id*stringRunner ID
X-Daytona-Organization-ID?stringUse with JWT to specify the organization ID
application/json- response
id*stringThe ID of the runner
domain?stringThe domain of the runner
apiUrl?stringThe API URL of the runner
proxyUrl?stringThe proxy URL of the runner
cpu*numberThe CPU capacity of the runner
memory*numberThe memory capacity of the runner in GiB
disk*numberThe disk capacity of the runner in GiB
gpu?numberThe GPU capacity of the runner
gpuType?stringThe type of GPU
sandboxClass?stringThe sandbox class supported by this runner
"linux-vm""container""windows"currentCpuUsagePercentage?numberCurrent CPU usage percentage
currentMemoryUsagePercentage?numberCurrent RAM usage percentage
currentDiskUsagePercentage?numberCurrent disk usage percentage
currentAllocatedCpu?numberCurrent allocated CPU
currentAllocatedMemoryGiB?numberCurrent allocated memory in GiB
currentAllocatedDiskGiB?numberCurrent allocated disk in GiB
currentSnapshotCount?numberCurrent snapshot count
currentStartedSandboxes?numberCurrent number of started sandboxes
availabilityScore?numberRunner availability score
region*stringThe region of the runner
name*stringThe name of the runner
state*stringThe state of the runner
"initializing""ready""disabled""decommissioned""unresponsive"lastChecked?stringThe last time the runner was checked
unschedulable*booleanWhether the runner is unschedulable
tags*array<string>Tags associated with the runner
createdAt*stringThe creation timestamp of the runner
updatedAt*stringThe last update timestamp of the runner
version*stringDeprecatedThe version of the runner (deprecated in favor of apiVersion)
apiVersion*stringDeprecatedThe api version of the runner
runnerClass*"container"DeprecatedThe class of the runner. Deprecated and always returns "container" for backward compatibility - use sandboxClass instead.
"container"appVersion?stringDeprecatedThe app version of the runner
class?stringDeprecatedDeprecated runner class property
curl -X PATCH 'http://localhost:3000/runners/string/draining'{ "currentStartedSandboxes": 5, "appVersion": "v0.0.0-dev", "memory": 16, "currentMemoryUsagePercentage": 68.2, "availabilityScore": 85, "currentDiskUsagePercentage": 33.8, "currentCpuUsagePercentage": 45.6, "createdAt": "2023-10-01T12:00:00Z", "apiVersion": "0", "apiUrl": "https://api.runner1.example.com", "id": "runner123", "state": "initializing", "unschedulable": false, "currentAllocatedDiskGiB": 50000, "class": "small", "currentAllocatedMemoryGiB": 8000, "gpuType": "gpuType", "sandboxClass": "linux-vm", "currentAllocatedCpu": 4000, "updatedAt": "2023-10-01T12:00:00Z", "proxyUrl": "https://proxy.runner1.example.com", "cpu": 8, "gpu": 1, "currentSnapshotCount": 12, "version": "0", "tags": [ "gpu", "us-east" ], "disk": 100, "domain": "runner1.example.com", "name": "runner1", "runnerClass": "container", "region": "us", "lastChecked": "2024-10-01T12:00:00Z"}Endpoint for version 2 runners to send healthcheck and metrics. Updates lastChecked timestamp and runner metrics.
AuthorizationBearer <token>API Key access
application/json- body
metrics?Runner metrics
serviceHealth?array<>Health status of individual services on the runner
domain?stringRunner domain
proxyUrl?stringRunner proxy URL
apiUrl?stringRunner API URL
appVersion*stringRunner app version
Healthcheck received
curl -X POST 'http://localhost:3000/runners/healthcheck' \ -H 'Content-Type: application/json' \ -d '{ "appVersion": "v0.0.0-dev", "apiUrl": "http://api.daytona.example.com:8080", "proxyUrl": "http://proxy.daytona.example.com:8080", "domain": "runner-123.daytona.example.com", "serviceHealth": [ { "healthy": false, "errorReason": "Cannot connect to the runner", "serviceName": "runner" }, { "healthy": false, "errorReason": "Cannot connect to the runner", "serviceName": "runner" } ], "metrics": ""}'