# 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