KeiSeiKit-1.0/_primitives/_rust/kei-backend-daytona/docs/daytona-api-openapi.yaml
Parfii-bot 0be354a920 KeiSeiKit-public — clean state
Single-commit clean baseline after security scrub of niche-tells,
project codenames, internal jargon, and contributor-email leaks.

Contents:
- 100 Rust crates (_primitives/_rust/)
- 37 agent manifests (_manifests/) + generated specs (_generated/)
- 67 user-invocable skills (skills/)
- 33 hooks (hooks/)
- Composition blocks (_blocks/)
- Documentation (docs/, README.md)
- TS adapter packages (_ts_packages/)
- Assembler (_assembler/)
- Roles (_roles/)
- Templates (_templates/)
- Forgejo CI (.forgejo/)

Author: Denis Parfionovich <info@greendragon.info>

License: see LICENSE.
2026-05-01 12:09:03 +08:00

15285 lines
391 KiB
YAML

# FETCHED 2026-04-30 from https://raw.githubusercontent.com/daytonaio/daytona/main/libs/api-client-go/api/openapi.yaml
# Verified by: P1.2.c agent
# SHA-256: 81a1e3f6af322fc03975edcfe3dfc36eb050cf5870598ba968667fbb3fb4f07d
openapi: 3.0.0
info:
contact:
email: support@daytona.com
name: Daytona Platforms Inc.
url: https://www.daytona.io
description: Daytona AI platform API Docs
license:
name: Apache-2.0
url: https://www.apache.org/licenses/LICENSE-2.0
title: Daytona
version: "1.0"
servers:
- url: http://localhost:3000
paths:
/config:
get:
operationId: ConfigController_getConfig
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/DaytonaConfiguration"
description: Daytona configuration
summary: Get config
tags:
- config
/api-keys:
get:
operationId: listApiKeys
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/ApiKeyList"
type: array
description: API keys retrieved successfully.
"500":
description: Error fetching API keys.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List API keys
tags:
- api-keys
post:
operationId: createApiKey
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateApiKey"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/ApiKeyResponse"
description: API key created successfully.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create API key
tags:
- api-keys
/api-keys/current:
get:
operationId: getCurrentApiKey
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ApiKeyList"
description: API key retrieved successfully.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get current API key's details
tags:
- api-keys
/api-keys/{name}:
delete:
operationId: deleteApiKey
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: name
required: true
schema:
type: string
style: simple
responses:
"204":
description: API key deleted successfully.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete API key
tags:
- api-keys
get:
operationId: getApiKey
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: name
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ApiKeyList"
description: API key retrieved successfully.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get API key
tags:
- api-keys
/api-keys/{userId}/{name}:
delete:
operationId: deleteApiKeyForUser
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: userId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: name
required: true
schema:
type: string
style: simple
responses:
"204":
description: API key deleted successfully.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete API key for user
tags:
- api-keys
/organizations/invitations:
get:
operationId: listOrganizationInvitationsForAuthenticatedUser
parameters: []
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/OrganizationInvitation"
type: array
description: List of organization invitations
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List organization invitations for authenticated user
tags:
- organizations
/organizations/invitations/count:
get:
operationId: getOrganizationInvitationsCountForAuthenticatedUser
parameters: []
responses:
"200":
content:
application/json:
schema:
type: number
description: Count of organization invitations
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get count of organization invitations for authenticated user
tags:
- organizations
/organizations/invitations/{invitationId}/accept:
post:
operationId: acceptOrganizationInvitation
parameters:
- description: Invitation ID
explode: false
in: path
name: invitationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationInvitation"
description: Organization invitation accepted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Accept organization invitation
tags:
- organizations
/organizations/invitations/{invitationId}/decline:
post:
operationId: declineOrganizationInvitation
parameters:
- description: Invitation ID
explode: false
in: path
name: invitationId
required: true
schema:
type: string
style: simple
responses:
"200":
description: Organization invitation declined successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Decline organization invitation
tags:
- organizations
/organizations:
get:
operationId: listOrganizations
parameters: []
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Organization"
type: array
description: List of organizations
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List organizations
tags:
- organizations
post:
operationId: createOrganization
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateOrganization"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/Organization"
description: Organization created successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create organization
tags:
- organizations
/organizations/{organizationId}/default-region:
patch:
operationId: setOrganizationDefaultRegion
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateOrganizationDefaultRegion"
required: true
responses:
"204":
description: Default region set successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Set default region for organization
tags:
- organizations
/organizations/{organizationId}:
delete:
operationId: deleteOrganization
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"204":
description: Organization deleted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete organization
tags:
- organizations
get:
operationId: getOrganization
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Organization"
description: Organization details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get organization by ID
tags:
- organizations
/organizations/{organizationId}/usage:
get:
operationId: getOrganizationUsageOverview
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationUsageOverview"
description: Current usage overview
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get organization current usage overview
tags:
- organizations
/organizations/{organizationId}/quota:
patch:
operationId: updateOrganizationQuota
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateOrganizationQuota"
required: true
responses:
"204":
description: Organization quota updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update organization quota
tags:
- organizations
/organizations/{organizationId}/quota/{regionId}:
patch:
operationId: updateOrganizationRegionQuota
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: ID of the region where the updated quota will be applied
explode: false
in: path
name: regionId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateOrganizationRegionQuota"
required: true
responses:
"204":
description: Region quota updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update organization region quota
tags:
- organizations
/organizations/{organizationId}/leave:
post:
operationId: leaveOrganization
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"204":
description: Organization left successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Leave organization
tags:
- organizations
/organizations/{organizationId}/suspend:
post:
operationId: suspendOrganization
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationSuspension"
required: false
responses:
"204":
description: Organization suspended successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Suspend organization
tags:
- organizations
/organizations/{organizationId}/unsuspend:
post:
operationId: unsuspendOrganization
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"204":
description: Organization unsuspended successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Unsuspend organization
tags:
- organizations
/organizations/otel-config/by-sandbox-auth-token/{authToken}:
get:
operationId: getOrganizationOtelConfigBySandboxAuthToken
parameters:
- description: Sandbox Auth Token
explode: false
in: path
name: authToken
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OtelConfig"
description: OTEL Config
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get organization OTEL config by sandbox auth token
tags:
- organizations
/organizations/{organizationId}/otel-config:
get:
operationId: getOrganizationOtelConfig
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OtelConfig"
description: OTEL Config
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get organization OTEL config by organization ID
tags:
- organizations
/organizations/{organizationId}/sandbox-default-limited-network-egress:
post:
operationId: updateSandboxDefaultLimitedNetworkEgress
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationSandboxDefaultLimitedNetworkEgress"
required: true
responses:
"204":
description: Sandbox default limited network egress updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update sandbox default limited network egress
tags:
- organizations
/organizations/{organizationId}/experimental-config:
put:
operationId: updateExperimentalConfig
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
additionalProperties: true
example:
otel:
endpoint: http://otel-collector:4317
headers:
api-key: XXX
type: object
description: Experimental configuration as a JSON object. Set to null to clear
the configuration.
required: false
responses:
"200":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update experimental configuration
tags:
- organizations
/organizations/{organizationId}/roles:
get:
operationId: listOrganizationRoles
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/OrganizationRole"
type: array
description: List of organization roles
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List organization roles
tags:
- organizations
post:
operationId: createOrganizationRole
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateOrganizationRole"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationRole"
description: Organization role created successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create organization role
tags:
- organizations
/organizations/{organizationId}/roles/{roleId}:
delete:
operationId: deleteOrganizationRole
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: Role ID
explode: false
in: path
name: roleId
required: true
schema:
type: string
style: simple
responses:
"204":
description: Organization role deleted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete organization role
tags:
- organizations
put:
operationId: updateOrganizationRole
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: Role ID
explode: false
in: path
name: roleId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateOrganizationRole"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationRole"
description: Role updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update organization role
tags:
- organizations
/organizations/{organizationId}/users:
get:
operationId: listOrganizationMembers
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/OrganizationUser"
type: array
description: List of organization members
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List organization members
tags:
- organizations
/organizations/{organizationId}/users/{userId}/access:
post:
operationId: updateAccessForOrganizationMember
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: User ID
explode: false
in: path
name: userId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateOrganizationMemberAccess"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationUser"
description: Access updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update access for organization member
tags:
- organizations
/organizations/{organizationId}/users/{userId}:
delete:
operationId: deleteOrganizationMember
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: User ID
explode: false
in: path
name: userId
required: true
schema:
type: string
style: simple
responses:
"204":
description: User removed from organization successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete organization member
tags:
- organizations
/organizations/{organizationId}/invitations:
get:
operationId: listOrganizationInvitations
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/OrganizationInvitation"
type: array
description: List of pending organization invitations
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List pending organization invitations
tags:
- organizations
post:
operationId: createOrganizationInvitation
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateOrganizationInvitation"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationInvitation"
description: Organization invitation created successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create organization invitation
tags:
- organizations
/organizations/{organizationId}/invitations/{invitationId}:
put:
operationId: updateOrganizationInvitation
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: Invitation ID
explode: false
in: path
name: invitationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateOrganizationInvitation"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationInvitation"
description: Organization invitation updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update organization invitation
tags:
- organizations
/organizations/{organizationId}/invitations/{invitationId}/cancel:
post:
operationId: cancelOrganizationInvitation
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: Invitation ID
explode: false
in: path
name: invitationId
required: true
schema:
type: string
style: simple
responses:
"204":
description: Organization invitation cancelled successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Cancel organization invitation
tags:
- organizations
/regions:
get:
operationId: listAvailableRegions
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Region"
type: array
description: List of all available regions
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all available regions for the organization
tags:
- organizations
post:
operationId: createRegion
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRegion"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRegionResponse"
description: The region has been successfully created.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create a new region
tags:
- organizations
/regions/{id}:
delete:
operationId: deleteRegion
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Region ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"204":
description: The region has been successfully deleted.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete a region
tags:
- organizations
get:
operationId: getRegionById
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Region ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Region"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get region by ID
tags:
- organizations
patch:
operationId: updateRegion
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Region ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateRegion"
required: true
responses:
"200":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update region configuration
tags:
- organizations
/regions/{id}/regenerate-proxy-api-key:
post:
operationId: regenerateProxyApiKey
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Region ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RegenerateApiKeyResponse"
description: The proxy API key has been successfully regenerated.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Regenerate proxy API key for a region
tags:
- organizations
/regions/{id}/regenerate-ssh-gateway-api-key:
post:
operationId: regenerateSshGatewayApiKey
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Region ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RegenerateApiKeyResponse"
description: The SSH gateway API key has been successfully regenerated.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Regenerate SSH gateway API key for a region
tags:
- organizations
/regions/{id}/regenerate-snapshot-manager-credentials:
post:
operationId: regenerateSnapshotManagerCredentials
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Region ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotManagerCredentials"
description: The snapshot manager credentials have been successfully regenerated.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Regenerate snapshot manager credentials for a region
tags:
- organizations
/users/me:
get:
operationId: getAuthenticatedUser
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/User"
description: User details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get authenticated user
tags:
- users
/users/account-providers:
get:
operationId: getAvailableAccountProviders
parameters: []
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/AccountProvider"
type: array
description: Available account providers
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get available account providers
tags:
- users
/users/linked-accounts:
post:
operationId: linkAccount
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateLinkedAccount"
required: true
responses:
"204":
description: Account linked successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Link account
tags:
- users
/users/linked-accounts/{provider}/{providerUserId}:
delete:
operationId: unlinkAccount
parameters:
- explode: false
in: path
name: provider
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: providerUserId
required: true
schema:
type: string
style: simple
responses:
"204":
description: Account unlinked successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Unlink account
tags:
- users
/users/mfa/sms/enroll:
post:
operationId: enrollInSmsMfa
parameters: []
responses:
"200":
content:
application/json:
schema:
type: string
description: SMS MFA enrollment URL
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Enroll in SMS MFA
tags:
- users
/shared-regions:
get:
operationId: listSharedRegions
parameters: []
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Region"
type: array
description: List of all shared regions
summary: List all shared regions
tags:
- regions
/sandbox:
get:
operationId: listSandboxes
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Include verbose output
explode: true
in: query
name: verbose
required: false
schema:
type: boolean
style: form
- description: JSON encoded labels to filter by
explode: true
in: query
name: labels
required: false
schema:
example: "{\"label1\": \"value1\", \"label2\": \"value2\"}"
type: string
style: form
- description: Include errored and deleted sandboxes
explode: true
in: query
name: includeErroredDeleted
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Sandbox"
type: array
description: List of all sandboxes
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all sandboxes
tags:
- sandbox
post:
operationId: createSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateSandbox"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: The sandbox has been successfully created.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create a new sandbox
tags:
- sandbox
/sandbox/paginated:
get:
operationId: listSandboxesPaginated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Page number of the results
explode: true
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: number
style: form
- description: Number of results per page
explode: true
in: query
name: limit
required: false
schema:
default: 100
maximum: 200
minimum: 1
type: number
style: form
- description: Filter by partial ID match
explode: true
in: query
name: id
required: false
schema:
example: abc123
type: string
style: form
- description: Filter by partial name match
explode: true
in: query
name: name
required: false
schema:
example: abc123
type: string
style: form
- description: JSON encoded labels to filter by
explode: true
in: query
name: labels
required: false
schema:
example: "{\"label1\": \"value1\", \"label2\": \"value2\"}"
type: string
style: form
- description: Include results with errored state and deleted desired state
explode: true
in: query
name: includeErroredDeleted
required: false
schema:
default: false
type: boolean
style: form
- description: List of states to filter by
explode: true
in: query
name: states
required: false
schema:
items:
enum:
- creating
- restoring
- destroying
- started
- stopped
- starting
- stopping
- error
- build_failed
- pending_build
- building_snapshot
- unknown
- pulling_snapshot
- archived
- archiving
- resizing
- snapshotting
- forking
type: string
type: array
style: form
- description: List of snapshot names to filter by
explode: true
in: query
name: snapshots
required: false
schema:
items:
type: string
type: array
style: form
- description: List of regions to filter by
explode: true
in: query
name: regions
required: false
schema:
items:
type: string
type: array
style: form
- description: Minimum CPU
explode: true
in: query
name: minCpu
required: false
schema:
minimum: 1
type: number
style: form
- description: Maximum CPU
explode: true
in: query
name: maxCpu
required: false
schema:
minimum: 1
type: number
style: form
- description: Minimum memory in GiB
explode: true
in: query
name: minMemoryGiB
required: false
schema:
minimum: 1
type: number
style: form
- description: Maximum memory in GiB
explode: true
in: query
name: maxMemoryGiB
required: false
schema:
minimum: 1
type: number
style: form
- description: Minimum disk space in GiB
explode: true
in: query
name: minDiskGiB
required: false
schema:
minimum: 1
type: number
style: form
- description: Maximum disk space in GiB
explode: true
in: query
name: maxDiskGiB
required: false
schema:
minimum: 1
type: number
style: form
- description: Include items with last event after this timestamp
explode: true
in: query
name: lastEventAfter
required: false
schema:
example: 2024-01-01T00:00:00Z
format: date-time
type: string
style: form
- description: Include items with last event before this timestamp
explode: true
in: query
name: lastEventBefore
required: false
schema:
example: 2024-12-31T23:59:59Z
format: date-time
type: string
style: form
- description: Field to sort by
explode: true
in: query
name: sort
required: false
schema:
default: createdAt
enum:
- id
- name
- state
- snapshot
- region
- updatedAt
- createdAt
- lastActivityAt
type: string
style: form
- description: Direction to sort by
explode: true
in: query
name: order
required: false
schema:
default: desc
enum:
- asc
- desc
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedSandboxes"
description: Paginated list of all sandboxes
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all sandboxes paginated
tags:
- sandbox
/sandbox/for-runner:
get:
operationId: getSandboxesForRunner
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Comma-separated list of sandbox states to filter by
explode: true
in: query
name: states
required: false
schema:
type: string
style: form
- description: Skip sandboxes where state differs from desired state
explode: true
in: query
name: skipReconcilingSandboxes
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Sandbox"
type: array
description: List of sandboxes for the authenticated runner
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandboxes for the authenticated runner
tags:
- sandbox
/sandbox/{sandboxIdOrName}:
delete:
operationId: deleteSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox has been deleted
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete sandbox
tags:
- sandbox
get:
operationId: getSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Include verbose output
explode: true
in: query
name: verbose
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox details
tags:
- sandbox
/sandbox/{sandboxIdOrName}/recover:
post:
operationId: recoverSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: "If true, the sandbox is left in STOPPED after recovery instead\
\ of being started."
explode: true
in: query
name: skipStart
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Recovery initiated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Recover sandbox from error state
tags:
- sandbox
/sandbox/{sandboxIdOrName}/start:
post:
operationId: startSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox has been started or is being restored from archived
state
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Start sandbox
tags:
- sandbox
/sandbox/{sandboxIdOrName}/stop:
post:
operationId: stopSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Force stop the sandbox using SIGKILL instead of SIGTERM
explode: true
in: query
name: force
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox has been stopped
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Stop sandbox
tags:
- sandbox
/sandbox/{sandboxIdOrName}/resize:
post:
operationId: resizeSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ResizeSandbox"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox has been resized
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Resize sandbox resources
tags:
- sandbox
/sandbox/{sandboxIdOrName}/labels:
put:
operationId: replaceLabels
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SandboxLabels"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SandboxLabels"
description: Labels have been successfully replaced
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Replace sandbox labels
tags:
- sandbox
/sandbox/{sandboxId}/state:
put:
operationId: updateSandboxState
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateSandboxStateDto"
required: true
responses:
"200":
description: Sandbox state has been successfully updated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update sandbox state
tags:
- sandbox
/sandbox/{sandboxIdOrName}/backup:
post:
operationId: createBackup
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox backup has been initiated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create sandbox backup
tags:
- sandbox
/sandbox/{sandboxIdOrName}/snapshot:
post:
operationId: createSandboxSnapshot
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateSandboxSnapshot"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Snapshot creation has been initiated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create a snapshot from a sandbox
tags:
- sandbox
/sandbox/{sandboxIdOrName}/fork:
post:
operationId: forkSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ForkSandbox"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Fork operation has been initiated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Fork a sandbox
tags:
- sandbox
/sandbox/{sandboxIdOrName}/forks:
get:
operationId: getSandboxForks
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: includeDestroyed
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Sandbox"
type: array
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox fork children
tags:
- sandbox
/sandbox/{sandboxIdOrName}/parent:
get:
operationId: getSandboxParent
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox fork parent
tags:
- sandbox
/sandbox/{sandboxIdOrName}/ancestors:
get:
operationId: getSandboxAncestors
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Sandbox"
type: array
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox fork ancestor chain
tags:
- sandbox
/sandbox/{sandboxIdOrName}/public/{isPublic}:
post:
operationId: updatePublicStatus
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Public status to set
explode: false
in: path
name: isPublic
required: true
schema:
type: boolean
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Public status has been successfully updated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update public status
tags:
- sandbox
/sandbox/{sandboxId}/last-activity:
post:
operationId: updateLastActivity
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"201":
description: Last activity has been updated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update sandbox last activity
tags:
- sandbox
/sandbox/{sandboxIdOrName}/autostop/{interval}:
post:
operationId: setAutostopInterval
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Auto-stop interval in minutes (0 to disable)
explode: false
in: path
name: interval
required: true
schema:
type: number
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Auto-stop interval has been set
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Set sandbox auto-stop interval
tags:
- sandbox
/sandbox/{sandboxIdOrName}/autoarchive/{interval}:
post:
operationId: setAutoArchiveInterval
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Auto-archive interval in minutes (0 means the maximum interval
will be used)
explode: false
in: path
name: interval
required: true
schema:
type: number
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Auto-archive interval has been set
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Set sandbox auto-archive interval
tags:
- sandbox
/sandbox/{sandboxIdOrName}/autodelete/{interval}:
post:
operationId: setAutoDeleteInterval
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: "Auto-delete interval in minutes (negative value means disabled,\
\ 0 means delete immediately upon stopping)"
explode: false
in: path
name: interval
required: true
schema:
type: number
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Auto-delete interval has been set
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Set sandbox auto-delete interval
tags:
- sandbox
/sandbox/{sandboxIdOrName}/network-settings:
post:
description: "Changes outbound network policy on the runner for a running sandbox\
\ (for example block all traffic, restore access, or set a CIDR allow list)."
operationId: updateNetworkSettings
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateSandboxNetworkSettings"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Network settings have been updated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update sandbox network settings
tags:
- sandbox
/sandbox/{sandboxIdOrName}/archive:
post:
operationId: archiveSandbox
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Sandbox has been archived
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Archive sandbox
tags:
- sandbox
/sandbox/{sandboxIdOrName}/ports/{port}/preview-url:
get:
operationId: getPortPreviewUrl
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Port number to get preview URL for
explode: false
in: path
name: port
required: true
schema:
type: number
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PortPreviewUrl"
description: Preview URL for the specified port
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get preview URL for a sandbox port
tags:
- sandbox
/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url:
get:
operationId: getSignedPortPreviewUrl
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Port number to get signed preview URL for
explode: false
in: path
name: port
required: true
schema:
type: integer
style: simple
- description: "Expiration time in seconds (default: 60 seconds)"
explode: true
in: query
name: expiresInSeconds
required: false
schema:
type: integer
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SignedPortPreviewUrl"
description: Signed preview URL for the specified port
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get signed preview URL for a sandbox port
tags:
- sandbox
/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url/{token}/expire:
post:
operationId: expireSignedPortPreviewUrl
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Port number to expire signed preview URL for
explode: false
in: path
name: port
required: true
schema:
type: integer
style: simple
- description: Token to expire signed preview URL for
explode: false
in: path
name: token
required: true
schema:
type: string
style: simple
responses:
"200":
description: Signed preview URL has been expired
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Expire signed preview URL for a sandbox port
tags:
- sandbox
/sandbox/{sandboxIdOrName}/build-logs:
get:
deprecated: true
description: This endpoint is deprecated. Use `getBuildLogsUrl` instead.
operationId: getBuildLogs
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: Whether to follow the logs stream
explode: true
in: query
name: follow
required: false
schema:
type: boolean
style: form
responses:
"200":
description: Build logs stream
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get build logs
tags:
- sandbox
/sandbox/{sandboxIdOrName}/build-logs-url:
get:
operationId: getBuildLogsUrl
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Url"
description: Build logs URL
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get build logs URL
tags:
- sandbox
/sandbox/{sandboxIdOrName}/ssh-access:
delete:
operationId: revokeSshAccess
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: "SSH access token to revoke. If not provided, all SSH access\
\ for the sandbox will be revoked."
explode: true
in: query
name: token
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: SSH access has been revoked
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Revoke SSH access for sandbox
tags:
- sandbox
post:
operationId: createSshAccess
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID or name of the sandbox
explode: false
in: path
name: sandboxIdOrName
required: true
schema:
type: string
style: simple
- description: "Expiration time in minutes (default: 60)"
explode: true
in: query
name: expiresInMinutes
required: false
schema:
type: number
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SshAccessDto"
description: SSH access has been created
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create SSH access for sandbox
tags:
- sandbox
/sandbox/ssh-access/validate:
get:
operationId: validateSshAccess
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: SSH access token to validate
explode: true
in: query
name: token
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SshAccessValidationDto"
description: SSH access validation result
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Validate SSH access for sandbox
tags:
- sandbox
/sandbox/{sandboxId}/toolbox-proxy-url:
get:
operationId: getToolboxProxyUrl
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ToolboxProxyUrl"
description: Toolbox proxy URL for the specified sandbox
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get toolbox proxy URL for a sandbox
tags:
- sandbox
/sandbox/{sandboxId}/organization:
get:
operationId: getOrganizationBySandboxId
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Organization"
description: Organization
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get organization by sandbox ID
tags:
- sandbox
/sandbox/{sandboxId}/region-quota:
get:
operationId: getRegionQuotaBySandboxId
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RegionQuota"
description: Region quota
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get region quota by sandbox ID
tags:
- sandbox
/runners:
get:
operationId: listRunners
parameters:
- description: Filter runners by region ID
explode: true
in: query
name: regionId
required: false
schema:
type: string
style: form
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Runner"
type: array
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all runners
tags:
- runners
post:
operationId: createRunner
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRunner"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRunnerResponse"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create runner
tags:
- runners
/runners/me:
get:
operationId: getInfoForAuthenticatedRunner
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RunnerFull"
description: Runner info
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get info for authenticated runner
tags:
- runners
/runners/by-sandbox/{sandboxId}:
get:
operationId: getRunnerBySandboxId
parameters:
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RunnerFull"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get runner by sandbox ID
tags:
- runners
/runners/by-snapshot-ref:
get:
operationId: getRunnersBySnapshotRef
parameters:
- description: Snapshot ref
explode: true
in: query
name: ref
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/RunnerSnapshotDto"
type: array
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get runners by snapshot ref
tags:
- runners
/runners/{id}:
delete:
operationId: deleteRunner
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"204":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete runner
tags:
- runners
get:
operationId: getRunnerById
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Runner"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get runner by ID
tags:
- runners
/runners/{id}/full:
get:
operationId: getRunnerFullById
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RunnerFull"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get runner by ID
tags:
- runners
/runners/{id}/scheduling:
patch:
operationId: updateRunnerScheduling
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Runner"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update runner scheduling status
tags:
- runners
/runners/{id}/draining:
patch:
operationId: updateRunnerDraining
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Runner"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update runner draining status
tags:
- runners
/runners/healthcheck:
post:
description: Endpoint for version 2 runners to send healthcheck and metrics.
Updates lastChecked timestamp and runner metrics.
operationId: runnerHealthcheck
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/RunnerHealthcheck"
required: true
responses:
"200":
description: Healthcheck received
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Runner healthcheck
tags:
- runners
/toolbox/{sandboxId}/toolbox/project-dir:
get:
deprecated: true
operationId: getProjectDir_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ProjectDirResponse"
description: Project directory retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get sandbox project dir"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/user-home-dir:
get:
deprecated: true
operationId: getUserHomeDir_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/UserHomeDirResponse"
description: User home directory retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get sandbox user home dir"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/work-dir:
get:
deprecated: true
operationId: getWorkDir_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/WorkDirResponse"
description: Work-dir retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get sandbox work-dir"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files:
delete:
deprecated: true
description: Delete file inside sandbox
operationId: deleteFile_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: recursive
required: false
schema:
type: boolean
style: form
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
responses:
"200":
description: File deleted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Delete file"
tags:
- toolbox
get:
deprecated: true
operationId: listFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/FileInfo"
type: array
description: Files listed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] List files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/download:
get:
deprecated: true
description: Download file from sandbox
operationId: downloadFile_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
format: binary
type: string
description: File downloaded successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Download file"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/bulk-download:
post:
deprecated: true
description: Streams back a multipart/form-data bundle of the requested paths
operationId: downloadFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/DownloadFiles"
required: true
responses:
"200":
content:
application/json:
schema:
format: binary
type: string
description: A multipart/form-data response with each file as a part
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Download multiple files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/find:
get:
deprecated: true
description: Search for text/pattern inside sandbox files
operationId: findInFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
- explode: true
in: query
name: pattern
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Match"
type: array
description: Search completed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Search for text/pattern in files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/folder:
post:
deprecated: true
description: Create folder inside sandbox
operationId: createFolder_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
- explode: true
in: query
name: mode
required: true
schema:
type: string
style: form
responses:
"200":
description: Folder created successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Create folder"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/info:
get:
deprecated: true
description: Get file info inside sandbox
operationId: getFileInfo_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/FileInfo"
description: File info retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get file info"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/move:
post:
deprecated: true
description: Move file inside sandbox
operationId: moveFile_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: source
required: true
schema:
type: string
style: form
- explode: true
in: query
name: destination
required: true
schema:
type: string
style: form
responses:
"200":
description: File moved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Move file"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/permissions:
post:
deprecated: true
description: Set file owner/group/permissions inside sandbox
operationId: setFilePermissions_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
- explode: true
in: query
name: owner
required: false
schema:
type: string
style: form
- explode: true
in: query
name: group
required: false
schema:
type: string
style: form
- explode: true
in: query
name: mode
required: false
schema:
type: string
style: form
responses:
"200":
description: File permissions updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Set file permissions"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/replace:
post:
deprecated: true
description: Replace text/pattern in multiple files inside sandbox
operationId: replaceInFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ReplaceRequest"
required: true
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/ReplaceResult"
type: array
description: Text replaced successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Replace in files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/search:
get:
deprecated: true
description: Search for files inside sandbox
operationId: searchFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
- explode: true
in: query
name: pattern
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SearchFilesResponse"
description: Search completed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Search files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/upload:
post:
deprecated: true
description: Upload file inside sandbox
operationId: uploadFile_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
requestBody:
content:
multipart/form-data:
schema:
$ref: "#/components/schemas/uploadFile_deprecated_request"
required: true
responses:
"200":
description: File uploaded successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Upload file"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/files/bulk-upload:
post:
deprecated: true
description: Upload multiple files inside sandbox
operationId: uploadFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
multipart/form-data:
schema:
items:
$ref: "#/components/schemas/UploadFile"
type: array
required: true
responses:
"200":
description: Files uploaded successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Upload multiple files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/add:
post:
deprecated: true
description: Add files to git commit
operationId: gitAddFiles_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitAddRequest"
required: true
responses:
"200":
description: Files added to git successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Add files"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/branches:
delete:
deprecated: true
description: Delete branch on git repository
operationId: gitDeleteBranch_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitDeleteBranchRequest"
required: true
responses:
"200":
description: Branch deleted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Delete branch"
tags:
- toolbox
get:
deprecated: true
description: Get branch list from git repository
operationId: gitListBranches_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ListBranchResponse"
description: Branch list retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get branch list"
tags:
- toolbox
post:
deprecated: true
description: Create branch on git repository
operationId: gitCreateBranch_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitBranchRequest"
required: true
responses:
"200":
description: Branch created successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Create branch"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/clone:
post:
deprecated: true
description: Clone git repository
operationId: gitCloneRepository_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitCloneRequest"
required: true
responses:
"200":
description: Repository cloned successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Clone repository"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/commit:
post:
deprecated: true
description: Commit changes to git repository
operationId: gitCommitChanges_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitCommitRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/GitCommitResponse"
description: Changes committed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Commit changes"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/history:
get:
deprecated: true
description: Get commit history from git repository
operationId: gitGetHistory_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/GitCommitInfo"
type: array
description: Commit history retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get commit history"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/pull:
post:
deprecated: true
description: Pull changes from remote
operationId: gitPullChanges_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitRepoRequest"
required: true
responses:
"200":
description: Changes pulled successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Pull changes"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/push:
post:
deprecated: true
description: Push changes to remote
operationId: gitPushChanges_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitRepoRequest"
required: true
responses:
"200":
description: Changes pushed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Push changes"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/checkout:
post:
deprecated: true
description: Checkout branch or commit in git repository
operationId: gitCheckoutBranch_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/GitCheckoutRequest"
required: true
responses:
"200":
description: Branch checked out successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Checkout branch"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/git/status:
get:
deprecated: true
description: Get status from git repository
operationId: gitGetStatus_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: path
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/GitStatus"
description: Git status retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get git status"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/execute:
post:
deprecated: true
description: Execute command synchronously inside sandbox
operationId: executeCommand_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ExecuteRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ExecuteResponse"
description: Command executed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Execute command"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/session:
get:
deprecated: true
description: List all active sessions in the sandbox
operationId: listSessions_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Session"
type: array
description: Sessions retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] List sessions"
tags:
- toolbox
post:
deprecated: true
description: Create a new session in the sandbox
operationId: createSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateSessionRequest"
required: true
responses:
"200":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Create session"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/session/{sessionId}:
delete:
deprecated: true
description: Delete a specific session
operationId: deleteSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
responses:
"200":
description: Session deleted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Delete session"
tags:
- toolbox
get:
deprecated: true
description: Get session by ID
operationId: getSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Session"
description: Session retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get session"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/session/{sessionId}/exec:
post:
deprecated: true
description: Execute a command in a specific session
operationId: executeSessionCommand_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SessionExecuteRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SessionExecuteResponse"
description: Command executed successfully
"202":
content:
application/json:
schema:
$ref: "#/components/schemas/SessionExecuteResponse"
description: Command accepted and is being processed
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Execute command in session"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/session/{sessionId}/command/{commandId}:
get:
deprecated: true
description: Get session command by ID
operationId: getSessionCommand_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: commandId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Command"
description: Session command retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get session command"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/session/{sessionId}/command/{commandId}/logs:
get:
deprecated: true
description: Get logs for a specific command in a session
operationId: getSessionCommandLogs_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: commandId
required: true
schema:
type: string
style: simple
- description: Whether to stream the logs
explode: true
in: query
name: follow
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
text/plain:
schema:
type: string
description: Command log stream marked with stdout and stderr prefixes
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get command logs"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/pty:
get:
deprecated: true
description: List all active PTY sessions in the sandbox
operationId: listPTYSessions_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PtyListResponse"
description: PTY sessions retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] List PTY sessions"
tags:
- toolbox
post:
deprecated: true
description: Create a new PTY session in the sandbox
operationId: createPTYSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PtyCreateRequest"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/PtyCreateResponse"
description: PTY session created successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Create PTY session"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/pty/{sessionId}:
delete:
deprecated: true
description: Delete a PTY session and terminate the associated process
operationId: deletePTYSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
responses:
"200":
description: PTY session deleted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Delete PTY session"
tags:
- toolbox
get:
deprecated: true
description: Get PTY session information by ID
operationId: getPTYSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PtySessionInfo"
description: PTY session retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get PTY session"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/process/pty/{sessionId}/resize:
post:
deprecated: true
description: Resize a PTY session
operationId: resizePTYSession_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sessionId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PtyResizeRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PtySessionInfo"
description: PTY session resized successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Resize PTY session"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/completions:
post:
deprecated: true
description: The Completion request is sent from the client to the server to
compute completion items at a given cursor position.
operationId: LspCompletions_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LspCompletionParams"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/CompletionList"
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get Lsp Completions"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/did-close:
post:
deprecated: true
description: The document close notification is sent from the client to the
server when the document got closed in the client.
operationId: LspDidClose_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LspDocumentRequest"
required: true
responses:
"200":
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Call Lsp DidClose"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/did-open:
post:
deprecated: true
description: The document open notification is sent from the client to the server
to signal newly opened text documents.
operationId: LspDidOpen_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LspDocumentRequest"
required: true
responses:
"200":
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Call Lsp DidOpen"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/document-symbols:
get:
deprecated: true
description: The document symbol request is sent from the client to the server.
operationId: LspDocumentSymbols_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: languageId
required: true
schema:
type: string
style: form
- explode: true
in: query
name: pathToProject
required: true
schema:
type: string
style: form
- explode: true
in: query
name: uri
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/LspSymbol"
type: array
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Call Lsp DocumentSymbols"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/start:
post:
deprecated: true
description: Start Lsp server process inside sandbox project
operationId: LspStart_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LspServerRequest"
required: true
responses:
"200":
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Start Lsp server"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/stop:
post:
deprecated: true
description: Stop Lsp server process inside sandbox project
operationId: LspStop_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LspServerRequest"
required: true
responses:
"200":
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Stop Lsp server"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/lsp/workspace-symbols:
get:
deprecated: true
description: The workspace symbol request is sent from the client to the server
to list project-wide symbols matching the query string.
operationId: LspWorkspaceSymbols_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: languageId
required: true
schema:
type: string
style: form
- explode: true
in: query
name: pathToProject
required: true
schema:
type: string
style: form
- explode: true
in: query
name: query
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/LspSymbol"
type: array
description: OK
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Call Lsp WorkspaceSymbols"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/start:
post:
deprecated: true
description: "Start all VNC desktop processes (Xvfb, xfce4, x11vnc, novnc)"
operationId: startComputerUse_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ComputerUseStartResponse"
description: Computer use processes started successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Start computer use processes"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/stop:
post:
deprecated: true
description: "Stop all VNC desktop processes (Xvfb, xfce4, x11vnc, novnc)"
operationId: stopComputerUse_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ComputerUseStopResponse"
description: Computer use processes stopped successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Stop computer use processes"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/status:
get:
deprecated: true
description: Get status of all VNC desktop processes
operationId: getComputerUseStatus_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ComputerUseStatusResponse"
description: Computer use status retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get computer use status"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/process/{processName}/status:
get:
deprecated: true
description: Get status of a specific VNC process
operationId: getProcessStatus_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: processName
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessStatusResponse"
description: Process status retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get process status"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/process/{processName}/restart:
post:
deprecated: true
description: Restart a specific VNC process
operationId: restartProcess_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: processName
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessRestartResponse"
description: Process restarted successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Restart process"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/process/{processName}/logs:
get:
deprecated: true
description: Get logs for a specific VNC process
operationId: getProcessLogs_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: processName
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessLogsResponse"
description: Process logs retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get process logs"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/process/{processName}/errors:
get:
deprecated: true
description: Get error logs for a specific VNC process
operationId: getProcessErrors_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: processName
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ProcessErrorsResponse"
description: Process errors retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get process errors"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/mouse/position:
get:
deprecated: true
description: Get current mouse cursor position
operationId: getMousePosition_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/MousePosition"
description: Mouse position retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get mouse position"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/mouse/move:
post:
deprecated: true
description: Move mouse cursor to specified coordinates
operationId: moveMouse_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/MouseMoveRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/MouseMoveResponse"
description: Mouse moved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Move mouse"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/mouse/click:
post:
deprecated: true
description: Click mouse at specified coordinates
operationId: clickMouse_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/MouseClickRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/MouseClickResponse"
description: Mouse clicked successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Click mouse"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/mouse/drag:
post:
deprecated: true
description: Drag mouse from start to end coordinates
operationId: dragMouse_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/MouseDragRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/MouseDragResponse"
description: Mouse dragged successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Drag mouse"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/mouse/scroll:
post:
deprecated: true
description: Scroll mouse at specified coordinates
operationId: scrollMouse_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/MouseScrollRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/MouseScrollResponse"
description: Mouse scrolled successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Scroll mouse"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/keyboard/type:
post:
deprecated: true
description: Type text using keyboard
operationId: typeText_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/KeyboardTypeRequest"
required: true
responses:
"200":
description: Text typed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Type text"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/keyboard/key:
post:
deprecated: true
description: Press a key with optional modifiers
operationId: pressKey_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/KeyboardPressRequest"
required: true
responses:
"200":
description: Key pressed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Press key"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/keyboard/hotkey:
post:
deprecated: true
description: Press a hotkey combination
operationId: pressHotkey_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/KeyboardHotkeyRequest"
required: true
responses:
"200":
description: Hotkey pressed successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Press hotkey"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/screenshot:
get:
deprecated: true
description: Take a screenshot of the entire screen
operationId: takeScreenshot_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: show_cursor
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenshotResponse"
description: Screenshot taken successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Take screenshot"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/screenshot/region:
get:
deprecated: true
description: Take a screenshot of a specific region
operationId: takeRegionScreenshot_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: show_cursor
required: false
schema:
type: boolean
style: form
- explode: true
in: query
name: height
required: true
schema:
type: number
style: form
- explode: true
in: query
name: width
required: true
schema:
type: number
style: form
- explode: true
in: query
name: "y"
required: true
schema:
type: number
style: form
- explode: true
in: query
name: x
required: true
schema:
type: number
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RegionScreenshotResponse"
description: Region screenshot taken successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Take region screenshot"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/screenshot/compressed:
get:
deprecated: true
description: "Take a compressed screenshot with format, quality, and scale options"
operationId: takeCompressedScreenshot_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: scale
required: false
schema:
type: number
style: form
- explode: true
in: query
name: quality
required: false
schema:
type: number
style: form
- explode: true
in: query
name: format
required: false
schema:
type: string
style: form
- explode: true
in: query
name: show_cursor
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/CompressedScreenshotResponse"
description: Compressed screenshot taken successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Take compressed screenshot"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/screenshot/region/compressed:
get:
deprecated: true
description: Take a compressed screenshot of a specific region
operationId: takeCompressedRegionScreenshot_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: scale
required: false
schema:
type: number
style: form
- explode: true
in: query
name: quality
required: false
schema:
type: number
style: form
- explode: true
in: query
name: format
required: false
schema:
type: string
style: form
- explode: true
in: query
name: show_cursor
required: false
schema:
type: boolean
style: form
- explode: true
in: query
name: height
required: true
schema:
type: number
style: form
- explode: true
in: query
name: width
required: true
schema:
type: number
style: form
- explode: true
in: query
name: "y"
required: true
schema:
type: number
style: form
- explode: true
in: query
name: x
required: true
schema:
type: number
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/CompressedScreenshotResponse"
description: Compressed region screenshot taken successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Take compressed region screenshot"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/display/info:
get:
deprecated: true
description: Get information about displays
operationId: getDisplayInfo_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/DisplayInfoResponse"
description: Display info retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get display info"
tags:
- toolbox
/toolbox/{sandboxId}/toolbox/computeruse/display/windows:
get:
deprecated: true
description: Get list of open windows
operationId: getWindows_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/WindowsResponse"
description: Windows list retrieved successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get windows"
tags:
- toolbox
/snapshots:
get:
operationId: getAllSnapshots
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Page number of the results
explode: true
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: number
style: form
- description: Number of results per page
explode: true
in: query
name: limit
required: false
schema:
default: 100
maximum: 200
minimum: 1
type: number
style: form
- description: Filter by partial name match
explode: true
in: query
name: name
required: false
schema:
example: abc123
type: string
style: form
- description: Field to sort by
explode: true
in: query
name: sort
required: false
schema:
default: lastUsedAt
enum:
- name
- state
- lastUsedAt
- createdAt
type: string
style: form
- description: Direction to sort by
explode: true
in: query
name: order
required: false
schema:
default: desc
enum:
- asc
- desc
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedSnapshots"
description: Paginated list of all snapshots
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all snapshots
tags:
- snapshots
post:
operationId: createSnapshot
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateSnapshot"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotDto"
description: The snapshot has been successfully created.
"400":
description: Bad request - Snapshots with tag ":latest" are not allowed
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create a new snapshot
tags:
- snapshots
/snapshots/{id}:
delete:
operationId: removeSnapshot
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Snapshot ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
description: Snapshot has been deleted
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete snapshot
tags:
- snapshots
get:
operationId: getSnapshot
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Snapshot ID or name
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotDto"
description: The snapshot
"404":
description: Snapshot not found
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get snapshot by ID or name
tags:
- snapshots
/snapshots/{id}/build-logs:
get:
deprecated: true
description: This endpoint is deprecated. Use `getSnapshotBuildLogsUrl` instead.
operationId: getSnapshotBuildLogs
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Snapshot ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
- description: Whether to follow the logs stream
explode: true
in: query
name: follow
required: false
schema:
type: boolean
style: form
responses:
"200":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get snapshot build logs
tags:
- snapshots
/snapshots/{id}/build-logs-url:
get:
operationId: getSnapshotBuildLogsUrl
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Snapshot ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Url"
description: The snapshot build logs URL
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get snapshot build logs URL
tags:
- snapshots
/snapshots/{id}/activate:
post:
operationId: activateSnapshot
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Snapshot ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotDto"
description: The snapshot has been successfully activated.
"400":
description: "Bad request - Snapshot is already active, not in inactive\
\ state, or has associated snapshot runners"
"404":
description: Snapshot not found
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Activate a snapshot
tags:
- snapshots
/snapshots/{id}/deactivate:
post:
operationId: deactivateSnapshot
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Snapshot ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"204":
description: The snapshot has been successfully deactivated.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Deactivate a snapshot
tags:
- snapshots
/workspace:
get:
deprecated: true
operationId: listWorkspaces_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Include verbose output
explode: true
in: query
name: verbose
required: false
schema:
type: boolean
style: form
- description: JSON encoded labels to filter by
explode: true
in: query
name: labels
required: false
schema:
example: "{\"label1\": \"value1\", \"label2\": \"value2\"}"
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/Workspace"
type: array
description: List of all workspacees
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] List all workspaces"
tags:
- workspace
post:
deprecated: true
operationId: createWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateWorkspace"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Workspace"
description: The workspace has been successfully created.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Create a new workspace"
tags:
- workspace
/workspace/{workspaceId}:
delete:
deprecated: true
operationId: deleteWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- explode: true
in: query
name: force
required: true
schema:
type: boolean
style: form
responses:
"200":
description: Workspace has been deleted
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Delete workspace"
tags:
- workspace
get:
deprecated: true
operationId: getWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- description: Include verbose output
explode: true
in: query
name: verbose
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Workspace"
description: Workspace details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get workspace details"
tags:
- workspace
/workspace/{workspaceId}/start:
post:
deprecated: true
operationId: startWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
responses:
"200":
description: Workspace has been started
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Start workspace"
tags:
- workspace
/workspace/{workspaceId}/stop:
post:
deprecated: true
operationId: stopWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
responses:
"200":
description: Workspace has been stopped
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Stop workspace"
tags:
- workspace
/workspace/{workspaceId}/labels:
put:
deprecated: true
operationId: replaceLabelsWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SandboxLabels"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SandboxLabels"
description: Labels have been successfully replaced
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Replace workspace labels"
tags:
- workspace
/workspace/{workspaceId}/backup:
post:
deprecated: true
operationId: createBackupWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Workspace"
description: Workspace backup has been initiated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Create workspace backup"
tags:
- workspace
/workspace/{workspaceId}/public/{isPublic}:
post:
deprecated: true
operationId: updatePublicStatusWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- description: Public status to set
explode: false
in: path
name: isPublic
required: true
schema:
type: boolean
style: simple
responses:
"201":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Update public status"
tags:
- workspace
/workspace/{workspaceId}/autostop/{interval}:
post:
deprecated: true
operationId: setAutostopIntervalWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- description: Auto-stop interval in minutes (0 to disable)
explode: false
in: path
name: interval
required: true
schema:
type: number
style: simple
responses:
"200":
description: Auto-stop interval has been set
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Set workspace auto-stop interval"
tags:
- workspace
/workspace/{workspaceId}/autoarchive/{interval}:
post:
deprecated: true
operationId: setAutoArchiveIntervalWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- description: Auto-archive interval in minutes (0 means the maximum interval
will be used)
explode: false
in: path
name: interval
required: true
schema:
type: number
style: simple
responses:
"200":
description: Auto-archive interval has been set
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Set workspace auto-archive interval"
tags:
- workspace
/workspace/{workspaceId}/archive:
post:
deprecated: true
operationId: archiveWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
responses:
"200":
description: Workspace has been archived
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Archive workspace"
tags:
- workspace
/workspace/{workspaceId}/ports/{port}/preview-url:
get:
deprecated: true
operationId: getPortPreviewUrlWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- description: Port number to get preview URL for
explode: false
in: path
name: port
required: true
schema:
type: number
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/WorkspacePortPreviewUrl"
description: Preview URL for the specified port
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get preview URL for a workspace port"
tags:
- workspace
/workspace/{workspaceId}/build-logs:
get:
deprecated: true
operationId: getBuildLogsWorkspace_deprecated
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the workspace
explode: false
in: path
name: workspaceId
required: true
schema:
type: string
style: simple
- description: Whether to follow the logs stream
explode: true
in: query
name: follow
required: false
schema:
type: boolean
style: form
responses:
"200":
description: Build logs stream
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: "[DEPRECATED] Get build logs"
tags:
- workspace
/preview/{sandboxId}/public:
get:
operationId: isSandboxPublic
parameters:
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
type: boolean
description: Public status of the sandbox
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Check if sandbox is public
tags:
- preview
/preview/{sandboxId}/validate/{authToken}:
get:
operationId: isValidAuthToken
parameters:
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- description: Auth token of the sandbox
explode: false
in: path
name: authToken
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
type: boolean
description: Sandbox auth token validation status
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Check if sandbox auth token is valid
tags:
- preview
/preview/{sandboxId}/access:
get:
operationId: hasSandboxAccess
parameters:
- explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
type: boolean
description: User access status to the sandbox
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Check if user has access to the sandbox
tags:
- preview
/preview/{signedPreviewToken}/{port}/sandbox-id:
get:
operationId: getSandboxIdFromSignedPreviewUrlToken
parameters:
- description: Signed preview URL token
explode: false
in: path
name: signedPreviewToken
required: true
schema:
type: string
style: simple
- description: Port number to get sandbox ID from signed preview URL token
explode: false
in: path
name: port
required: true
schema:
type: number
style: simple
responses:
"200":
content:
application/json:
schema:
type: string
description: Sandbox ID from signed preview URL token
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox ID from signed preview URL token
tags:
- preview
/volumes:
get:
operationId: listVolumes
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Include deleted volumes in the response
explode: true
in: query
name: includeDeleted
required: false
schema:
type: boolean
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/VolumeDto"
type: array
description: List of all volumes
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all volumes
tags:
- volumes
post:
operationId: createVolume
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateVolume"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/VolumeDto"
description: The volume has been successfully created.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create a new volume
tags:
- volumes
/volumes/{volumeId}:
delete:
operationId: deleteVolume
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the volume
explode: false
in: path
name: volumeId
required: true
schema:
type: string
style: simple
responses:
"200":
description: Volume has been marked for deletion
"409":
description: Volume is in use by one or more sandboxes
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete volume
tags:
- volumes
get:
operationId: getVolume
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the volume
explode: false
in: path
name: volumeId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/VolumeDto"
description: Volume details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get volume details
tags:
- volumes
/volumes/by-name/{name}:
get:
operationId: getVolumeByName
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: Name of the volume
explode: false
in: path
name: name
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/VolumeDto"
description: Volume details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get volume details by name
tags:
- volumes
/jobs:
get:
description: "Returns a paginated list of jobs for the runner, optionally filtered\
\ by status."
operationId: listJobs
parameters:
- description: Page number of the results
explode: true
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: number
style: form
- description: "Maximum number of jobs to return (default: 100, max: 500)"
explode: true
in: query
name: limit
required: false
schema:
default: 100
maximum: 200
minimum: 1
type: number
style: form
- description: Filter jobs by status
explode: true
in: query
name: status
required: false
schema:
$ref: "#/components/schemas/JobStatus"
style: form
- description: "Number of jobs to skip for pagination (default: 0)"
explode: true
in: query
name: offset
required: false
schema:
type: number
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedJobs"
description: List of jobs for the runner
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List jobs for the runner
tags:
- jobs
/jobs/poll:
get:
description: "Long poll endpoint for runners to fetch pending jobs. Returns\
\ immediately if jobs are available, otherwise waits up to timeout seconds."
operationId: pollJobs
parameters:
- description: "Timeout in seconds for long polling (default: 30, max: 60)"
explode: true
in: query
name: timeout
required: false
schema:
type: number
style: form
- description: "Maximum number of jobs to return (default: 10, max: 100)"
explode: true
in: query
name: limit
required: false
schema:
type: number
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PollJobsResponse"
description: List of jobs for the runner
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Long poll for jobs
tags:
- jobs
/jobs/{jobId}:
get:
operationId: getJob
parameters:
- description: ID of the job
explode: false
in: path
name: jobId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Job"
description: Job details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get job details
tags:
- jobs
/jobs/{jobId}/status:
post:
operationId: updateJobStatus
parameters:
- description: ID of the job
explode: false
in: path
name: jobId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateJobStatus"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Job"
description: Job status updated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update job status
tags:
- jobs
/docker-registry:
get:
operationId: listRegistries
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/DockerRegistry"
type: array
description: List of all docker registries
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List registries
tags:
- docker-registry
post:
operationId: createRegistry
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateDockerRegistry"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/DockerRegistry"
description: The docker registry has been successfully created.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create registry
tags:
- docker-registry
/docker-registry/registry-push-access:
get:
operationId: getTransientPushAccess
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the region where the snapshot will be available (defaults
to organization default region)
explode: true
in: query
name: regionId
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RegistryPushAccessDto"
description: Temporary registry access has been generated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get temporary registry access for pushing snapshots
tags:
- docker-registry
/docker-registry/{id}:
delete:
operationId: deleteRegistry
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the docker registry
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"204":
description: The docker registry has been successfully deleted.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete registry
tags:
- docker-registry
get:
operationId: getRegistry
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the docker registry
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/DockerRegistry"
description: The docker registry
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get registry
tags:
- docker-registry
patch:
operationId: updateRegistry
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the docker registry
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateDockerRegistry"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/DockerRegistry"
description: The docker registry has been successfully updated.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update registry
tags:
- docker-registry
/admin/runners:
get:
operationId: adminListRunners
parameters:
- description: Filter runners by region ID
explode: true
in: query
name: regionId
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/RunnerFull"
type: array
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all runners
tags:
- admin
post:
operationId: adminCreateRunner
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AdminCreateRunner"
required: true
responses:
"201":
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRunnerResponse"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create runner
tags:
- admin
/admin/runners/{id}:
delete:
operationId: adminDeleteRunner
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"204":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Delete runner
tags:
- admin
get:
operationId: adminGetRunnerById
parameters:
- description: Runner ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/RunnerFull"
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get runner by ID
tags:
- admin
/admin/runners/{id}/scheduling:
patch:
operationId: adminUpdateRunnerScheduling
parameters:
- explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"204":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Update runner scheduling status
tags:
- admin
/admin/sandbox/{sandboxId}/recover:
post:
operationId: adminRecoverSandbox
parameters:
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Sandbox"
description: Recovery initiated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Recover sandbox from error state as an admin
tags:
- admin
/admin/users:
get:
operationId: adminListUsers
parameters: []
responses:
"200":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: List all users
tags:
- admin
post:
operationId: adminCreateUser
parameters: []
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateUser"
required: true
responses:
"201":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Create user
tags:
- admin
/admin/users/{id}/regenerate-key-pair:
post:
operationId: adminRegenerateKeyPair
parameters:
- explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"201":
description: ""
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Regenerate user key pair
tags:
- admin
/admin/users/{id}:
get:
operationId: adminGetUser
parameters:
- explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/User"
description: User details
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get user by ID
tags:
- admin
/admin/webhooks/organizations/{organizationId}/send:
post:
operationId: adminSendWebhook
parameters:
- explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SendWebhookDto"
required: true
responses:
"200":
description: Webhook message sent successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Send a webhook message to an organization
tags:
- admin
/admin/webhooks/organizations/{organizationId}/messages/{messageId}/attempts:
get:
operationId: adminGetMessageAttempts
parameters:
- explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: messageId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
type: object
type: array
description: List of delivery attempts
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get delivery attempts for a webhook message
tags:
- admin
/admin/webhooks/status:
get:
operationId: adminGetWebhookStatus
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/adminGetWebhookStatus_200_response"
description: Webhook service status
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get webhook service status
tags:
- admin
/admin/webhooks/organizations/{organizationId}/initialize:
post:
operationId: adminInitializeWebhooks
parameters:
- explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"201":
description: Webhooks initialized successfully
"404":
description: Organization not found
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Initialize webhooks for an organization
tags:
- admin
/admin/docker-registry/{id}/set-default:
post:
operationId: adminSetDefaultRegistry
parameters:
- description: ID of the docker registry
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/DockerRegistry"
description: The docker registry has been set as default.
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Set default registry
tags:
- admin
/admin/snapshots/can-cleanup-image:
get:
operationId: adminCanCleanupImage
parameters:
- description: Image name with tag to check
explode: true
in: query
name: imageName
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
type: boolean
description: Boolean indicating if image can be cleaned up
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Check if an image can be cleaned up
tags:
- admin
/admin/snapshots/{id}/general:
patch:
operationId: adminSetSnapshotGeneralStatus
parameters:
- description: Snapshot ID
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SetSnapshotGeneralStatusDto"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/SnapshotDto"
description: Snapshot general status has been set
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Set snapshot general status
tags:
- admin
/admin/audit:
get:
operationId: adminGetAllAuditLogs
parameters:
- description: Page number of the results
explode: true
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: number
style: form
- description: Number of results per page
explode: true
in: query
name: limit
required: false
schema:
default: 100
maximum: 200
minimum: 1
type: number
style: form
- description: From date (ISO 8601 format)
explode: true
in: query
name: from
required: false
schema:
format: date-time
type: string
style: form
- description: To date (ISO 8601 format)
explode: true
in: query
name: to
required: false
schema:
format: date-time
type: string
style: form
- description: "Token for cursor-based pagination. When provided, takes precedence\
\ over page parameter."
explode: true
in: query
name: nextToken
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedAuditLogs"
description: Paginated list of all audit logs
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get all audit logs
tags:
- admin
/webhooks/organizations/{organizationId}/app-portal-access:
post:
operationId: WebhookController_getAppPortalAccess
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/WebhookAppPortalAccess"
description: App Portal access generated successfully
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get Svix Consumer App Portal access for an organization
tags:
- webhooks
/webhooks/organizations/{organizationId}/initialization-status:
get:
operationId: WebhookController_getInitializationStatus
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/WebhookInitializationStatus"
description: Webhook initialization status
"404":
description: Webhook initialization status not found
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get webhook initialization status for an organization
tags:
- webhooks
/audit/organizations/{organizationId}:
get:
operationId: getOrganizationAuditLogs
parameters:
- description: Organization ID
explode: false
in: path
name: organizationId
required: true
schema:
type: string
style: simple
- description: Page number of the results
explode: true
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: number
style: form
- description: Number of results per page
explode: true
in: query
name: limit
required: false
schema:
default: 100
maximum: 200
minimum: 1
type: number
style: form
- description: From date (ISO 8601 format)
explode: true
in: query
name: from
required: false
schema:
format: date-time
type: string
style: form
- description: To date (ISO 8601 format)
explode: true
in: query
name: to
required: false
schema:
format: date-time
type: string
style: form
- description: "Token for cursor-based pagination. When provided, takes precedence\
\ over page parameter."
explode: true
in: query
name: nextToken
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedAuditLogs"
description: Paginated list of organization audit logs
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get audit logs for organization
tags:
- audit
/object-storage/push-access:
get:
operationId: getPushAccess
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/StorageAccessDto"
description: Temporary storage access has been generated
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get temporary storage access for pushing objects
tags:
- object-storage
/health:
get:
operationId: HealthController_live
parameters: []
responses:
"200":
description: ""
tags:
- Health
/health/ready:
get:
operationId: HealthController_check
parameters: []
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/HealthController_check_200_response"
description: The Health Check is successful
"503":
content:
application/json:
schema:
$ref: "#/components/schemas/HealthController_check_503_response"
description: The Health Check is not successful
security:
- bearer: []
tags:
- Health
/sandbox/{sandboxId}/telemetry/logs:
get:
description: Retrieve OTEL logs for a sandbox within a time range
operationId: getSandboxLogs
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- description: Start of time range (ISO 8601)
explode: true
in: query
name: from
required: true
schema:
format: date-time
type: string
style: form
- description: End of time range (ISO 8601)
explode: true
in: query
name: to
required: true
schema:
format: date-time
type: string
style: form
- description: Page number (1-indexed)
explode: true
in: query
name: page
required: false
schema:
default: 1
type: number
style: form
- description: Number of items per page
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: number
style: form
- description: "Filter by severity levels (DEBUG, INFO, WARN, ERROR)"
explode: true
in: query
name: severities
required: false
schema:
items:
type: string
type: array
style: form
- description: Search in log body
explode: true
in: query
name: search
required: false
schema:
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedLogs"
description: Paginated list of log entries
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox logs
tags:
- sandbox
/sandbox/{sandboxId}/telemetry/traces:
get:
description: Retrieve OTEL traces for a sandbox within a time range
operationId: getSandboxTraces
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- description: Start of time range (ISO 8601)
explode: true
in: query
name: from
required: true
schema:
format: date-time
type: string
style: form
- description: End of time range (ISO 8601)
explode: true
in: query
name: to
required: true
schema:
format: date-time
type: string
style: form
- description: Page number (1-indexed)
explode: true
in: query
name: page
required: false
schema:
default: 1
type: number
style: form
- description: Number of items per page
explode: true
in: query
name: limit
required: false
schema:
default: 100
type: number
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/PaginatedTraces"
description: Paginated list of trace summaries
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox traces
tags:
- sandbox
/sandbox/{sandboxId}/telemetry/traces/{traceId}:
get:
description: Retrieve all spans for a specific trace
operationId: getSandboxTraceSpans
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- description: ID of the trace
explode: false
in: path
name: traceId
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/json:
schema:
items:
$ref: "#/components/schemas/TraceSpan"
type: array
description: List of spans in the trace
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get trace spans
tags:
- sandbox
/sandbox/{sandboxId}/telemetry/metrics:
get:
description: Retrieve OTEL metrics for a sandbox within a time range
operationId: getSandboxMetrics
parameters:
- description: Use with JWT to specify the organization ID
explode: false
in: header
name: X-Daytona-Organization-ID
required: false
schema:
type: string
style: simple
- description: ID of the sandbox
explode: false
in: path
name: sandboxId
required: true
schema:
type: string
style: simple
- description: Start of time range (ISO 8601)
explode: true
in: query
name: from
required: true
schema:
format: date-time
type: string
style: form
- description: End of time range (ISO 8601)
explode: true
in: query
name: to
required: true
schema:
format: date-time
type: string
style: form
- description: Filter by metric names
explode: true
in: query
name: metricNames
required: false
schema:
items:
type: string
type: array
style: form
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/MetricsResponse"
description: Metrics time series data
security:
- bearer: []
- oauth2:
- openid
- profile
- email
summary: Get sandbox metrics
tags:
- sandbox
components:
schemas:
Announcement:
properties:
text:
description: The announcement text
example: New feature available!
type: string
learnMoreUrl:
description: URL to learn more about the announcement
example: https://example.com/learn-more
type: string
required:
- text
type: object
PosthogConfig:
properties:
apiKey:
description: PostHog API key
example: phc_abc123
type: string
host:
description: PostHog host URL
example: https://app.posthog.com
type: string
required:
- apiKey
- host
type: object
OidcConfig:
properties:
issuer:
description: OIDC issuer
example: https://auth.example.com
type: string
clientId:
description: OIDC client ID
example: daytona-client
type: string
audience:
description: OIDC audience
example: daytona-api
type: string
required:
- audience
- clientId
- issuer
type: object
RateLimitEntry:
properties:
ttl:
description: Rate limit TTL in seconds
example: 60
type: number
limit:
description: Rate limit max requests
example: 100
type: number
type: object
RateLimitConfig:
properties:
failedAuth:
allOf:
- $ref: "#/components/schemas/RateLimitEntry"
description: Failed authentication rate limit
authenticated:
allOf:
- $ref: "#/components/schemas/RateLimitEntry"
description: Authenticated rate limit
sandboxCreate:
allOf:
- $ref: "#/components/schemas/RateLimitEntry"
description: Sandbox create rate limit
sandboxLifecycle:
allOf:
- $ref: "#/components/schemas/RateLimitEntry"
description: Sandbox lifecycle rate limit
type: object
DaytonaConfiguration:
example:
dashboardUrl: https://dashboard.example.com
rateLimit: ""
analyticsApiUrl: https://analytics.example.com
sshGatewayPublicKey: ssh-gateway-public-key
billingApiUrl: https://billing.example.com
linkedAccountsEnabled: true
version: 0.0.1
oidc: ""
proxyToolboxUrl: https://proxy.example.com/toolbox
posthog: ""
maxAutoArchiveInterval: 43200
pylonAppId: pylon-app-123
proxyTemplateUrl: "https://{{PORT}}-{{sandboxId}}.proxy.example.com"
maintananceMode: false
environment: production
defaultSnapshot: ubuntu:22.04
sshGatewayCommand: "ssh -p 2222 {{TOKEN}}@localhost"
announcements:
feature-update:
text: New feature available!
learnMoreUrl: https://example.com
properties:
version:
description: Daytona version
example: 0.0.1
type: string
posthog:
allOf:
- $ref: "#/components/schemas/PosthogConfig"
description: PostHog configuration
oidc:
allOf:
- $ref: "#/components/schemas/OidcConfig"
description: OIDC configuration
linkedAccountsEnabled:
description: Whether linked accounts are enabled
example: true
type: boolean
announcements:
additionalProperties:
$ref: "#/components/schemas/Announcement"
description: System announcements
example:
feature-update:
text: New feature available!
learnMoreUrl: https://example.com
type: object
pylonAppId:
description: Pylon application ID
example: pylon-app-123
type: string
proxyTemplateUrl:
description: Proxy template URL
example: "https://{{PORT}}-{{sandboxId}}.proxy.example.com"
type: string
proxyToolboxUrl:
description: Toolbox template URL
example: https://proxy.example.com/toolbox
type: string
defaultSnapshot:
description: Default snapshot for sandboxes
example: ubuntu:22.04
type: string
dashboardUrl:
description: Dashboard URL
example: https://dashboard.example.com
type: string
maxAutoArchiveInterval:
description: Maximum auto-archive interval in minutes
example: 43200
type: number
maintananceMode:
description: Whether maintenance mode is enabled
example: false
type: boolean
environment:
description: Current environment
example: production
type: string
billingApiUrl:
description: Billing API URL
example: https://billing.example.com
type: string
analyticsApiUrl:
description: Analytics API URL
example: https://analytics.example.com
type: string
sshGatewayCommand:
description: SSH Gateway command
example: "ssh -p 2222 {{TOKEN}}@localhost"
type: string
sshGatewayPublicKey:
description: Base64 encoded SSH Gateway public key
example: ssh-gateway-public-key
type: string
rateLimit:
allOf:
- $ref: "#/components/schemas/RateLimitConfig"
description: Rate limit configuration
required:
- announcements
- dashboardUrl
- defaultSnapshot
- environment
- linkedAccountsEnabled
- maintananceMode
- maxAutoArchiveInterval
- oidc
- proxyTemplateUrl
- proxyToolboxUrl
- version
type: object
CreateApiKey:
example:
permissions:
- write:registries
- write:registries
name: My API Key
expiresAt: 2025-06-09T12:00:00Z
properties:
name:
description: The name of the API key
example: My API Key
type: string
permissions:
description: The list of organization resource permissions explicitly assigned
to the API key
items:
enum:
- write:registries
- delete:registries
- write:snapshots
- delete:snapshots
- write:sandboxes
- delete:sandboxes
- read:volumes
- write:volumes
- delete:volumes
- write:regions
- delete:regions
- read:runners
- write:runners
- delete:runners
- read:audit_logs
type: string
type: array
expiresAt:
description: When the API key expires
example: 2025-06-09T12:00:00Z
format: date-time
nullable: true
type: string
required:
- name
- permissions
type: object
ApiKeyResponse:
example:
createdAt: 2024-03-14T12:00:00Z
permissions:
- write:registries
- write:registries
name: My API Key
value: bb_sk_1234567890abcdef
expiresAt: 2025-06-09T12:00:00Z
properties:
name:
description: The name of the API key
example: My API Key
type: string
value:
description: The API key value
example: bb_sk_1234567890abcdef
type: string
createdAt:
description: When the API key was created
example: 2024-03-14T12:00:00Z
format: date-time
type: string
permissions:
description: The list of organization resource permissions assigned to the
API key
items:
enum:
- write:registries
- delete:registries
- write:snapshots
- delete:snapshots
- write:sandboxes
- delete:sandboxes
- read:volumes
- write:volumes
- delete:volumes
- write:regions
- delete:regions
- read:runners
- write:runners
- delete:runners
- read:audit_logs
type: string
type: array
expiresAt:
description: When the API key expires
example: 2025-06-09T12:00:00Z
format: date-time
nullable: true
type: string
required:
- createdAt
- expiresAt
- name
- permissions
- value
type: object
ApiKeyList:
example:
createdAt: 2024-03-14T12:00:00Z
lastUsedAt: 2024-03-14T12:00:00Z
permissions:
- write:registries
- write:registries
name: My API Key
value: bb_********************def
userId: "123"
expiresAt: 2024-03-14T12:00:00Z
properties:
name:
description: The name of the API key
example: My API Key
type: string
value:
description: The masked API key value
example: bb_********************def
type: string
createdAt:
description: When the API key was created
example: 2024-03-14T12:00:00Z
format: date-time
type: string
permissions:
description: The list of organization resource permissions assigned to the
API key
items:
enum:
- write:registries
- delete:registries
- write:snapshots
- delete:snapshots
- write:sandboxes
- delete:sandboxes
- read:volumes
- write:volumes
- delete:volumes
- write:regions
- delete:regions
- read:runners
- write:runners
- delete:runners
- read:audit_logs
type: string
type: array
lastUsedAt:
description: When the API key was last used
example: 2024-03-14T12:00:00Z
format: date-time
nullable: true
type: string
expiresAt:
description: When the API key expires
example: 2024-03-14T12:00:00Z
format: date-time
nullable: true
type: string
userId:
description: The user ID of the user who created the API key
example: "123"
type: string
required:
- createdAt
- expiresAt
- lastUsedAt
- name
- permissions
- userId
- value
type: object
OrganizationRole:
example:
createdAt: 2000-01-23T04:56:07.000+00:00
permissions:
- write:registries
- write:registries
name: name
isGlobal: true
description: description
id: id
updatedAt: 2000-01-23T04:56:07.000+00:00
properties:
id:
description: Role ID
type: string
name:
description: Role name
type: string
description:
description: Role description
type: string
permissions:
description: Roles assigned to the user
items:
enum:
- write:registries
- delete:registries
- write:snapshots
- delete:snapshots
- write:sandboxes
- delete:sandboxes
- read:volumes
- write:volumes
- delete:volumes
- write:regions
- delete:regions
- read:runners
- write:runners
- delete:runners
- read:audit_logs
type: string
type: array
isGlobal:
description: Global role flag
type: boolean
createdAt:
description: Creation timestamp
format: date-time
type: string
updatedAt:
description: Last update timestamp
format: date-time
type: string
required:
- createdAt
- description
- id
- isGlobal
- name
- permissions
- updatedAt
type: object
OrganizationInvitation:
example:
organizationId: organizationId
createdAt: 2000-01-23T04:56:07.000+00:00
invitedBy: invitedBy
role: owner
organizationName: organizationName
assignedRoles:
- createdAt: 2000-01-23T04:56:07.000+00:00
permissions:
- write:registries
- write:registries
name: name
isGlobal: true
description: description
id: id
updatedAt: 2000-01-23T04:56:07.000+00:00
- createdAt: 2000-01-23T04:56:07.000+00:00
permissions:
- write:registries
- write:registries
name: name
isGlobal: true
description: description
id: id
updatedAt: 2000-01-23T04:56:07.000+00:00
id: id
email: email
expiresAt: 2000-01-23T04:56:07.000+00:00
status: pending
updatedAt: 2000-01-23T04:56:07.000+00:00
properties:
id:
description: Invitation ID
type: string
email:
description: Email address of the invitee
type: string
invitedBy:
description: Email address of the inviter
type: string
organizationId:
description: Organization ID
type: string
organizationName:
description: Organization name
type: string
expiresAt:
description: Expiration date of the invitation
format: date-time
type: string
status:
description: Invitation status
enum:
- pending
- accepted
- declined
- cancelled
type: string
role:
description: Member role
enum:
- owner
- member
type: string
assignedRoles:
description: Assigned roles
items:
$ref: "#/components/schemas/OrganizationRole"
type: array
createdAt:
description: Creation timestamp
format: date-time
type: string
updatedAt:
description: Last update timestamp
format: date-time
type: string
required:
- assignedRoles
- createdAt
- email
- expiresAt
- id
- invitedBy
- organizationId
- organizationName
- role
- status
- updatedAt
type: object
CreateOrganization:
example:
defaultRegionId: us
name: My Organization
properties:
name:
description: The name of organization
example: My Organization
type: string
defaultRegionId:
description: The ID of the default region for the organization
example: us
type: string
required:
- defaultRegionId
- name
type: object
Organization:
example:
defaultRegionId: defaultRegionId
sandboxCreateRateLimitTtlSeconds: 2.027123023002322
suspensionReason: suspensionReason
sandboxLifecycleRateLimit: 9.301444243932576
suspendedAt: 2000-01-23T04:56:07.000+00:00
personal: true
suspensionCleanupGracePeriodHours: 0.8008281904610115
authenticatedRateLimit: 2.3021358869347655
suspended: true
sandboxCreateRateLimit: 7.061401241503109
sandboxLifecycleRateLimitTtlSeconds: 4.145608029883936
createdAt: 2000-01-23T04:56:07.000+00:00
maxCpuPerSandbox: 6.027456183070403
sandboxLimitedNetworkEgress: true
suspendedUntil: 2000-01-23T04:56:07.000+00:00
maxDiskPerSandbox: 5.962133916683182
createdBy: createdBy
snapshotDeactivationTimeoutMinutes: 5.637376656633329
name: name
maxMemoryPerSandbox: 1.4658129805029452
authenticatedRateLimitTtlSeconds: 3.616076749251911
id: id
experimentalConfig: "{}"
updatedAt: 2000-01-23T04:56:07.000+00:00
properties:
id:
description: Organization ID
type: string
name:
description: Organization name
type: string
createdBy:
description: User ID of the organization creator
type: string
personal:
description: Personal organization flag
type: boolean
createdAt:
description: Creation timestamp
format: date-time
type: string
updatedAt:
description: Last update timestamp
format: date-time
type: string
suspended:
description: Suspended flag
type: boolean
suspendedAt:
description: Suspended at
format: date-time
type: string
suspensionReason:
description: Suspended reason
type: string
suspendedUntil:
description: Suspended until
format: date-time
type: string
suspensionCleanupGracePeriodHours:
description: Suspension cleanup grace period hours
type: number
maxCpuPerSandbox:
description: Max CPU per sandbox
type: number
maxMemoryPerSandbox:
description: Max memory per sandbox
type: number
maxDiskPerSandbox:
description: Max disk per sandbox
type: number
snapshotDeactivationTimeoutMinutes:
default: 20160
description: Time in minutes before an unused snapshot is deactivated
type: number
sandboxLimitedNetworkEgress:
description: Sandbox default network block all
type: boolean
defaultRegionId:
description: Default region ID
type: string
authenticatedRateLimit:
description: Authenticated rate limit per minute
nullable: true
type: number
sandboxCreateRateLimit:
description: Sandbox create rate limit per minute
nullable: true
type: number
sandboxLifecycleRateLimit:
description: Sandbox lifecycle rate limit per minute
nullable: true
type: number
experimentalConfig:
description: Experimental configuration
type: object
authenticatedRateLimitTtlSeconds:
description: Authenticated rate limit TTL in seconds
nullable: true
type: number
sandboxCreateRateLimitTtlSeconds:
description: Sandbox create rate limit TTL in seconds
nullable: true
type: number
sandboxLifecycleRateLimitTtlSeconds:
description: Sandbox lifecycle rate limit TTL in seconds
nullable: true
type: number
required:
- authenticatedRateLimit
- authenticatedRateLimitTtlSeconds
- createdAt
- createdBy
- experimentalConfig
- id
- maxCpuPerSandbox
- maxDiskPerSandbox
- maxMemoryPerSandbox
- name
- personal
- sandboxCreateRateLimit
- sandboxCreateRateLimitTtlSeconds
- sandboxLifecycleRateLimit
- sandboxLifecycleRateLimitTtlSeconds
- sandboxLimitedNetworkEgress
- snapshotDeactivationTimeoutMinutes
- suspended
- suspendedAt
- suspendedUntil
- suspensionCleanupGracePeriodHours
- suspensionReason
- updatedAt
type: object
UpdateOrganizationDefaultRegion:
example:
defaultRegionId: us
properties:
defaultRegionId:
description: The ID of the default region for the organization
example: us
type: string
required:
- defaultRegionId
type: object
RegionUsageOverview:
example:
totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 7.061401241503109
maxDiskPerSandbox: 3.616076749251911
maxDiskPerNonEphemeralSandbox: 2.027123023002322
regionId: regionId
currentDiskUsage: 2.3021358869347655
currentMemoryUsage: 5.962133916683182
currentCpuUsage: 6.027456183070403
maxMemoryPerSandbox: 9.301444243932576
totalMemoryQuota: 1.4658129805029452
totalDiskQuota: 5.637376656633329
properties:
regionId:
type: string
totalCpuQuota:
type: number
currentCpuUsage:
type: number
totalMemoryQuota:
type: number
currentMemoryUsage:
type: number
totalDiskQuota:
type: number
currentDiskUsage:
type: number
maxCpuPerSandbox:
nullable: true
type: number
maxMemoryPerSandbox:
nullable: true
type: number
maxDiskPerSandbox:
nullable: true
type: number
maxDiskPerNonEphemeralSandbox:
nullable: true
type: number
required:
- currentCpuUsage
- currentDiskUsage
- currentMemoryUsage
- maxCpuPerSandbox
- maxDiskPerNonEphemeralSandbox
- maxDiskPerSandbox
- maxMemoryPerSandbox
- regionId
- totalCpuQuota
- totalDiskQuota
- totalMemoryQuota
type: object
OrganizationUsageOverview:
example:
totalSnapshotQuota: 4.145608029883936
currentVolumeUsage: 1.0246457001441578
totalVolumeQuota: 1.2315135367772556
currentSnapshotUsage: 7.386281948385884
regionUsage:
- totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 7.061401241503109
maxDiskPerSandbox: 3.616076749251911
maxDiskPerNonEphemeralSandbox: 2.027123023002322
regionId: regionId
currentDiskUsage: 2.3021358869347655
currentMemoryUsage: 5.962133916683182
currentCpuUsage: 6.027456183070403
maxMemoryPerSandbox: 9.301444243932576
totalMemoryQuota: 1.4658129805029452
totalDiskQuota: 5.637376656633329
- totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 7.061401241503109
maxDiskPerSandbox: 3.616076749251911
maxDiskPerNonEphemeralSandbox: 2.027123023002322
regionId: regionId
currentDiskUsage: 2.3021358869347655
currentMemoryUsage: 5.962133916683182
currentCpuUsage: 6.027456183070403
maxMemoryPerSandbox: 9.301444243932576
totalMemoryQuota: 1.4658129805029452
totalDiskQuota: 5.637376656633329
properties:
regionUsage:
items:
$ref: "#/components/schemas/RegionUsageOverview"
type: array
totalSnapshotQuota:
type: number
currentSnapshotUsage:
type: number
totalVolumeQuota:
type: number
currentVolumeUsage:
type: number
required:
- currentSnapshotUsage
- currentVolumeUsage
- regionUsage
- totalSnapshotQuota
- totalVolumeQuota
type: object
UpdateOrganizationQuota:
example:
sandboxCreateRateLimitTtlSeconds: 4.145608029883936
sandboxLifecycleRateLimit: 3.616076749251911
volumeQuota: 2.3021358869347655
maxSnapshotSize: 5.637376656633329
authenticatedRateLimit: 7.061401241503109
sandboxCreateRateLimit: 9.301444243932576
snapshotQuota: 5.962133916683182
sandboxLifecycleRateLimitTtlSeconds: 7.386281948385884
maxCpuPerSandbox: 0.8008281904610115
maxDiskPerSandbox: 1.4658129805029452
snapshotDeactivationTimeoutMinutes: 1.2315135367772556
maxMemoryPerSandbox: 6.027456183070403
authenticatedRateLimitTtlSeconds: 2.027123023002322
properties:
maxCpuPerSandbox:
nullable: true
type: number
maxMemoryPerSandbox:
nullable: true
type: number
maxDiskPerSandbox:
nullable: true
type: number
snapshotQuota:
nullable: true
type: number
maxSnapshotSize:
nullable: true
type: number
volumeQuota:
nullable: true
type: number
authenticatedRateLimit:
nullable: true
type: number
sandboxCreateRateLimit:
nullable: true
type: number
sandboxLifecycleRateLimit:
nullable: true
type: number
authenticatedRateLimitTtlSeconds:
nullable: true
type: number
sandboxCreateRateLimitTtlSeconds:
nullable: true
type: number
sandboxLifecycleRateLimitTtlSeconds:
nullable: true
type: number
snapshotDeactivationTimeoutMinutes:
description: Time in minutes before an unused snapshot is deactivated
nullable: true
type: number
required:
- authenticatedRateLimit
- authenticatedRateLimitTtlSeconds
- maxCpuPerSandbox
- maxDiskPerSandbox
- maxMemoryPerSandbox
- maxSnapshotSize
- sandboxCreateRateLimit
- sandboxCreateRateLimitTtlSeconds
- sandboxLifecycleRateLimit
- sandboxLifecycleRateLimitTtlSeconds
- snapshotDeactivationTimeoutMinutes
- snapshotQuota
- volumeQuota
type: object
UpdateOrganizationRegionQuota:
example:
totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 5.962133916683182
maxDiskPerSandbox: 2.3021358869347655
maxDiskPerNonEphemeralSandbox: 7.061401241503109
maxMemoryPerSandbox: 5.637376656633329
totalMemoryQuota: 6.027456183070403
totalDiskQuota: 1.4658129805029452
properties:
totalCpuQuota:
nullable: true
type: number
totalMemoryQuota:
nullable: true
type: number
totalDiskQuota:
nullable: true
type: number
maxCpuPerSandbox:
nullable: true
type: number
maxMemoryPerSandbox:
nullable: true
type: number
maxDiskPerSandbox:
nullable: true
type: number
maxDiskPerNonEphemeralSandbox:
nullable: true
type: number
required:
- totalCpuQuota
- totalDiskQuota
- totalMemoryQuota
type: object
OrganizationSuspension:
example:
reason: reason
until: 2000-01-23T04:56:07.000+00:00
suspensionCleanupGracePeriodHours: 0.08008281904610115
properties:
reason:
description: Suspension reason
type: string
until:
description: Suspension until
format: date-time
type: string
suspensionCleanupGracePeriodHours:
description: Suspension cleanup grace period hours
minimum: 0
type: number
required:
- reason
- until
type: object
OtelConfig:
example:
headers:
x-api-key: my-api-key
endpoint: endpoint
properties:
endpoint:
description: Endpoint
type: string
headers:
additionalProperties:
type: string
description: Headers
example:
x-api-key: my-api-key
nullable: true
type: object
required:
- endpoint
type: object
OrganizationSandboxDefaultLimitedNetworkEgress:
example:
sandboxDefaultLimitedNetworkEgress: true
properties:
sandboxDefaultLimitedNetworkEgress:
description: Sandbox default limited network egress
type: boolean
required:
- sandboxDefaultLimitedNetworkEgress
type: object
CreateOrganizationRole:
example:
permissions:
- write:registries
- write:registries
name: Maintainer
description: Can manage all resources
properties:
name:
description: The name of the role
example: Maintainer
type: string
description:
description: The description of the role
example: Can manage all resources
type: string
permissions:
description: The list of permissions assigned to the role
items:
enum:
- write:registries
- delete:registries
- write:snapshots
- delete:snapshots
- write:sandboxes
- delete:sandboxes
- read:volumes
- write:volumes
- delete:volumes
- write:regions
- delete:regions
- read:runners
- write:runners
- delete:runners
- read:audit_logs
type: string
type: array
required:
- description
- name
- permissions
type: object
UpdateOrganizationRole:
example:
permissions:
- write:registries
- write:registries
name: Maintainer
description: Can manage all resources
properties:
name:
description: The name of the role
example: Maintainer
type: string
description:
description: The description of the role
example: Can manage all resources
type: string
permissions:
description: The list of permissions assigned to the role
items:
enum:
- write:registries
- delete:registries
- write:snapshots
- delete:snapshots
- write:sandboxes
- delete:sandboxes
- read:volumes
- write:volumes
- delete:volumes
- write:regions
- delete:regions
- read:runners
- write:runners
- delete:runners
- read:audit_logs
type: string
type: array
required:
- description
- name
- permissions
type: object
OrganizationUser:
example:
organizationId: organizationId
createdAt: 2000-01-23T04:56:07.000+00:00
role: owner
assignedRoles:
- createdAt: 2000-01-23T04:56:07.000+00:00
permissions:
- write:registries
- write:registries
name: name
isGlobal: true
description: description
id: id
updatedAt: 2000-01-23T04:56:07.000+00:00
- createdAt: 2000-01-23T04:56:07.000+00:00
permissions:
- write:registries
- write:registries
name: name
isGlobal: true
description: description
id: id
updatedAt: 2000-01-23T04:56:07.000+00:00
name: name
userId: userId
email: email
updatedAt: 2000-01-23T04:56:07.000+00:00
properties:
userId:
description: User ID
type: string
organizationId:
description: Organization ID
type: string
name:
description: User name
type: string
email:
description: User email
type: string
role:
description: Member role
enum:
- owner
- member
type: string
assignedRoles:
description: Roles assigned to the user
items:
$ref: "#/components/schemas/OrganizationRole"
type: array
createdAt:
description: Creation timestamp
format: date-time
type: string
updatedAt:
description: Last update timestamp
format: date-time
type: string
required:
- assignedRoles
- createdAt
- email
- name
- organizationId
- role
- updatedAt
- userId
type: object
UpdateOrganizationMemberAccess:
example:
role: member
assignedRoleIds:
- assignedRoleIds
- assignedRoleIds
properties:
role:
default: member
description: Organization member role
enum:
- owner
- member
type: string
assignedRoleIds:
default:
- 00000000-0000-0000-0000-000000000001
description: Array of assigned role IDs
items:
type: string
type: array
required:
- assignedRoleIds
- role
type: object
CreateOrganizationInvitation:
example:
role: member
assignedRoleIds:
- assignedRoleIds
- assignedRoleIds
email: mail@example.com
expiresAt: 2021-12-31T23:59:59Z
properties:
email:
description: Email address of the invitee
example: mail@example.com
type: string
role:
default: member
description: Organization member role for the invitee
enum:
- owner
- member
type: string
assignedRoleIds:
default:
- 00000000-0000-0000-0000-000000000001
description: Array of assigned role IDs for the invitee
items:
type: string
type: array
expiresAt:
description: Expiration date of the invitation
example: 2021-12-31T23:59:59Z
format: date-time
type: string
required:
- assignedRoleIds
- email
- role
type: object
UpdateOrganizationInvitation:
example:
role: owner
assignedRoleIds:
- assignedRoleIds
- assignedRoleIds
expiresAt: 2021-12-31T23:59:59Z
properties:
role:
description: Organization member role
enum:
- owner
- member
type: string
assignedRoleIds:
description: Array of role IDs
items:
type: string
type: array
expiresAt:
description: Expiration date of the invitation
example: 2021-12-31T23:59:59Z
format: date-time
type: string
required:
- assignedRoleIds
- role
type: object
RegionType:
description: The type of the region
enum:
- shared
- dedicated
- custom
type: string
Region:
example:
organizationId: 123e4567-e89b-12d3-a456-426614174000
createdAt: 2023-01-01T00:00:00.000Z
snapshotManagerUrl: http://snapshot-manager.example.com
regionType: shared
proxyUrl: https://proxy.example.com
name: us-east-1
sshGatewayUrl: http://ssh-gateway.example.com
id: "123456789012"
updatedAt: 2023-01-01T00:00:00.000Z
properties:
id:
description: Region ID
example: "123456789012"
type: string
name:
description: Region name
example: us-east-1
type: string
organizationId:
description: Organization ID
example: 123e4567-e89b-12d3-a456-426614174000
nullable: true
type: string
regionType:
allOf:
- $ref: "#/components/schemas/RegionType"
description: The type of the region
example: shared
createdAt:
description: Creation timestamp
example: 2023-01-01T00:00:00.000Z
type: string
updatedAt:
description: Last update timestamp
example: 2023-01-01T00:00:00.000Z
type: string
proxyUrl:
description: Proxy URL for the region
example: https://proxy.example.com
nullable: true
type: string
sshGatewayUrl:
description: SSH Gateway URL for the region
example: http://ssh-gateway.example.com
nullable: true
type: string
snapshotManagerUrl:
description: Snapshot Manager URL for the region
example: http://snapshot-manager.example.com
nullable: true
type: string
required:
- createdAt
- id
- name
- regionType
- updatedAt
type: object
CreateRegion:
example:
snapshotManagerUrl: https://snapshot-manager.example.com
proxyUrl: https://proxy.example.com
name: us-east-1
sshGatewayUrl: ssh://ssh-gateway.example.com
properties:
name:
description: Region name
example: us-east-1
type: string
proxyUrl:
description: Proxy URL for the region
example: https://proxy.example.com
nullable: true
type: string
sshGatewayUrl:
description: SSH Gateway URL for the region
example: ssh://ssh-gateway.example.com
nullable: true
type: string
snapshotManagerUrl:
description: Snapshot Manager URL for the region
example: https://snapshot-manager.example.com
nullable: true
type: string
required:
- name
type: object
CreateRegionResponse:
example:
proxyApiKey: proxy-api-key-xyz
snapshotManagerUsername: daytona
snapshotManagerPassword: snapshotManagerPassword
id: region_12345
sshGatewayApiKey: ssh-gateway-api-key-abc
properties:
id:
description: ID of the created region
example: region_12345
type: string
proxyApiKey:
description: Proxy API key for the region
example: proxy-api-key-xyz
nullable: true
type: string
sshGatewayApiKey:
description: SSH Gateway API key for the region
example: ssh-gateway-api-key-abc
nullable: true
type: string
snapshotManagerUsername:
description: Snapshot Manager username for the region
example: daytona
nullable: true
type: string
snapshotManagerPassword:
description: Snapshot Manager password for the region
nullable: true
type: string
required:
- id
type: object
RegenerateApiKeyResponse:
example:
apiKey: api-key-xyz123
properties:
apiKey:
description: The newly generated API key
example: api-key-xyz123
type: string
required:
- apiKey
type: object
UpdateRegion:
example:
snapshotManagerUrl: https://snapshot-manager.example.com
proxyUrl: https://proxy.example.com
sshGatewayUrl: ssh://ssh-gateway.example.com
properties:
proxyUrl:
description: Proxy URL for the region
example: https://proxy.example.com
nullable: true
type: string
sshGatewayUrl:
description: SSH Gateway URL for the region
example: ssh://ssh-gateway.example.com
nullable: true
type: string
snapshotManagerUrl:
description: Snapshot Manager URL for the region
example: https://snapshot-manager.example.com
nullable: true
type: string
type: object
SnapshotManagerCredentials:
example:
password: password
username: daytona
properties:
username:
description: Snapshot Manager username for the region
example: daytona
type: string
password:
description: Snapshot Manager password for the region
type: string
required:
- password
- username
type: object
UserPublicKey:
example:
name: name
key: key
properties:
key:
description: Public key
type: string
name:
description: Key name
type: string
required:
- key
- name
type: object
User:
example:
createdAt: 2000-01-23T04:56:07.000+00:00
publicKeys:
- name: name
key: key
- name: name
key: key
name: name
id: id
email: email
properties:
id:
description: User ID
type: string
name:
description: User name
type: string
email:
description: User email
type: string
publicKeys:
description: User public keys
items:
$ref: "#/components/schemas/UserPublicKey"
type: array
createdAt:
description: Creation timestamp
format: date-time
type: string
required:
- createdAt
- email
- id
- name
- publicKeys
type: object
AccountProvider:
example:
displayName: displayName
name: name
properties:
name:
type: string
displayName:
type: string
required:
- displayName
- name
type: object
CreateLinkedAccount:
example:
provider: provider
userId: userId
properties:
provider:
description: The authentication provider of the secondary account
type: string
userId:
description: The user ID of the secondary account
type: string
required:
- provider
- userId
type: object
SandboxState:
description: The state of the sandbox
enum:
- creating
- restoring
- destroyed
- destroying
- started
- stopped
- starting
- stopping
- error
- build_failed
- pending_build
- building_snapshot
- unknown
- pulling_snapshot
- archived
- archiving
- resizing
- snapshotting
- forking
type: string
SandboxDesiredState:
description: The desired state of the sandbox
enum:
- destroyed
- started
- stopped
- resized
- archived
type: string
SandboxVolume:
example:
mountPath: /data
volumeId: volume123
subpath: users/alice
properties:
volumeId:
description: The ID of the volume
example: volume123
type: string
mountPath:
description: The mount path for the volume
example: /data
type: string
subpath:
description: "Optional subpath within the volume to mount. When specified,\
\ only this S3 prefix will be accessible. When omitted, the entire volume\
\ is mounted."
example: users/alice
type: string
required:
- mountPath
- volumeId
type: object
BuildInfo:
properties:
dockerfileContent:
description: The Dockerfile content used for the build
example: |-
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]
type: string
contextHashes:
description: The context hashes used for the build
example:
- hash1
- hash2
items:
type: string
type: array
createdAt:
description: The creation timestamp
format: date-time
type: string
updatedAt:
description: The last update timestamp
format: date-time
type: string
snapshotRef:
description: The snapshot reference
example: daytonaio/sandbox:latest
type: string
required:
- createdAt
- snapshotRef
- updatedAt
type: object
Sandbox:
example:
memory: 4
buildInfo: ""
toolboxProxyUrl: https://proxy.app.daytona.io/toolbox
lastActivityAt: 2024-10-01T12:00:00Z
autoStopInterval: 30
organizationId: organization123
createdAt: 2024-10-01T12:00:00Z
networkBlockAll: false
autoDeleteInterval: 30
public: false
errorReason: The sandbox is not running
runnerId: runner123
id: sandbox123
state: creating
class: small
updatedAt: 2024-10-01T12:00:00Z
desiredState: destroyed
networkAllowList: "192.168.1.0/16,10.0.0.0/24"
volumes:
- mountPath: /data
volumeId: volume123
subpath: users/alice
- mountPath: /data
volumeId: volume123
subpath: users/alice
cpu: 2
recoverable: true
env:
NODE_ENV: production
gpu: 0
daemonVersion: 1.0.0
backupCreatedAt: 2024-10-01T12:00:00Z
labels:
daytona.io/public: "true"
target: local
disk: 10
name: MySandbox
backupState: None
user: daytona
autoArchiveInterval: 10080
snapshot: daytonaio/sandbox:latest
properties:
id:
description: The ID of the sandbox
example: sandbox123
type: string
organizationId:
description: The organization ID of the sandbox
example: organization123
type: string
name:
description: The name of the sandbox
example: MySandbox
type: string
snapshot:
description: The snapshot used for the sandbox
example: daytonaio/sandbox:latest
type: string
user:
description: The user associated with the project
example: daytona
type: string
env:
additionalProperties:
type: string
description: Environment variables for the sandbox
example:
NODE_ENV: production
type: object
labels:
additionalProperties:
type: string
description: Labels for the sandbox
example:
daytona.io/public: "true"
type: object
public:
description: Whether the sandbox http preview is public
example: false
type: boolean
networkBlockAll:
description: Whether to block all network access for the sandbox
example: false
type: boolean
networkAllowList:
description: Comma-separated list of allowed CIDR network addresses for
the sandbox
example: "192.168.1.0/16,10.0.0.0/24"
type: string
target:
description: The target environment for the sandbox
example: local
type: string
cpu:
description: The CPU quota for the sandbox
example: 2
type: number
gpu:
description: The GPU quota for the sandbox
example: 0
type: number
memory:
description: The memory quota for the sandbox
example: 4
type: number
disk:
description: The disk quota for the sandbox
example: 10
type: number
state:
allOf:
- $ref: "#/components/schemas/SandboxState"
description: The state of the sandbox
example: creating
desiredState:
allOf:
- $ref: "#/components/schemas/SandboxDesiredState"
description: The desired state of the sandbox
example: destroyed
errorReason:
description: The error reason of the sandbox
example: The sandbox is not running
type: string
recoverable:
description: Whether the sandbox error is recoverable.
example: true
type: boolean
backupState:
description: The state of the backup
enum:
- None
- Pending
- InProgress
- Completed
- Error
example: None
type: string
backupCreatedAt:
description: The creation timestamp of the last backup
example: 2024-10-01T12:00:00Z
type: string
autoStopInterval:
description: Auto-stop interval in minutes (0 means disabled)
example: 30
type: number
autoArchiveInterval:
description: Auto-archive interval in minutes
example: 10080
type: number
autoDeleteInterval:
description: "Auto-delete interval in minutes (negative value means disabled,\
\ 0 means delete immediately upon stopping)"
example: 30
type: number
volumes:
description: Array of volumes attached to the sandbox
items:
$ref: "#/components/schemas/SandboxVolume"
type: array
buildInfo:
allOf:
- $ref: "#/components/schemas/BuildInfo"
description: Build information for the sandbox
createdAt:
description: The creation timestamp of the sandbox
example: 2024-10-01T12:00:00Z
type: string
updatedAt:
description: The last update timestamp of the sandbox
example: 2024-10-01T12:00:00Z
type: string
lastActivityAt:
description: The last activity timestamp of the sandbox
example: 2024-10-01T12:00:00Z
type: string
class:
deprecated: true
description: The class of the sandbox
enum:
- small
- medium
- large
example: small
type: string
daemonVersion:
description: The version of the daemon running in the sandbox
example: 1.0.0
type: string
runnerId:
description: The runner ID of the sandbox
example: runner123
type: string
toolboxProxyUrl:
description: The toolbox proxy URL for the sandbox
example: https://proxy.app.daytona.io/toolbox
type: string
required:
- cpu
- disk
- env
- gpu
- id
- labels
- memory
- name
- networkBlockAll
- organizationId
- public
- target
- toolboxProxyUrl
- user
type: object
PaginatedSandboxes:
example:
total: 0.8008281904610115
totalPages: 1.4658129805029452
page: 6.027456183070403
items:
- memory: 4
buildInfo: ""
toolboxProxyUrl: https://proxy.app.daytona.io/toolbox
lastActivityAt: 2024-10-01T12:00:00Z
autoStopInterval: 30
organizationId: organization123
createdAt: 2024-10-01T12:00:00Z
networkBlockAll: false
autoDeleteInterval: 30
public: false
errorReason: The sandbox is not running
runnerId: runner123
id: sandbox123
state: creating
class: small
updatedAt: 2024-10-01T12:00:00Z
desiredState: destroyed
networkAllowList: "192.168.1.0/16,10.0.0.0/24"
volumes:
- mountPath: /data
volumeId: volume123
subpath: users/alice
- mountPath: /data
volumeId: volume123
subpath: users/alice
cpu: 2
recoverable: true
env:
NODE_ENV: production
gpu: 0
daemonVersion: 1.0.0
backupCreatedAt: 2024-10-01T12:00:00Z
labels:
daytona.io/public: "true"
target: local
disk: 10
name: MySandbox
backupState: None
user: daytona
autoArchiveInterval: 10080
snapshot: daytonaio/sandbox:latest
- memory: 4
buildInfo: ""
toolboxProxyUrl: https://proxy.app.daytona.io/toolbox
lastActivityAt: 2024-10-01T12:00:00Z
autoStopInterval: 30
organizationId: organization123
createdAt: 2024-10-01T12:00:00Z
networkBlockAll: false
autoDeleteInterval: 30
public: false
errorReason: The sandbox is not running
runnerId: runner123
id: sandbox123
state: creating
class: small
updatedAt: 2024-10-01T12:00:00Z
desiredState: destroyed
networkAllowList: "192.168.1.0/16,10.0.0.0/24"
volumes:
- mountPath: /data
volumeId: volume123
subpath: users/alice
- mountPath: /data
volumeId: volume123
subpath: users/alice
cpu: 2
recoverable: true
env:
NODE_ENV: production
gpu: 0
daemonVersion: 1.0.0
backupCreatedAt: 2024-10-01T12:00:00Z
labels:
daytona.io/public: "true"
target: local
disk: 10
name: MySandbox
backupState: None
user: daytona
autoArchiveInterval: 10080
snapshot: daytonaio/sandbox:latest
properties:
items:
items:
$ref: "#/components/schemas/Sandbox"
type: array
total:
type: number
page:
type: number
totalPages:
type: number
required:
- items
- page
- total
- totalPages
type: object
CreateBuildInfo:
properties:
dockerfileContent:
description: The Dockerfile content used for the build
example: |-
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]
type: string
contextHashes:
description: The context hashes used for the build
example:
- hash1
- hash2
items:
type: string
type: array
required:
- dockerfileContent
type: object
CreateSandbox:
example:
memory: 1
buildInfo: ""
networkAllowList: "192.168.1.0/16,10.0.0.0/24"
volumes:
- mountPath: /data
volumeId: volume123
subpath: users/alice
- mountPath: /data
volumeId: volume123
subpath: users/alice
cpu: 2
env:
NODE_ENV: production
gpu: 1
autoStopInterval: 30
labels:
daytona.io/public: "true"
target: us
networkBlockAll: false
disk: 3
autoDeleteInterval: 30
public: false
name: MySandbox
user: daytona
class: small
autoArchiveInterval: 10080
snapshot: ubuntu-4vcpu-8ram-100gb
properties:
name:
description: "The name of the sandbox. If not provided, the sandbox ID will\
\ be used as the name"
example: MySandbox
type: string
snapshot:
description: The ID or name of the snapshot used for the sandbox
example: ubuntu-4vcpu-8ram-100gb
type: string
user:
description: The user associated with the project
example: daytona
type: string
env:
additionalProperties:
type: string
description: Environment variables for the sandbox
example:
NODE_ENV: production
type: object
labels:
additionalProperties:
type: string
description: Labels for the sandbox
example:
daytona.io/public: "true"
type: object
public:
description: Whether the sandbox http preview is publicly accessible
example: false
type: boolean
networkBlockAll:
description: Whether to block all network access for the sandbox
example: false
type: boolean
networkAllowList:
description: Comma-separated list of allowed CIDR network addresses for
the sandbox
example: "192.168.1.0/16,10.0.0.0/24"
type: string
class:
description: The sandbox class type
enum:
- small
- medium
- large
example: small
type: string
target:
description: The target (region) where the sandbox will be created
example: us
type: string
cpu:
description: CPU cores allocated to the sandbox
example: 2
type: integer
gpu:
description: GPU units allocated to the sandbox
example: 1
type: integer
memory:
description: Memory allocated to the sandbox in GB
example: 1
type: integer
disk:
description: Disk space allocated to the sandbox in GB
example: 3
type: integer
autoStopInterval:
description: Auto-stop interval in minutes (0 means disabled)
example: 30
type: integer
autoArchiveInterval:
description: Auto-archive interval in minutes (0 means the maximum interval
will be used)
example: 10080
type: integer
autoDeleteInterval:
description: "Auto-delete interval in minutes (negative value means disabled,\
\ 0 means delete immediately upon stopping)"
example: 30
type: integer
volumes:
description: Array of volumes to attach to the sandbox
items:
$ref: "#/components/schemas/SandboxVolume"
type: array
buildInfo:
allOf:
- $ref: "#/components/schemas/CreateBuildInfo"
description: Build information for the sandbox
type: object
ResizeSandbox:
example:
disk: 20
memory: 4
cpu: 2
properties:
cpu:
description: "CPU cores to allocate to the sandbox (minimum: 1)"
example: 2
minimum: 1
type: integer
memory:
description: "Memory in GB to allocate to the sandbox (minimum: 1)"
example: 4
minimum: 1
type: integer
disk:
description: Disk space in GB to allocate to the sandbox (can only be increased)
example: 20
minimum: 1
type: integer
type: object
SandboxLabels:
example:
labels:
environment: dev
team: backend
properties:
labels:
additionalProperties:
type: string
description: Key-value pairs of labels
example:
environment: dev
team: backend
type: object
required:
- labels
type: object
UpdateSandboxStateDto:
example:
errorReason: Failed to pull snapshot image
recoverable: true
state: started
properties:
state:
description: The new state for the sandbox
enum:
- creating
- restoring
- destroyed
- destroying
- started
- stopped
- starting
- stopping
- error
- build_failed
- pending_build
- building_snapshot
- unknown
- pulling_snapshot
- archived
- archiving
- resizing
- snapshotting
- forking
example: started
type: string
errorReason:
description: Optional error message when reporting an error state
example: Failed to pull snapshot image
type: string
recoverable:
description: Whether the sandbox is recoverable
example: true
type: boolean
required:
- state
type: object
CreateSandboxSnapshot:
example:
name: my-dev-env-v1
properties:
name:
description: Name for the new snapshot
example: my-dev-env-v1
type: string
required:
- name
type: object
ForkSandbox:
example:
name: my-forked-sandbox
properties:
name:
description: "The name for the forked sandbox. If not provided, a unique\
\ name will be generated."
example: my-forked-sandbox
type: string
type: object
UpdateSandboxNetworkSettings:
example:
networkBlockAll: false
networkAllowList: "192.168.1.0/16,10.0.0.0/24"
properties:
networkBlockAll:
description: Whether to block all network access for the sandbox
example: false
type: boolean
networkAllowList:
description: Comma-separated list of allowed CIDR network addresses for
the sandbox
example: "192.168.1.0/16,10.0.0.0/24"
type: string
type: object
PortPreviewUrl:
example:
sandboxId: "123456"
url: "https://{port}-{sandboxId}.{proxyDomain}"
token: ul67qtv-jl6wb9z5o3eii-ljqt9qed6l
properties:
sandboxId:
description: ID of the sandbox
example: "123456"
type: string
url:
description: Preview url
example: "https://{port}-{sandboxId}.{proxyDomain}"
type: string
token:
description: Access token
example: ul67qtv-jl6wb9z5o3eii-ljqt9qed6l
type: string
required:
- sandboxId
- token
- url
type: object
SignedPortPreviewUrl:
example:
port: 3000
sandboxId: "123456"
url: "https://{port}-{token}.{proxyDomain}"
token: jl6wb9z5o3eii
properties:
sandboxId:
description: ID of the sandbox
example: "123456"
type: string
port:
description: Port number of the signed preview URL
example: 3000
type: integer
token:
description: Token of the signed preview URL
example: jl6wb9z5o3eii
type: string
url:
description: Signed preview url
example: "https://{port}-{token}.{proxyDomain}"
type: string
required:
- port
- sandboxId
- token
- url
type: object
Url:
example:
url: url
properties:
url:
description: URL response
type: string
required:
- url
type: object
SshAccessDto:
example:
createdAt: 2025-01-01T11:00:00Z
sshCommand: ssh -p 2222 token@localhost
sandboxId: 123e4567-e89b-12d3-a456-426614174000
id: 123e4567-e89b-12d3-a456-426614174000
expiresAt: 2025-01-01T12:00:00Z
token: abc123def456ghi789jkl012mno345pqr678stu901vwx234yz
updatedAt: 2025-01-01T11:00:00Z
properties:
id:
description: Unique identifier for the SSH access
example: 123e4567-e89b-12d3-a456-426614174000
type: string
sandboxId:
description: ID of the sandbox this SSH access is for
example: 123e4567-e89b-12d3-a456-426614174000
type: string
token:
description: SSH access token
example: abc123def456ghi789jkl012mno345pqr678stu901vwx234yz
type: string
expiresAt:
description: When the SSH access expires
example: 2025-01-01T12:00:00Z
format: date-time
type: string
createdAt:
description: When the SSH access was created
example: 2025-01-01T11:00:00Z
format: date-time
type: string
updatedAt:
description: When the SSH access was last updated
example: 2025-01-01T11:00:00Z
format: date-time
type: string
sshCommand:
description: SSH command to connect to the sandbox
example: ssh -p 2222 token@localhost
type: string
required:
- createdAt
- expiresAt
- id
- sandboxId
- sshCommand
- token
- updatedAt
type: object
SshAccessValidationDto:
example:
valid: true
sandboxId: 123e4567-e89b-12d3-a456-426614174000
properties:
valid:
description: Whether the SSH access token is valid
example: true
type: boolean
sandboxId:
description: ID of the sandbox this SSH access is for
example: 123e4567-e89b-12d3-a456-426614174000
type: string
required:
- sandboxId
- valid
type: object
ToolboxProxyUrl:
example:
url: https://proxy.app.daytona.io/toolbox
properties:
url:
description: The toolbox proxy URL for the sandbox
example: https://proxy.app.daytona.io/toolbox
type: string
required:
- url
type: object
RegionQuota:
example:
organizationId: organizationId
totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 5.962133916683182
maxDiskPerSandbox: 2.3021358869347655
maxDiskPerNonEphemeralSandbox: 7.061401241503109
regionId: regionId
maxMemoryPerSandbox: 5.637376656633329
totalMemoryQuota: 6.027456183070403
totalDiskQuota: 1.4658129805029452
properties:
organizationId:
type: string
regionId:
type: string
totalCpuQuota:
type: number
totalMemoryQuota:
type: number
totalDiskQuota:
type: number
maxCpuPerSandbox:
nullable: true
type: number
maxMemoryPerSandbox:
nullable: true
type: number
maxDiskPerSandbox:
nullable: true
type: number
maxDiskPerNonEphemeralSandbox:
nullable: true
type: number
required:
- maxCpuPerSandbox
- maxDiskPerNonEphemeralSandbox
- maxDiskPerSandbox
- maxMemoryPerSandbox
- organizationId
- regionId
- totalCpuQuota
- totalDiskQuota
- totalMemoryQuota
type: object
CreateRunner:
example:
regionId: regionId
name: name
properties:
regionId:
type: string
name:
type: string
required:
- name
- regionId
type: object
CreateRunnerResponse:
example:
apiKey: dtn_1234567890
id: runner123
properties:
id:
description: The ID of the runner
example: runner123
type: string
apiKey:
description: The API key for the runner
example: dtn_1234567890
type: string
required:
- apiKey
- id
type: object
SandboxClass:
description: The class of the runner
enum:
- small
- medium
- large
type: string
RunnerState:
description: The state of the runner
enum:
- initializing
- ready
- disabled
- decommissioned
- unresponsive
type: string
RunnerClass:
description: The class of the runner
enum:
- container
- vm
type: string
RunnerFull:
example:
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
class: small
currentAllocatedDiskGiB: 50000
currentAllocatedMemoryGiB: 8000
gpuType: gpuType
currentAllocatedCpu: 4000
updatedAt: 2023-10-01T12:00:00Z
proxyUrl: https://proxy.runner1.example.com
cpu: 8
gpu: 1
currentSnapshotCount: 12
version: "0"
disk: 100
domain: runner1.example.com
name: runner1
runnerClass: container
region: us
lastChecked: 2024-10-01T12:00:00Z
properties:
id:
description: The ID of the runner
example: runner123
type: string
domain:
description: The domain of the runner
example: runner1.example.com
type: string
apiUrl:
description: The API URL of the runner
example: https://api.runner1.example.com
type: string
proxyUrl:
description: The proxy URL of the runner
example: https://proxy.runner1.example.com
type: string
cpu:
description: The CPU capacity of the runner
example: 8
type: number
memory:
description: The memory capacity of the runner in GiB
example: 16
type: number
disk:
description: The disk capacity of the runner in GiB
example: 100
type: number
gpu:
description: The GPU capacity of the runner
example: 1
type: number
gpuType:
description: The type of GPU
type: string
class:
allOf:
- $ref: "#/components/schemas/SandboxClass"
description: The class of the runner
example: small
currentCpuUsagePercentage:
description: Current CPU usage percentage
example: 45.6
type: number
currentMemoryUsagePercentage:
description: Current RAM usage percentage
example: 68.2
type: number
currentDiskUsagePercentage:
description: Current disk usage percentage
example: 33.8
type: number
currentAllocatedCpu:
description: Current allocated CPU
example: 4000
type: number
currentAllocatedMemoryGiB:
description: Current allocated memory in GiB
example: 8000
type: number
currentAllocatedDiskGiB:
description: Current allocated disk in GiB
example: 50000
type: number
currentSnapshotCount:
description: Current snapshot count
example: 12
type: number
currentStartedSandboxes:
description: Current number of started sandboxes
example: 5
type: number
availabilityScore:
description: Runner availability score
example: 85
type: number
region:
description: The region of the runner
example: us
type: string
name:
description: The name of the runner
example: runner1
type: string
state:
allOf:
- $ref: "#/components/schemas/RunnerState"
description: The state of the runner
example: initializing
lastChecked:
description: The last time the runner was checked
example: 2024-10-01T12:00:00Z
type: string
unschedulable:
description: Whether the runner is unschedulable
example: false
type: boolean
createdAt:
description: The creation timestamp of the runner
example: 2023-10-01T12:00:00Z
type: string
updatedAt:
description: The last update timestamp of the runner
example: 2023-10-01T12:00:00Z
type: string
version:
deprecated: true
description: The version of the runner (deprecated in favor of apiVersion)
example: "0"
type: string
apiVersion:
deprecated: true
description: The api version of the runner
example: "0"
type: string
runnerClass:
allOf:
- $ref: "#/components/schemas/RunnerClass"
description: The class of the runner
example: container
appVersion:
deprecated: true
description: The app version of the runner
example: v0.0.0-dev
type: string
apiKey:
description: The API key for the runner
example: dtn_1234567890
type: string
regionType:
allOf:
- $ref: "#/components/schemas/RegionType"
description: The region type of the runner
example: shared
required:
- apiKey
- apiVersion
- class
- cpu
- createdAt
- disk
- id
- memory
- name
- region
- runnerClass
- state
- unschedulable
- updatedAt
- version
type: object
RunnerSnapshotDto:
example:
runnerDomain: runner.example.com
runnerId: 123e4567-e89b-12d3-a456-426614174000
runnerSnapshotId: 123e4567-e89b-12d3-a456-426614174000
properties:
runnerSnapshotId:
description: Runner snapshot ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
runnerId:
description: Runner ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
runnerDomain:
description: Runner domain
example: runner.example.com
type: string
required:
- runnerId
- runnerSnapshotId
type: object
Runner:
example:
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
class: small
currentAllocatedDiskGiB: 50000
currentAllocatedMemoryGiB: 8000
gpuType: gpuType
currentAllocatedCpu: 4000
updatedAt: 2023-10-01T12:00:00Z
proxyUrl: https://proxy.runner1.example.com
cpu: 8
gpu: 1
currentSnapshotCount: 12
version: "0"
disk: 100
domain: runner1.example.com
name: runner1
runnerClass: container
region: us
lastChecked: 2024-10-01T12:00:00Z
properties:
id:
description: The ID of the runner
example: runner123
type: string
domain:
description: The domain of the runner
example: runner1.example.com
type: string
apiUrl:
description: The API URL of the runner
example: https://api.runner1.example.com
type: string
proxyUrl:
description: The proxy URL of the runner
example: https://proxy.runner1.example.com
type: string
cpu:
description: The CPU capacity of the runner
example: 8
type: number
memory:
description: The memory capacity of the runner in GiB
example: 16
type: number
disk:
description: The disk capacity of the runner in GiB
example: 100
type: number
gpu:
description: The GPU capacity of the runner
example: 1
type: number
gpuType:
description: The type of GPU
type: string
class:
allOf:
- $ref: "#/components/schemas/SandboxClass"
description: The class of the runner
example: small
currentCpuUsagePercentage:
description: Current CPU usage percentage
example: 45.6
type: number
currentMemoryUsagePercentage:
description: Current RAM usage percentage
example: 68.2
type: number
currentDiskUsagePercentage:
description: Current disk usage percentage
example: 33.8
type: number
currentAllocatedCpu:
description: Current allocated CPU
example: 4000
type: number
currentAllocatedMemoryGiB:
description: Current allocated memory in GiB
example: 8000
type: number
currentAllocatedDiskGiB:
description: Current allocated disk in GiB
example: 50000
type: number
currentSnapshotCount:
description: Current snapshot count
example: 12
type: number
currentStartedSandboxes:
description: Current number of started sandboxes
example: 5
type: number
availabilityScore:
description: Runner availability score
example: 85
type: number
region:
description: The region of the runner
example: us
type: string
name:
description: The name of the runner
example: runner1
type: string
state:
allOf:
- $ref: "#/components/schemas/RunnerState"
description: The state of the runner
example: initializing
lastChecked:
description: The last time the runner was checked
example: 2024-10-01T12:00:00Z
type: string
unschedulable:
description: Whether the runner is unschedulable
example: false
type: boolean
createdAt:
description: The creation timestamp of the runner
example: 2023-10-01T12:00:00Z
type: string
updatedAt:
description: The last update timestamp of the runner
example: 2023-10-01T12:00:00Z
type: string
version:
deprecated: true
description: The version of the runner (deprecated in favor of apiVersion)
example: "0"
type: string
apiVersion:
deprecated: true
description: The api version of the runner
example: "0"
type: string
runnerClass:
allOf:
- $ref: "#/components/schemas/RunnerClass"
description: The class of the runner
example: container
appVersion:
deprecated: true
description: The app version of the runner
example: v0.0.0-dev
type: string
required:
- apiVersion
- class
- cpu
- createdAt
- disk
- id
- memory
- name
- region
- runnerClass
- state
- unschedulable
- updatedAt
- version
type: object
RunnerHealthMetrics:
properties:
currentCpuLoadAverage:
description: Current CPU load average
example: 0.98
type: number
currentCpuUsagePercentage:
description: Current CPU usage percentage
example: 45.5
type: number
currentMemoryUsagePercentage:
description: Current memory usage percentage
example: 60.2
type: number
currentDiskUsagePercentage:
description: Current disk usage percentage
example: 35.8
type: number
currentAllocatedCpu:
description: Currently allocated CPU cores
example: 8
type: number
currentAllocatedMemoryGiB:
description: Currently allocated memory in GiB
example: 16
type: number
currentAllocatedDiskGiB:
description: Currently allocated disk in GiB
example: 100
type: number
currentSnapshotCount:
description: Number of snapshots currently stored
example: 5
type: number
currentStartedSandboxes:
description: Number of started sandboxes
example: 10
type: number
cpu:
description: Total CPU cores on the runner
example: 8
type: number
memoryGiB:
description: Total RAM in GiB on the runner
example: 16
type: number
diskGiB:
description: Total disk space in GiB on the runner
example: 100
type: number
required:
- cpu
- currentAllocatedCpu
- currentAllocatedDiskGiB
- currentAllocatedMemoryGiB
- currentCpuLoadAverage
- currentCpuUsagePercentage
- currentDiskUsagePercentage
- currentMemoryUsagePercentage
- currentSnapshotCount
- currentStartedSandboxes
- diskGiB
- memoryGiB
type: object
RunnerServiceHealth:
example:
healthy: false
errorReason: Cannot connect to the runner
serviceName: runner
properties:
serviceName:
description: Name of the service being checked
example: runner
type: string
healthy:
description: Whether the service is healthy
example: false
type: boolean
errorReason:
description: Error reason if the service is unhealthy
example: Cannot connect to the runner
type: string
required:
- healthy
- serviceName
type: object
RunnerHealthcheck:
example:
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: ""
properties:
metrics:
allOf:
- $ref: "#/components/schemas/RunnerHealthMetrics"
description: Runner metrics
serviceHealth:
description: Health status of individual services on the runner
items:
$ref: "#/components/schemas/RunnerServiceHealth"
type: array
domain:
description: Runner domain
example: runner-123.daytona.example.com
type: string
proxyUrl:
description: Runner proxy URL
example: http://proxy.daytona.example.com:8080
type: string
apiUrl:
description: Runner API URL
example: http://api.daytona.example.com:8080
type: string
appVersion:
description: Runner app version
example: v0.0.0-dev
type: string
required:
- appVersion
type: object
ProjectDirResponse:
example:
dir: dir
properties:
dir:
type: string
type: object
UserHomeDirResponse:
example:
dir: dir
properties:
dir:
type: string
type: object
WorkDirResponse:
example:
dir: dir
properties:
dir:
type: string
type: object
FileInfo:
example:
mode: mode
owner: owner
size: 0.8008281904610115
modTime: modTime
permissions: permissions
name: name
isDir: true
group: group
properties:
name:
type: string
isDir:
type: boolean
size:
type: number
modTime:
type: string
mode:
type: string
permissions:
type: string
owner:
type: string
group:
type: string
required:
- group
- isDir
- modTime
- mode
- name
- owner
- permissions
- size
type: object
DownloadFiles:
example:
paths:
- paths
- paths
properties:
paths:
description: List of remote file paths to download
items:
type: string
type: array
required:
- paths
type: object
Match:
example:
file: file
line: 0.8008281904610115
content: content
properties:
file:
type: string
line:
type: number
content:
type: string
required:
- content
- file
- line
type: object
ReplaceRequest:
example:
newValue: newValue
pattern: pattern
files:
- files
- files
properties:
files:
items:
type: string
type: array
pattern:
type: string
newValue:
type: string
required:
- files
- newValue
- pattern
type: object
ReplaceResult:
example:
file: file
success: true
error: error
properties:
file:
type: string
success:
type: boolean
error:
type: string
type: object
SearchFilesResponse:
example:
files:
- files
- files
properties:
files:
items:
type: string
type: array
required:
- files
type: object
UploadFile:
properties:
file:
format: binary
type: string
path:
type: string
required:
- file
- path
type: object
GitAddRequest:
example:
path: path
files:
- files
- files
properties:
path:
type: string
files:
description: files to add (use . for all files)
items:
type: string
type: array
required:
- files
- path
type: object
ListBranchResponse:
example:
branches:
- branches
- branches
properties:
branches:
items:
type: string
type: array
required:
- branches
type: object
GitBranchRequest:
example:
path: path
name: name
properties:
path:
type: string
name:
type: string
required:
- name
- path
type: object
GitDeleteBranchRequest:
example:
path: path
name: name
properties:
path:
type: string
name:
type: string
required:
- name
- path
type: object
GitCloneRequest:
example:
path: path
password: password
branch: branch
commit_id: commit_id
url: url
username: username
properties:
url:
type: string
path:
type: string
username:
type: string
password:
type: string
branch:
type: string
commit_id:
type: string
required:
- path
- url
type: object
GitCommitRequest:
example:
path: path
author: author
message: message
email: email
allow_empty: false
properties:
path:
type: string
message:
type: string
author:
type: string
email:
type: string
allow_empty:
default: false
description: Allow creating an empty commit when no changes are staged
type: boolean
required:
- author
- email
- message
- path
type: object
GitCommitResponse:
example:
hash: hash
properties:
hash:
type: string
required:
- hash
type: object
GitCommitInfo:
example:
author: author
message: message
hash: hash
email: email
timestamp: timestamp
properties:
hash:
type: string
message:
type: string
author:
type: string
email:
type: string
timestamp:
type: string
required:
- author
- email
- hash
- message
- timestamp
type: object
GitRepoRequest:
example:
path: path
password: password
username: username
properties:
path:
type: string
username:
type: string
password:
type: string
required:
- path
type: object
GitCheckoutRequest:
example:
path: path
branch: branch
properties:
path:
type: string
branch:
type: string
required:
- branch
- path
type: object
FileStatus:
example:
extra: extra
name: name
staging: staging
worktree: worktree
properties:
name:
type: string
staging:
type: string
worktree:
type: string
extra:
type: string
required:
- extra
- name
- staging
- worktree
type: object
GitStatus:
example:
behind: 6.027456183070403
fileStatus:
- extra: extra
name: name
staging: staging
worktree: worktree
- extra: extra
name: name
staging: staging
worktree: worktree
ahead: 0.8008281904610115
branchPublished: true
currentBranch: currentBranch
properties:
currentBranch:
type: string
fileStatus:
items:
$ref: "#/components/schemas/FileStatus"
type: array
ahead:
type: number
behind:
type: number
branchPublished:
type: boolean
required:
- currentBranch
- fileStatus
type: object
ExecuteRequest:
example:
cwd: cwd
command: command
timeout: 0.8008281904610115
properties:
command:
type: string
cwd:
description: Current working directory
type: string
timeout:
description: "Timeout in seconds, defaults to 10 seconds"
type: number
required:
- command
type: object
ExecuteResponse:
example:
result: Command output here
exitCode: 0
properties:
exitCode:
description: Exit code
example: 0
type: number
result:
description: Command output
example: Command output here
type: string
required:
- exitCode
- result
type: object
Command:
example:
exitCode: 0
id: cmd-123
command: ls -la
properties:
id:
description: The ID of the command
example: cmd-123
type: string
command:
description: The command that was executed
example: ls -la
type: string
exitCode:
description: The exit code of the command
example: 0
type: number
required:
- command
- id
type: object
Session:
example:
sessionId: session-123
commands:
- exitCode: 0
id: cmd-123
command: ls -la
- exitCode: 0
id: cmd-123
command: ls -la
properties:
sessionId:
description: The ID of the session
example: session-123
type: string
commands:
description: The list of commands executed in this session
items:
$ref: "#/components/schemas/Command"
nullable: true
type: array
required:
- commands
- sessionId
type: object
CreateSessionRequest:
example:
sessionId: session-123
properties:
sessionId:
description: The ID of the session
example: session-123
type: string
required:
- sessionId
type: object
SessionExecuteRequest:
example:
async: false
command: ls -la
runAsync: false
properties:
command:
description: The command to execute
example: ls -la
type: string
runAsync:
description: Whether to execute the command asynchronously
example: false
type: boolean
async:
deprecated: true
description: "Deprecated: Use runAsync instead. Whether to execute the command\
\ asynchronously"
example: false
type: boolean
required:
- command
type: object
SessionExecuteResponse:
example:
output: |-
total 20
drwxr-xr-x 4 user group 128 Mar 15 10:30 .
cmdId: cmd-123
exitCode: 0
properties:
cmdId:
description: The ID of the executed command
example: cmd-123
type: string
output:
description: The output of the executed command marked with stdout and stderr
prefixes
example: |-
total 20
drwxr-xr-x 4 user group 128 Mar 15 10:30 .
type: string
exitCode:
description: The exit code of the executed command
example: 0
type: number
type: object
PtySessionInfo:
example:
cwd: /home/user
createdAt: 2024-01-15T10:30:45Z
lazyStart: false
envs:
TERM: xterm-256color
PS1: '\u@daytona:\w$ '
active: true
id: pty-session-12345
rows: 24
cols: 80
properties:
id:
description: The unique identifier for the PTY session
example: pty-session-12345
type: string
cwd:
description: "Starting directory for the PTY session, defaults to the sandbox's\
\ working directory"
example: /home/user
type: string
envs:
description: Environment variables for the PTY session
example:
TERM: xterm-256color
PS1: '\u@daytona:\w$ '
type: object
cols:
description: Number of terminal columns
example: 80
type: number
rows:
description: Number of terminal rows
example: 24
type: number
createdAt:
description: When the PTY session was created
example: 2024-01-15T10:30:45Z
type: string
active:
description: Whether the PTY session is currently active
example: true
type: boolean
lazyStart:
default: false
description: Whether the PTY session uses lazy start (only start when first
client connects)
example: false
type: boolean
required:
- active
- cols
- createdAt
- cwd
- envs
- id
- lazyStart
- rows
type: object
PtyListResponse:
example:
sessions:
- cwd: /home/user
createdAt: 2024-01-15T10:30:45Z
lazyStart: false
envs:
TERM: xterm-256color
PS1: '\u@daytona:\w$ '
active: true
id: pty-session-12345
rows: 24
cols: 80
- cwd: /home/user
createdAt: 2024-01-15T10:30:45Z
lazyStart: false
envs:
TERM: xterm-256color
PS1: '\u@daytona:\w$ '
active: true
id: pty-session-12345
rows: 24
cols: 80
properties:
sessions:
description: List of active PTY sessions
items:
$ref: "#/components/schemas/PtySessionInfo"
type: array
required:
- sessions
type: object
PtyCreateRequest:
example:
cwd: /home/user
lazyStart: false
envs:
TERM: xterm-256color
PS1: '\u@daytona:\w$ '
id: pty-session-12345
rows: 24
cols: 80
properties:
id:
description: The unique identifier for the PTY session
example: pty-session-12345
type: string
cwd:
description: "Starting directory for the PTY session, defaults to the sandbox's\
\ working directory"
example: /home/user
type: string
envs:
description: Environment variables for the PTY session
example:
TERM: xterm-256color
PS1: '\u@daytona:\w$ '
type: object
cols:
description: Number of terminal columns
example: 80
type: number
rows:
description: Number of terminal rows
example: 24
type: number
lazyStart:
default: false
description: Whether to start the PTY session lazily (only start when first
client connects)
example: false
type: boolean
required:
- id
type: object
PtyCreateResponse:
example:
sessionId: pty-session-12345
properties:
sessionId:
description: The unique identifier for the created PTY session
example: pty-session-12345
type: string
required:
- sessionId
type: object
PtyResizeRequest:
example:
rows: 24
cols: 80
properties:
cols:
description: Number of terminal columns
example: 80
type: number
rows:
description: Number of terminal rows
example: 24
type: number
required:
- cols
- rows
type: object
Position:
example:
character: 6.027456183070403
line: 0.8008281904610115
properties:
line:
type: number
character:
type: number
required:
- character
- line
type: object
CompletionContext:
example:
triggerCharacter: triggerCharacter
triggerKind: 1.4658129805029452
properties:
triggerKind:
type: number
triggerCharacter:
type: string
required:
- triggerKind
type: object
LspCompletionParams:
example:
pathToProject: pathToProject
languageId: languageId
context:
triggerCharacter: triggerCharacter
triggerKind: 1.4658129805029452
position:
character: 6.027456183070403
line: 0.8008281904610115
uri: uri
properties:
languageId:
description: Language identifier
type: string
pathToProject:
description: Path to the project
type: string
uri:
description: Document URI
type: string
position:
$ref: "#/components/schemas/Position"
context:
$ref: "#/components/schemas/CompletionContext"
required:
- languageId
- pathToProject
- position
- uri
type: object
CompletionItem:
example:
insertText: insertText
kind: 0.8008281904610115
sortText: sortText
documentation: "{}"
label: label
detail: detail
filterText: filterText
properties:
label:
type: string
kind:
type: number
detail:
type: string
documentation:
type: object
sortText:
type: string
filterText:
type: string
insertText:
type: string
required:
- label
type: object
CompletionList:
example:
items:
- insertText: insertText
kind: 0.8008281904610115
sortText: sortText
documentation: "{}"
label: label
detail: detail
filterText: filterText
- insertText: insertText
kind: 0.8008281904610115
sortText: sortText
documentation: "{}"
label: label
detail: detail
filterText: filterText
isIncomplete: true
properties:
isIncomplete:
type: boolean
items:
items:
$ref: "#/components/schemas/CompletionItem"
type: array
required:
- isIncomplete
- items
type: object
LspDocumentRequest:
example:
pathToProject: pathToProject
languageId: languageId
uri: uri
properties:
languageId:
description: Language identifier
type: string
pathToProject:
description: Path to the project
type: string
uri:
description: Document URI
type: string
required:
- languageId
- pathToProject
- uri
type: object
Range:
example:
start:
character: 6.027456183070403
line: 0.8008281904610115
end:
character: 6.027456183070403
line: 0.8008281904610115
properties:
start:
$ref: "#/components/schemas/Position"
end:
$ref: "#/components/schemas/Position"
required:
- end
- start
type: object
LspLocation:
example:
range:
start:
character: 6.027456183070403
line: 0.8008281904610115
end:
character: 6.027456183070403
line: 0.8008281904610115
uri: uri
properties:
range:
$ref: "#/components/schemas/Range"
uri:
type: string
required:
- range
- uri
type: object
LspSymbol:
example:
kind: 0.8008281904610115
name: name
location:
range:
start:
character: 6.027456183070403
line: 0.8008281904610115
end:
character: 6.027456183070403
line: 0.8008281904610115
uri: uri
properties:
kind:
type: number
location:
$ref: "#/components/schemas/LspLocation"
name:
type: string
required:
- kind
- location
- name
type: object
LspServerRequest:
example:
pathToProject: pathToProject
languageId: languageId
properties:
languageId:
description: Language identifier
type: string
pathToProject:
description: Path to the project
type: string
required:
- languageId
- pathToProject
type: object
ComputerUseStartResponse:
example:
message: Computer use processes started successfully
status:
xvfb:
running: true
priority: 100
autoRestart: true
pid: 12345
xfce4:
running: true
priority: 200
autoRestart: true
pid: 12346
x11vnc:
running: true
priority: 300
autoRestart: true
pid: 12347
novnc:
running: true
priority: 400
autoRestart: true
pid: 12348
properties:
message:
description: A message indicating the result of starting computer use processes
example: Computer use processes started successfully
type: string
status:
description: Status information about all VNC desktop processes after starting
example:
xvfb:
running: true
priority: 100
autoRestart: true
pid: 12345
xfce4:
running: true
priority: 200
autoRestart: true
pid: 12346
x11vnc:
running: true
priority: 300
autoRestart: true
pid: 12347
novnc:
running: true
priority: 400
autoRestart: true
pid: 12348
type: object
required:
- message
- status
type: object
ComputerUseStopResponse:
example:
message: Computer use processes stopped successfully
status:
xvfb:
running: false
priority: 100
autoRestart: true
xfce4:
running: false
priority: 200
autoRestart: true
x11vnc:
running: false
priority: 300
autoRestart: true
novnc:
running: false
priority: 400
autoRestart: true
properties:
message:
description: A message indicating the result of stopping computer use processes
example: Computer use processes stopped successfully
type: string
status:
description: Status information about all VNC desktop processes after stopping
example:
xvfb:
running: false
priority: 100
autoRestart: true
xfce4:
running: false
priority: 200
autoRestart: true
x11vnc:
running: false
priority: 300
autoRestart: true
novnc:
running: false
priority: 400
autoRestart: true
type: object
required:
- message
- status
type: object
ComputerUseStatusResponse:
example:
status: active
properties:
status:
description: "Status of computer use services (active, partial, inactive,\
\ error)"
enum:
- active
- partial
- inactive
- error
example: active
type: string
required:
- status
type: object
ProcessStatusResponse:
example:
running: true
processName: xfce4
properties:
processName:
description: The name of the VNC process being checked
example: xfce4
type: string
running:
description: Whether the specified VNC process is currently running
example: true
type: boolean
required:
- processName
- running
type: object
ProcessRestartResponse:
example:
processName: xfce4
message: Process xfce4 restarted successfully
properties:
message:
description: A message indicating the result of restarting the process
example: Process xfce4 restarted successfully
type: string
processName:
description: The name of the VNC process that was restarted
example: xfce4
type: string
required:
- message
- processName
type: object
ProcessLogsResponse:
example:
processName: novnc
logs: "2024-01-15 10:30:45 [INFO] NoVNC server started on port 6080"
properties:
processName:
description: The name of the VNC process whose logs were retrieved
example: novnc
type: string
logs:
description: The log output from the specified VNC process
example: "2024-01-15 10:30:45 [INFO] NoVNC server started on port 6080"
type: string
required:
- logs
- processName
type: object
ProcessErrorsResponse:
example:
processName: x11vnc
errors: "2024-01-15 10:30:45 [ERROR] Failed to bind to port 5901"
properties:
processName:
description: The name of the VNC process whose error logs were retrieved
example: x11vnc
type: string
errors:
description: The error log output from the specified VNC process
example: "2024-01-15 10:30:45 [ERROR] Failed to bind to port 5901"
type: string
required:
- errors
- processName
type: object
MousePosition:
example:
x: 100
"y": 200
properties:
x:
description: The X coordinate of the mouse cursor position
example: 100
type: number
"y":
description: The Y coordinate of the mouse cursor position
example: 200
type: number
required:
- x
- "y"
type: object
MouseMoveRequest:
example:
x: 150
"y": 250
properties:
x:
description: The target X coordinate to move the mouse cursor to
example: 150
type: number
"y":
description: The target Y coordinate to move the mouse cursor to
example: 250
type: number
required:
- x
- "y"
type: object
MouseMoveResponse:
example:
x: 150
"y": 250
properties:
x:
description: The actual X coordinate where the mouse cursor ended up
example: 150
type: number
"y":
description: The actual Y coordinate where the mouse cursor ended up
example: 250
type: number
required:
- x
- "y"
type: object
MouseClickRequest:
example:
button: left
double: false
x: 100
"y": 200
properties:
x:
description: The X coordinate where to perform the mouse click
example: 100
type: number
"y":
description: The Y coordinate where to perform the mouse click
example: 200
type: number
button:
description: "The mouse button to click (left, right, middle). Defaults\
\ to left"
example: left
type: string
double:
description: Whether to perform a double-click instead of a single click
example: false
type: boolean
required:
- x
- "y"
type: object
MouseClickResponse:
example:
x: 100
"y": 200
properties:
x:
description: The actual X coordinate where the click occurred
example: 100
type: number
"y":
description: The actual Y coordinate where the click occurred
example: 200
type: number
required:
- x
- "y"
type: object
MouseDragRequest:
example:
button: left
endY: 400
endX: 300
startY: 200
startX: 100
properties:
startX:
description: The starting X coordinate for the drag operation
example: 100
type: number
startY:
description: The starting Y coordinate for the drag operation
example: 200
type: number
endX:
description: The ending X coordinate for the drag operation
example: 300
type: number
endY:
description: The ending Y coordinate for the drag operation
example: 400
type: number
button:
description: "The mouse button to use for dragging (left, right, middle).\
\ Defaults to left"
example: left
type: string
required:
- endX
- endY
- startX
- startY
type: object
MouseDragResponse:
example:
x: 300
"y": 400
properties:
x:
description: The actual X coordinate where the drag ended
example: 300
type: number
"y":
description: The actual Y coordinate where the drag ended
example: 400
type: number
required:
- x
- "y"
type: object
MouseScrollRequest:
example:
amount: 3
x: 100
"y": 200
direction: down
properties:
x:
description: The X coordinate where to perform the scroll operation
example: 100
type: number
"y":
description: The Y coordinate where to perform the scroll operation
example: 200
type: number
direction:
description: "The scroll direction (up, down)"
example: down
type: string
amount:
description: The number of scroll units to scroll. Defaults to 1
example: 3
type: number
required:
- direction
- x
- "y"
type: object
MouseScrollResponse:
example:
success: true
properties:
success:
description: Whether the mouse scroll operation was successful
example: true
type: boolean
required:
- success
type: object
KeyboardTypeRequest:
example:
delay: 100
text: "Hello, World!"
properties:
text:
description: The text to type using the keyboard
example: "Hello, World!"
type: string
delay:
description: Delay in milliseconds between keystrokes. Defaults to 0
example: 100
type: number
required:
- text
type: object
KeyboardPressRequest:
example:
modifiers:
- ctrl
- shift
key: enter
properties:
key:
description: "The key to press (e.g., a, b, c, enter, space, etc.)"
example: enter
type: string
modifiers:
description: "Array of modifier keys to press along with the main key (ctrl,\
\ alt, shift, cmd)"
example:
- ctrl
- shift
items:
type: string
type: array
required:
- key
type: object
KeyboardHotkeyRequest:
example:
keys: ctrl+c
properties:
keys:
description: "The hotkey combination to press (e.g., \"ctrl+c\", \"cmd+v\"\
, \"alt+tab\")"
example: ctrl+c
type: string
required:
- keys
type: object
ScreenshotResponse:
example:
cursorPosition:
x: 500
"y": 300
screenshot: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==
sizeBytes: 24576
properties:
screenshot:
description: Base64 encoded screenshot image data
example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==
type: string
cursorPosition:
description: The current cursor position when the screenshot was taken
example:
x: 500
"y": 300
type: object
sizeBytes:
description: The size of the screenshot data in bytes
example: 24576
type: number
required:
- screenshot
type: object
RegionScreenshotResponse:
example:
cursorPosition:
x: 500
"y": 300
screenshot: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==
sizeBytes: 24576
properties:
screenshot:
description: Base64 encoded screenshot image data of the specified region
example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==
type: string
cursorPosition:
description: The current cursor position when the region screenshot was
taken
example:
x: 500
"y": 300
type: object
sizeBytes:
description: The size of the screenshot data in bytes
example: 24576
type: number
required:
- screenshot
type: object
CompressedScreenshotResponse:
example:
cursorPosition:
x: 250
"y": 150
screenshot: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==
sizeBytes: 12288
properties:
screenshot:
description: Base64 encoded compressed screenshot image data
example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==
type: string
cursorPosition:
description: The current cursor position when the compressed screenshot
was taken
example:
x: 250
"y": 150
type: object
sizeBytes:
description: The size of the compressed screenshot data in bytes
example: 12288
type: number
required:
- screenshot
type: object
DisplayInfoResponse:
example:
displays:
- id: 0
x: 0
"y": 0
width: 1920
height: 1080
is_active: true
properties:
displays:
description: Array of display information for all connected displays
example:
- id: 0
x: 0
"y": 0
width: 1920
height: 1080
is_active: true
items:
type: object
type: array
required:
- displays
type: object
WindowsResponse:
example:
count: 5
windows:
- id: 12345
title: Terminal
properties:
windows:
description: Array of window information for all visible windows
example:
- id: 12345
title: Terminal
items:
type: object
type: array
count:
description: The total number of windows found
example: 5
type: number
required:
- count
- windows
type: object
CreateSnapshot:
example:
disk: 3
imageName: ubuntu:22.04
memory: 1
buildInfo: ""
regionId: regionId
entrypoint: sleep infinity
name: ubuntu-4vcpu-8ram-100gb
cpu: 1
gpu: 0
properties:
name:
description: The name of the snapshot
example: ubuntu-4vcpu-8ram-100gb
type: string
imageName:
description: The image name of the snapshot
example: ubuntu:22.04
type: string
entrypoint:
description: The entrypoint command for the snapshot
example: sleep infinity
items:
type: string
type: array
cpu:
description: CPU cores allocated to the resulting sandbox
example: 1
type: integer
gpu:
description: GPU units allocated to the resulting sandbox
example: 0
type: integer
memory:
description: Memory allocated to the resulting sandbox in GB
example: 1
type: integer
disk:
description: Disk space allocated to the sandbox in GB
example: 3
type: integer
buildInfo:
allOf:
- $ref: "#/components/schemas/CreateBuildInfo"
description: Build information for the snapshot
regionId:
description: ID of the region where the snapshot will be available. Defaults
to organization default region if not specified.
type: string
required:
- name
type: object
SnapshotState:
enum:
- building
- pending
- pulling
- active
- inactive
- error
- build_failed
- removing
type: string
SnapshotDto:
example:
imageName: imageName
buildInfo: ""
cpu: 6.027456183070403
regionIds:
- regionIds
- regionIds
gpu: 1.4658129805029452
organizationId: organizationId
general: true
createdAt: 2000-01-23T04:56:07.000+00:00
disk: 5.637376656633329
ref: daytonaio/sandbox:latest
size: 0.8008281904610115
mem: 5.962133916683182
lastUsedAt: 2000-01-23T04:56:07.000+00:00
entrypoint:
- entrypoint
- entrypoint
errorReason: errorReason
name: name
id: id
state: ""
initialRunnerId: runner123
updatedAt: 2000-01-23T04:56:07.000+00:00
properties:
id:
type: string
organizationId:
type: string
general:
type: boolean
name:
type: string
imageName:
type: string
state:
allOf:
- $ref: "#/components/schemas/SnapshotState"
size:
nullable: true
type: number
entrypoint:
items:
type: string
nullable: true
type: array
cpu:
type: number
gpu:
type: number
mem:
type: number
disk:
type: number
errorReason:
nullable: true
type: string
createdAt:
format: date-time
type: string
updatedAt:
format: date-time
type: string
lastUsedAt:
format: date-time
nullable: true
type: string
buildInfo:
allOf:
- $ref: "#/components/schemas/BuildInfo"
description: Build information for the snapshot
regionIds:
description: IDs of regions where the snapshot is available
items:
type: string
type: array
initialRunnerId:
description: The initial runner ID of the snapshot
example: runner123
type: string
ref:
description: The snapshot reference
example: daytonaio/sandbox:latest
type: string
required:
- cpu
- createdAt
- disk
- entrypoint
- errorReason
- general
- gpu
- id
- lastUsedAt
- mem
- name
- size
- state
- updatedAt
type: object
PaginatedSnapshots:
example:
total: 2.3021358869347655
totalPages: 9.301444243932576
page: 7.061401241503109
items:
- imageName: imageName
buildInfo: ""
cpu: 6.027456183070403
regionIds:
- regionIds
- regionIds
gpu: 1.4658129805029452
organizationId: organizationId
general: true
createdAt: 2000-01-23T04:56:07.000+00:00
disk: 5.637376656633329
ref: daytonaio/sandbox:latest
size: 0.8008281904610115
mem: 5.962133916683182
lastUsedAt: 2000-01-23T04:56:07.000+00:00
entrypoint:
- entrypoint
- entrypoint
errorReason: errorReason
name: name
id: id
state: ""
initialRunnerId: runner123
updatedAt: 2000-01-23T04:56:07.000+00:00
- imageName: imageName
buildInfo: ""
cpu: 6.027456183070403
regionIds:
- regionIds
- regionIds
gpu: 1.4658129805029452
organizationId: organizationId
general: true
createdAt: 2000-01-23T04:56:07.000+00:00
disk: 5.637376656633329
ref: daytonaio/sandbox:latest
size: 0.8008281904610115
mem: 5.962133916683182
lastUsedAt: 2000-01-23T04:56:07.000+00:00
entrypoint:
- entrypoint
- entrypoint
errorReason: errorReason
name: name
id: id
state: ""
initialRunnerId: runner123
updatedAt: 2000-01-23T04:56:07.000+00:00
properties:
items:
items:
$ref: "#/components/schemas/SnapshotDto"
type: array
total:
type: number
page:
type: number
totalPages:
type: number
required:
- items
- page
- total
- totalPages
type: object
SandboxInfo:
properties:
created:
description: The creation timestamp of the project
example: 2023-10-01T12:00:00Z
type: string
name:
default: ""
deprecated: true
description: "Deprecated: The name of the sandbox"
example: MySandbox
type: string
providerMetadata:
description: Additional metadata provided by the provider
example: "{\"key\": \"value\"}"
type: string
required:
- created
- name
type: object
Workspace:
example:
memory: 4
buildInfo: ""
toolboxProxyUrl: https://proxy.app.daytona.io/toolbox
lastActivityAt: 2024-10-01T12:00:00Z
autoStopInterval: 30
organizationId: organization123
createdAt: 2024-10-01T12:00:00Z
networkBlockAll: false
autoDeleteInterval: 30
snapshotState: None
public: false
errorReason: The sandbox is not running
runnerId: runner123
id: sandbox123
state: creating
class: small
updatedAt: 2024-10-01T12:00:00Z
info: ""
desiredState: destroyed
image: daytonaio/workspace:latest
networkAllowList: "192.168.1.0/16,10.0.0.0/24"
volumes:
- mountPath: /data
volumeId: volume123
subpath: users/alice
- mountPath: /data
volumeId: volume123
subpath: users/alice
cpu: 2
recoverable: true
env:
NODE_ENV: production
snapshotCreatedAt: 2024-10-01T12:00:00Z
gpu: 0
daemonVersion: 1.0.0
backupCreatedAt: 2024-10-01T12:00:00Z
labels:
daytona.io/public: "true"
target: local
disk: 10
name: MySandbox
backupState: None
user: daytona
autoArchiveInterval: 10080
snapshot: daytonaio/sandbox:latest
properties:
id:
description: The ID of the sandbox
example: sandbox123
type: string
organizationId:
description: The organization ID of the sandbox
example: organization123
type: string
name:
description: The name of the sandbox
example: MySandbox
type: string
snapshot:
description: The snapshot used for the sandbox
example: daytonaio/sandbox:latest
type: string
user:
description: The user associated with the project
example: daytona
type: string
env:
additionalProperties:
type: string
description: Environment variables for the sandbox
example:
NODE_ENV: production
type: object
labels:
additionalProperties:
type: string
description: Labels for the sandbox
example:
daytona.io/public: "true"
type: object
public:
description: Whether the sandbox http preview is public
example: false
type: boolean
networkBlockAll:
description: Whether to block all network access for the sandbox
example: false
type: boolean
networkAllowList:
description: Comma-separated list of allowed CIDR network addresses for
the sandbox
example: "192.168.1.0/16,10.0.0.0/24"
type: string
target:
description: The target environment for the sandbox
example: local
type: string
cpu:
description: The CPU quota for the sandbox
example: 2
type: number
gpu:
description: The GPU quota for the sandbox
example: 0
type: number
memory:
description: The memory quota for the sandbox
example: 4
type: number
disk:
description: The disk quota for the sandbox
example: 10
type: number
state:
allOf:
- $ref: "#/components/schemas/SandboxState"
description: The state of the sandbox
example: creating
desiredState:
allOf:
- $ref: "#/components/schemas/SandboxDesiredState"
description: The desired state of the sandbox
example: destroyed
errorReason:
description: The error reason of the sandbox
example: The sandbox is not running
type: string
recoverable:
description: Whether the sandbox error is recoverable.
example: true
type: boolean
backupState:
description: The state of the backup
enum:
- None
- Pending
- InProgress
- Completed
- Error
example: None
type: string
backupCreatedAt:
description: The creation timestamp of the last backup
example: 2024-10-01T12:00:00Z
type: string
autoStopInterval:
description: Auto-stop interval in minutes (0 means disabled)
example: 30
type: number
autoArchiveInterval:
description: Auto-archive interval in minutes
example: 10080
type: number
autoDeleteInterval:
description: "Auto-delete interval in minutes (negative value means disabled,\
\ 0 means delete immediately upon stopping)"
example: 30
type: number
volumes:
description: Array of volumes attached to the sandbox
items:
$ref: "#/components/schemas/SandboxVolume"
type: array
buildInfo:
allOf:
- $ref: "#/components/schemas/BuildInfo"
description: Build information for the sandbox
createdAt:
description: The creation timestamp of the sandbox
example: 2024-10-01T12:00:00Z
type: string
updatedAt:
description: The last update timestamp of the sandbox
example: 2024-10-01T12:00:00Z
type: string
lastActivityAt:
description: The last activity timestamp of the sandbox
example: 2024-10-01T12:00:00Z
type: string
class:
deprecated: true
description: The class of the sandbox
enum:
- small
- medium
- large
example: small
type: string
daemonVersion:
description: The version of the daemon running in the sandbox
example: 1.0.0
type: string
runnerId:
description: The runner ID of the sandbox
example: runner123
type: string
toolboxProxyUrl:
description: The toolbox proxy URL for the sandbox
example: https://proxy.app.daytona.io/toolbox
type: string
image:
description: The image used for the workspace
example: daytonaio/workspace:latest
type: string
snapshotState:
description: The state of the snapshot
enum:
- None
- Pending
- InProgress
- Completed
- Error
example: None
type: string
snapshotCreatedAt:
description: The creation timestamp of the last snapshot
example: 2024-10-01T12:00:00Z
type: string
info:
allOf:
- $ref: "#/components/schemas/SandboxInfo"
description: Additional information about the sandbox
required:
- cpu
- disk
- env
- gpu
- id
- labels
- memory
- name
- networkBlockAll
- organizationId
- public
- target
- toolboxProxyUrl
- user
type: object
CreateWorkspace:
example:
image: daytonaio/workspace:latest
memory: 1
buildInfo: ""
volumes:
- mountPath: /data
volumeId: volume123
subpath: users/alice
- mountPath: /data
volumeId: volume123
subpath: users/alice
cpu: 2
env:
NODE_ENV: production
gpu: 1
autoStopInterval: 30
labels:
daytona.io/public: "true"
target: eu
disk: 3
public: false
user: daytona
class: small
autoArchiveInterval: 10080
properties:
image:
description: The image used for the workspace
example: daytonaio/workspace:latest
type: string
user:
description: The user associated with the project
example: daytona
type: string
env:
additionalProperties:
type: string
description: Environment variables for the workspace
example:
NODE_ENV: production
type: object
labels:
additionalProperties:
type: string
description: Labels for the workspace
example:
daytona.io/public: "true"
type: object
public:
description: Whether the workspace http preview is publicly accessible
example: false
type: boolean
class:
description: The workspace class type
enum:
- small
- medium
- large
example: small
type: string
target:
description: The target (region) where the workspace will be created
enum:
- eu
- us
- asia
example: eu
type: string
cpu:
description: CPU cores allocated to the workspace
example: 2
type: integer
gpu:
description: GPU units allocated to the workspace
example: 1
type: integer
memory:
description: Memory allocated to the workspace in GB
example: 1
type: integer
disk:
description: Disk space allocated to the workspace in GB
example: 3
type: integer
autoStopInterval:
description: Auto-stop interval in minutes (0 means disabled)
example: 30
type: integer
autoArchiveInterval:
description: Auto-archive interval in minutes (0 means the maximum interval
will be used)
example: 10080
type: integer
volumes:
description: Array of volumes to attach to the workspace
items:
$ref: "#/components/schemas/SandboxVolume"
type: array
buildInfo:
allOf:
- $ref: "#/components/schemas/CreateBuildInfo"
description: Build information for the workspace
type: object
WorkspacePortPreviewUrl:
example:
url: https://123456-mysandbox.runner.com
token: ul67qtv-jl6wb9z5o3eii-ljqt9qed6l
properties:
url:
description: Preview url
example: https://123456-mysandbox.runner.com
type: string
token:
description: Access token
example: ul67qtv-jl6wb9z5o3eii-ljqt9qed6l
type: string
required:
- token
- url
type: object
VolumeState:
description: Volume state
enum:
- creating
- ready
- pending_create
- pending_delete
- deleting
- deleted
- error
type: string
VolumeDto:
example:
organizationId: 123e4567-e89b-12d3-a456-426614174000
createdAt: 2023-01-01T00:00:00.000Z
lastUsedAt: 2023-01-01T00:00:00.000Z
errorReason: Error processing volume
name: my-volume
id: vol-12345678
state: ready
updatedAt: 2023-01-01T00:00:00.000Z
properties:
id:
description: Volume ID
example: vol-12345678
type: string
name:
description: Volume name
example: my-volume
type: string
organizationId:
description: Organization ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
state:
allOf:
- $ref: "#/components/schemas/VolumeState"
description: Volume state
example: ready
createdAt:
description: Creation timestamp
example: 2023-01-01T00:00:00.000Z
type: string
updatedAt:
description: Last update timestamp
example: 2023-01-01T00:00:00.000Z
type: string
lastUsedAt:
description: Last used timestamp
example: 2023-01-01T00:00:00.000Z
nullable: true
type: string
errorReason:
description: The error reason of the volume
example: Error processing volume
nullable: true
type: string
required:
- createdAt
- errorReason
- id
- name
- organizationId
- state
- updatedAt
type: object
CreateVolume:
example:
name: name
properties:
name:
type: string
required:
- name
type: object
JobStatus:
enum:
- PENDING
- IN_PROGRESS
- COMPLETED
- FAILED
type: string
JobType:
description: The type of the job
enum:
- CREATE_SANDBOX
- START_SANDBOX
- STOP_SANDBOX
- DESTROY_SANDBOX
- RESIZE_SANDBOX
- CREATE_BACKUP
- BUILD_SNAPSHOT
- PULL_SNAPSHOT
- RECOVER_SANDBOX
- INSPECT_SNAPSHOT_IN_REGISTRY
- REMOVE_SNAPSHOT
- UPDATE_SANDBOX_NETWORK_SETTINGS
- SNAPSHOT_SANDBOX
- FORK_SANDBOX
type: string
Job:
example:
createdAt: 2024-10-01T12:00:00Z
resourceId: sandbox123
payload: payload
errorMessage: Failed to create sandbox
id: job123
type: CREATE_SANDBOX
traceContext:
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
status: PENDING
resourceType: SANDBOX
updatedAt: 2024-10-01T12:00:00Z
properties:
id:
description: The ID of the job
example: job123
type: string
type:
allOf:
- $ref: "#/components/schemas/JobType"
description: The type of the job
example: CREATE_SANDBOX
status:
allOf:
- $ref: "#/components/schemas/JobStatus"
description: The status of the job
example: PENDING
resourceType:
description: The type of resource this job operates on
enum:
- SANDBOX
- SNAPSHOT
- BACKUP
example: SANDBOX
type: string
resourceId:
description: "The ID of the resource this job operates on (sandboxId, snapshotRef,\
\ etc.)"
example: sandbox123
type: string
payload:
description: Job-specific JSON-encoded payload data (operational metadata)
type: string
traceContext:
additionalProperties: true
description: OpenTelemetry trace context for distributed tracing (W3C Trace
Context format)
example:
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
type: object
errorMessage:
description: Error message if the job failed
example: Failed to create sandbox
type: string
createdAt:
description: The creation timestamp of the job
example: 2024-10-01T12:00:00Z
type: string
updatedAt:
description: The last update timestamp of the job
example: 2024-10-01T12:00:00Z
type: string
required:
- createdAt
- id
- resourceId
- resourceType
- status
- type
type: object
PaginatedJobs:
example:
total: 0.8008281904610115
totalPages: 1.4658129805029452
page: 6.027456183070403
items:
- createdAt: 2024-10-01T12:00:00Z
resourceId: sandbox123
payload: payload
errorMessage: Failed to create sandbox
id: job123
type: CREATE_SANDBOX
traceContext:
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
status: PENDING
resourceType: SANDBOX
updatedAt: 2024-10-01T12:00:00Z
- createdAt: 2024-10-01T12:00:00Z
resourceId: sandbox123
payload: payload
errorMessage: Failed to create sandbox
id: job123
type: CREATE_SANDBOX
traceContext:
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
status: PENDING
resourceType: SANDBOX
updatedAt: 2024-10-01T12:00:00Z
properties:
items:
items:
$ref: "#/components/schemas/Job"
type: array
total:
type: number
page:
type: number
totalPages:
type: number
required:
- items
- page
- total
- totalPages
type: object
PollJobsResponse:
example:
jobs:
- createdAt: 2024-10-01T12:00:00Z
resourceId: sandbox123
payload: payload
errorMessage: Failed to create sandbox
id: job123
type: CREATE_SANDBOX
traceContext:
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
status: PENDING
resourceType: SANDBOX
updatedAt: 2024-10-01T12:00:00Z
- createdAt: 2024-10-01T12:00:00Z
resourceId: sandbox123
payload: payload
errorMessage: Failed to create sandbox
id: job123
type: CREATE_SANDBOX
traceContext:
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
status: PENDING
resourceType: SANDBOX
updatedAt: 2024-10-01T12:00:00Z
properties:
jobs:
description: List of jobs
items:
$ref: "#/components/schemas/Job"
type: array
required:
- jobs
type: object
UpdateJobStatus:
example:
resultMetadata: resultMetadata
errorMessage: Failed to create sandbox
status: IN_PROGRESS
properties:
status:
allOf:
- $ref: "#/components/schemas/JobStatus"
description: The new status of the job
example: IN_PROGRESS
errorMessage:
description: Error message if the job failed
example: Failed to create sandbox
type: string
resultMetadata:
description: Result metadata for the job
type: string
required:
- status
type: object
CreateDockerRegistry:
example:
password: password
name: name
project: project
url: url
username: username
properties:
name:
description: Registry name
type: string
url:
description: Registry URL
type: string
username:
description: Registry username
type: string
password:
description: Registry password
type: string
project:
description: Registry project
type: string
required:
- name
- password
- url
- username
type: object
DockerRegistry:
example:
registryType: internal
createdAt: 2024-01-31T12:00:00Z
name: My Docker Hub
project: my-project
id: 123e4567-e89b-12d3-a456-426614174000
url: https://registry.hub.docker.com
username: username
updatedAt: 2024-01-31T12:00:00Z
properties:
id:
description: Registry ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
name:
description: Registry name
example: My Docker Hub
type: string
url:
description: Registry URL
example: https://registry.hub.docker.com
type: string
username:
description: Registry username
example: username
type: string
project:
description: Registry project
example: my-project
type: string
registryType:
description: Registry type
enum:
- internal
- organization
- transient
- backup
example: internal
type: string
createdAt:
description: Creation timestamp
example: 2024-01-31T12:00:00Z
format: date-time
type: string
updatedAt:
description: Last update timestamp
example: 2024-01-31T12:00:00Z
format: date-time
type: string
required:
- createdAt
- id
- name
- project
- registryType
- updatedAt
- url
- username
type: object
RegistryPushAccessDto:
example:
registryUrl: registry.example.com
registryId: 123e4567-e89b-12d3-a456-426614174000
project: library
secret: eyJhbGciOiJIUzI1NiIs...
expiresAt: 2023-12-31T23:59:59Z
username: temp-user-123
properties:
username:
description: Temporary username for registry authentication
example: temp-user-123
type: string
secret:
description: Temporary secret for registry authentication
example: eyJhbGciOiJIUzI1NiIs...
type: string
registryUrl:
description: Registry URL
example: registry.example.com
type: string
registryId:
description: Registry ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
project:
description: Registry project ID
example: library
type: string
expiresAt:
description: Token expiration time in ISO format
example: 2023-12-31T23:59:59Z
type: string
required:
- expiresAt
- project
- registryId
- registryUrl
- secret
- username
type: object
UpdateDockerRegistry:
example:
password: password
name: name
project: project
url: url
username: username
properties:
name:
description: Registry name
type: string
url:
description: Registry URL
type: string
username:
description: Registry username
type: string
password:
description: Registry password
type: string
project:
description: Registry project
type: string
required:
- name
- url
- username
type: object
AdminCreateRunner:
example:
diskGiB: 100
apiVersion: "2"
apiKey: apiKey
apiUrl: https://api.runner1.example.com
regionId: regionId
proxyUrl: https://proxy.runner1.example.com
memoryGiB: 16
domain: runner1.example.com
name: name
cpu: 8
properties:
regionId:
type: string
name:
type: string
apiKey:
type: string
apiVersion:
description: The api version of the runner to create
example: "2"
pattern: ^(0|2)$
type: string
domain:
description: The domain of the runner
example: runner1.example.com
type: string
apiUrl:
description: The API URL of the runner
example: https://api.runner1.example.com
type: string
proxyUrl:
description: The proxy URL of the runner
example: https://proxy.runner1.example.com
type: string
cpu:
description: The CPU capacity of the runner
example: 8
type: number
memoryGiB:
description: The memory capacity of the runner in GiB
example: 16
type: number
diskGiB:
description: The disk capacity of the runner in GiB
example: 100
type: number
required:
- apiKey
- apiVersion
- name
- regionId
type: object
CreateOrganizationQuota:
example:
snapshotQuota: 7.061401241503109
totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 5.962133916683182
maxDiskPerSandbox: 2.3021358869347655
maxMemoryPerSandbox: 5.637376656633329
volumeQuota: 3.616076749251911
totalMemoryQuota: 6.027456183070403
maxSnapshotSize: 9.301444243932576
totalDiskQuota: 1.4658129805029452
properties:
totalCpuQuota:
type: number
totalMemoryQuota:
type: number
totalDiskQuota:
type: number
maxCpuPerSandbox:
type: number
maxMemoryPerSandbox:
type: number
maxDiskPerSandbox:
type: number
snapshotQuota:
type: number
maxSnapshotSize:
type: number
volumeQuota:
type: number
type: object
CreateUser:
example:
emailVerified: true
role: admin
name: name
personalOrganizationDefaultRegionId: personalOrganizationDefaultRegionId
id: id
personalOrganizationQuota:
snapshotQuota: 7.061401241503109
totalCpuQuota: 0.8008281904610115
maxCpuPerSandbox: 5.962133916683182
maxDiskPerSandbox: 2.3021358869347655
maxMemoryPerSandbox: 5.637376656633329
volumeQuota: 3.616076749251911
totalMemoryQuota: 6.027456183070403
maxSnapshotSize: 9.301444243932576
totalDiskQuota: 1.4658129805029452
email: email
properties:
id:
type: string
name:
type: string
email:
type: string
personalOrganizationQuota:
$ref: "#/components/schemas/CreateOrganizationQuota"
personalOrganizationDefaultRegionId:
type: string
role:
enum:
- admin
- user
type: string
emailVerified:
type: boolean
required:
- id
- name
type: object
WebhookEvent:
description: The type of event being sent
enum:
- sandbox.created
- sandbox.state.updated
- snapshot.created
- snapshot.state.updated
- snapshot.removed
- volume.created
- volume.state.updated
type: string
SendWebhookDto:
example:
eventId: evt_1234567890abcdef
payload:
id: sandbox-123
name: My Sandbox
eventType: sandbox.created
properties:
eventType:
allOf:
- $ref: "#/components/schemas/WebhookEvent"
description: The type of event being sent
example: sandbox.created
payload:
description: The payload data to send
example:
id: sandbox-123
name: My Sandbox
type: object
eventId:
description: Optional event ID for idempotency
example: evt_1234567890abcdef
type: string
required:
- eventType
- payload
type: object
SetSnapshotGeneralStatusDto:
example:
general: true
properties:
general:
description: Whether the snapshot is general
example: true
type: boolean
required:
- general
type: object
AuditLog:
example:
actorApiKeyPrefix: actorApiKeyPrefix
metadata:
key: ""
targetId: targetId
errorMessage: errorMessage
ipAddress: ipAddress
actorEmail: actorEmail
targetType: targetType
userAgent: userAgent
source: source
organizationId: organizationId
createdAt: 2000-01-23T04:56:07.000+00:00
actorId: actorId
action: action
id: id
actorApiKeySuffix: actorApiKeySuffix
statusCode: 0.8008281904610115
properties:
id:
type: string
actorId:
type: string
actorEmail:
type: string
actorApiKeyPrefix:
type: string
actorApiKeySuffix:
type: string
organizationId:
type: string
action:
type: string
targetType:
type: string
targetId:
type: string
statusCode:
type: number
errorMessage:
type: string
ipAddress:
type: string
userAgent:
type: string
source:
type: string
metadata:
additionalProperties: true
type: object
createdAt:
format: date-time
type: string
required:
- action
- actorEmail
- actorId
- createdAt
- id
type: object
PaginatedAuditLogs:
example:
total: 6.027456183070403
nextToken: nextToken
totalPages: 5.962133916683182
page: 1.4658129805029452
items:
- actorApiKeyPrefix: actorApiKeyPrefix
metadata:
key: ""
targetId: targetId
errorMessage: errorMessage
ipAddress: ipAddress
actorEmail: actorEmail
targetType: targetType
userAgent: userAgent
source: source
organizationId: organizationId
createdAt: 2000-01-23T04:56:07.000+00:00
actorId: actorId
action: action
id: id
actorApiKeySuffix: actorApiKeySuffix
statusCode: 0.8008281904610115
- actorApiKeyPrefix: actorApiKeyPrefix
metadata:
key: ""
targetId: targetId
errorMessage: errorMessage
ipAddress: ipAddress
actorEmail: actorEmail
targetType: targetType
userAgent: userAgent
source: source
organizationId: organizationId
createdAt: 2000-01-23T04:56:07.000+00:00
actorId: actorId
action: action
id: id
actorApiKeySuffix: actorApiKeySuffix
statusCode: 0.8008281904610115
properties:
items:
items:
$ref: "#/components/schemas/AuditLog"
type: array
total:
type: number
page:
type: number
totalPages:
type: number
nextToken:
description: Token for next page in cursor-based pagination
type: string
required:
- items
- page
- total
- totalPages
type: object
WebhookAppPortalAccess:
example:
url: https://app.svix.com/app_1234567890
token: appsk_...
properties:
token:
description: The authentication token for the Svix consumer app portal
example: appsk_...
type: string
url:
description: The URL to the webhook app portal
example: https://app.svix.com/app_1234567890
type: string
required:
- token
- url
type: object
WebhookInitializationStatus:
example:
organizationId: 123e4567-e89b-12d3-a456-426614174000
createdAt: 2023-01-01T00:00:00.000Z
lastError: Failed to create Svix application
retryCount: 3
svixApplicationId: app_1234567890
updatedAt: 2023-01-01T00:00:00.000Z
properties:
organizationId:
description: Organization ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
svixApplicationId:
description: The ID of the Svix application
example: app_1234567890
nullable: true
type: string
lastError:
description: The error reason for the last initialization attempt
example: Failed to create Svix application
nullable: true
type: string
retryCount:
description: The number of times the initialization has been attempted
example: 3
type: number
createdAt:
description: When the webhook initialization was created
example: 2023-01-01T00:00:00.000Z
type: string
updatedAt:
description: When the webhook initialization was last updated
example: 2023-01-01T00:00:00.000Z
type: string
required:
- createdAt
- lastError
- organizationId
- retryCount
- svixApplicationId
- updatedAt
type: object
StorageAccessDto:
example:
organizationId: 123e4567-e89b-12d3-a456-426614174000
bucket: daytona
accessKey: temp-user-123
sessionToken: eyJhbGciOiJIUzI1NiIs...
secret: abchbGciOiJIUzI1NiIs...
storageUrl: storage.example.com
properties:
accessKey:
description: Access key for storage authentication
example: temp-user-123
type: string
secret:
description: Secret key for storage authentication
example: abchbGciOiJIUzI1NiIs...
type: string
sessionToken:
description: Session token for storage authentication
example: eyJhbGciOiJIUzI1NiIs...
type: string
storageUrl:
description: Storage URL
example: storage.example.com
type: string
organizationId:
description: Organization ID
example: 123e4567-e89b-12d3-a456-426614174000
type: string
bucket:
description: S3 bucket name
example: daytona
type: string
required:
- accessKey
- bucket
- organizationId
- secret
- sessionToken
- storageUrl
type: object
LogEntry:
example:
traceId: traceId
spanId: spanId
severityText: severityText
severityNumber: 0.8008281904610115
logAttributes:
key: logAttributes
body: body
serviceName: serviceName
resourceAttributes:
key: resourceAttributes
timestamp: timestamp
properties:
timestamp:
description: Timestamp of the log entry
type: string
body:
description: Log message body
type: string
severityText:
description: "Severity level text (e.g., INFO, WARN, ERROR)"
type: string
severityNumber:
description: Severity level number
type: number
serviceName:
description: Service name that generated the log
type: string
resourceAttributes:
additionalProperties:
type: string
description: Resource attributes from OTEL
type: object
logAttributes:
additionalProperties:
type: string
description: Log-specific attributes
type: object
traceId:
description: Associated trace ID if available
type: string
spanId:
description: Associated span ID if available
type: string
required:
- body
- logAttributes
- resourceAttributes
- serviceName
- severityText
- timestamp
type: object
PaginatedLogs:
example:
total: 6.027456183070403
totalPages: 5.962133916683182
page: 1.4658129805029452
items:
- traceId: traceId
spanId: spanId
severityText: severityText
severityNumber: 0.8008281904610115
logAttributes:
key: logAttributes
body: body
serviceName: serviceName
resourceAttributes:
key: resourceAttributes
timestamp: timestamp
- traceId: traceId
spanId: spanId
severityText: severityText
severityNumber: 0.8008281904610115
logAttributes:
key: logAttributes
body: body
serviceName: serviceName
resourceAttributes:
key: resourceAttributes
timestamp: timestamp
properties:
items:
description: List of log entries
items:
$ref: "#/components/schemas/LogEntry"
type: array
total:
description: Total number of log entries matching the query
type: number
page:
description: Current page number
type: number
totalPages:
description: Total number of pages
type: number
required:
- items
- page
- total
- totalPages
type: object
TraceSummary:
example:
traceId: traceId
spanCount: 6.027456183070403
rootSpanName: rootSpanName
startTime: startTime
endTime: endTime
durationMs: 0.8008281904610115
statusCode: statusCode
properties:
traceId:
description: Unique trace identifier
type: string
rootSpanName:
description: Name of the root span
type: string
startTime:
description: Trace start time
type: string
endTime:
description: Trace end time
type: string
durationMs:
description: Total duration in milliseconds
type: number
spanCount:
description: Number of spans in this trace
type: number
statusCode:
description: Status code of the trace
type: string
required:
- durationMs
- endTime
- rootSpanName
- spanCount
- startTime
- traceId
type: object
PaginatedTraces:
example:
total: 1.4658129805029452
totalPages: 5.637376656633329
page: 5.962133916683182
items:
- traceId: traceId
spanCount: 6.027456183070403
rootSpanName: rootSpanName
startTime: startTime
endTime: endTime
durationMs: 0.8008281904610115
statusCode: statusCode
- traceId: traceId
spanCount: 6.027456183070403
rootSpanName: rootSpanName
startTime: startTime
endTime: endTime
durationMs: 0.8008281904610115
statusCode: statusCode
properties:
items:
description: List of trace summaries
items:
$ref: "#/components/schemas/TraceSummary"
type: array
total:
description: Total number of traces matching the query
type: number
page:
description: Current page number
type: number
totalPages:
description: Total number of pages
type: number
required:
- items
- page
- total
- totalPages
type: object
TraceSpan:
example:
traceId: traceId
spanId: spanId
spanAttributes:
key: spanAttributes
parentSpanId: parentSpanId
durationNs: 0.8008281904610115
statusMessage: statusMessage
spanName: spanName
timestamp: timestamp
statusCode: statusCode
properties:
traceId:
description: Trace identifier
type: string
spanId:
description: Span identifier
type: string
parentSpanId:
description: Parent span identifier
type: string
spanName:
description: Span name
type: string
timestamp:
description: Span start timestamp
type: string
durationNs:
description: Span duration in nanoseconds
type: number
spanAttributes:
additionalProperties:
type: string
description: Span attributes
type: object
statusCode:
description: Status code of the span
type: string
statusMessage:
description: Status message
type: string
required:
- durationNs
- spanAttributes
- spanId
- spanName
- timestamp
- traceId
type: object
MetricDataPoint:
example:
value: 0.8008281904610115
timestamp: timestamp
properties:
timestamp:
description: Timestamp of the data point
type: string
value:
description: Value at this timestamp
type: number
required:
- timestamp
- value
type: object
MetricSeries:
example:
metricName: metricName
dataPoints:
- value: 0.8008281904610115
timestamp: timestamp
- value: 0.8008281904610115
timestamp: timestamp
properties:
metricName:
description: Name of the metric
type: string
dataPoints:
description: Data points for this metric
items:
$ref: "#/components/schemas/MetricDataPoint"
type: array
required:
- dataPoints
- metricName
type: object
MetricsResponse:
example:
series:
- metricName: metricName
dataPoints:
- value: 0.8008281904610115
timestamp: timestamp
- value: 0.8008281904610115
timestamp: timestamp
- metricName: metricName
dataPoints:
- value: 0.8008281904610115
timestamp: timestamp
- value: 0.8008281904610115
timestamp: timestamp
properties:
series:
description: List of metric series
items:
$ref: "#/components/schemas/MetricSeries"
type: array
required:
- series
type: object
uploadFile_deprecated_request:
properties:
file:
format: binary
type: string
type: object
adminGetWebhookStatus_200_response:
example:
enabled: true
properties:
enabled:
type: boolean
type: object
HealthController_check_200_response_info_value:
additionalProperties: true
properties:
status:
type: string
required:
- status
type: object
HealthController_check_200_response:
example:
details:
database:
status: up
error: {}
status: ok
info:
database:
status: up
properties:
status:
example: ok
type: string
info:
additionalProperties:
$ref: "#/components/schemas/HealthController_check_200_response_info_value"
example:
database:
status: up
nullable: true
type: object
error:
additionalProperties:
$ref: "#/components/schemas/HealthController_check_200_response_info_value"
example: {}
nullable: true
type: object
details:
additionalProperties:
$ref: "#/components/schemas/HealthController_check_200_response_info_value"
example:
database:
status: up
type: object
type: object
HealthController_check_503_response:
example:
details:
database:
status: up
redis:
status: down
message: Could not connect
error:
redis:
status: down
message: Could not connect
status: error
info:
database:
status: up
properties:
status:
example: error
type: string
info:
additionalProperties:
$ref: "#/components/schemas/HealthController_check_200_response_info_value"
example:
database:
status: up
nullable: true
type: object
error:
additionalProperties:
$ref: "#/components/schemas/HealthController_check_200_response_info_value"
example:
redis:
status: down
message: Could not connect
nullable: true
type: object
details:
additionalProperties:
$ref: "#/components/schemas/HealthController_check_200_response_info_value"
example:
database:
status: up
redis:
status: down
message: Could not connect
type: object
type: object
securitySchemes:
bearer:
bearerFormat: JWT
description: API Key access
scheme: bearer
type: http
oauth2:
openIdConnectUrl: http://localhost:3000/.well-known/openid-configuration
type: openIdConnect