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