Daytona Sandbox API

Create, start, stop, archive, resize, and destroy isolated sandboxes that boot in under 90 milliseconds. The Sandbox API manages the full sandbox lifecycle, exposes labels and metadata, and provides operations for network access, backups, auto-stop / auto-archive policies, and SSH access keys. The legacy /workspace namespace is included as an alias of /sandbox for backwards compatibility.

Daytona Sandbox API is one of 11 APIs that Daytona publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 2 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 2 JSON Schema definitions.

Tagged areas include AI, Agents, Sandbox, and Lifecycle. The published artifact set on APIs.io includes API documentation, an API reference, an OpenAPI specification, sample payloads, 2 Naftiko capability specs, and 2 JSON Schemas.

OpenAPI Specification

daytona-sandbox-api-openapi.yml Raw ↑
openapi: 3.1.0
paths:
  /sandbox:
    get:
      operationId: listSandboxes
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: verbose
        required: false
        in: query
        description: Include verbose output
        schema:
          type: boolean
      - name: labels
        required: false
        in: query
        description: JSON encoded labels to filter by
        schema:
          example: '{"label1": "value1", "label2": "value2"}'
          type: string
      - name: includeErroredDeleted
        required: false
        in: query
        description: Include errored and deleted sandboxes
        schema:
          type: boolean
      responses:
        '200':
          description: List of all sandboxes
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: List all sandboxes
      tags:
      - sandbox
    post:
      operationId: createSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSandbox'
      responses:
        '200':
          description: The sandbox has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Create a new sandbox
      tags:
      - sandbox
  /sandbox/paginated:
    get:
      operationId: listSandboxesPaginated
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: page
        required: false
        in: query
        description: Page number of the results
        schema:
          minimum: 1
          default: 1
          type: number
      - name: limit
        required: false
        in: query
        description: Number of results per page
        schema:
          minimum: 1
          maximum: 200
          default: 100
          type: number
      - name: id
        required: false
        in: query
        description: Filter by partial ID match
        schema:
          example: abc123
          type: string
      - name: name
        required: false
        in: query
        description: Filter by partial name match
        schema:
          example: abc123
          type: string
      - name: labels
        required: false
        in: query
        description: JSON encoded labels to filter by
        schema:
          example: '{"label1": "value1", "label2": "value2"}'
          type: string
      - name: includeErroredDeleted
        required: false
        in: query
        description: Include results with errored state and deleted desired state
        schema:
          default: false
          type: boolean
      - name: states
        required: false
        in: query
        description: List of states to filter by
        schema:
          type: array
          items:
            type: string
            enum:
            - creating
            - restoring
            - destroying
            - started
            - stopped
            - starting
            - stopping
            - error
            - build_failed
            - pending_build
            - building_snapshot
            - unknown
            - pulling_snapshot
            - archived
            - archiving
            - resizing
            - snapshotting
            - forking
      - name: snapshots
        required: false
        in: query
        description: List of snapshot names to filter by
        schema:
          type: array
          items:
            type: string
      - name: regions
        required: false
        in: query
        description: List of regions to filter by
        schema:
          type: array
          items:
            type: string
      - name: minCpu
        required: false
        in: query
        description: Minimum CPU
        schema:
          minimum: 1
          type: number
      - name: maxCpu
        required: false
        in: query
        description: Maximum CPU
        schema:
          minimum: 1
          type: number
      - name: minMemoryGiB
        required: false
        in: query
        description: Minimum memory in GiB
        schema:
          minimum: 1
          type: number
      - name: maxMemoryGiB
        required: false
        in: query
        description: Maximum memory in GiB
        schema:
          minimum: 1
          type: number
      - name: minDiskGiB
        required: false
        in: query
        description: Minimum disk space in GiB
        schema:
          minimum: 1
          type: number
      - name: maxDiskGiB
        required: false
        in: query
        description: Maximum disk space in GiB
        schema:
          minimum: 1
          type: number
      - name: lastEventAfter
        required: false
        in: query
        description: Include items with last event after this timestamp
        schema:
          format: date-time
          example: '2024-01-01T00:00:00Z'
          type: string
      - name: lastEventBefore
        required: false
        in: query
        description: Include items with last event before this timestamp
        schema:
          format: date-time
          example: '2024-12-31T23:59:59Z'
          type: string
      - name: sort
        required: false
        in: query
        description: Field to sort by
        schema:
          default: createdAt
          type: string
          enum:
          - id
          - name
          - state
          - snapshot
          - region
          - updatedAt
          - createdAt
          - lastActivityAt
      - name: order
        required: false
        in: query
        description: Direction to sort by
        schema:
          default: desc
          type: string
          enum:
          - asc
          - desc
      responses:
        '200':
          description: Paginated list of all sandboxes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSandboxes'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: List all sandboxes paginated
      tags:
      - sandbox
  /sandbox/for-runner:
    get:
      operationId: getSandboxesForRunner
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: states
        required: false
        in: query
        description: Comma-separated list of sandbox states to filter by
        schema:
          type: string
      - name: skipReconcilingSandboxes
        required: false
        in: query
        description: Skip sandboxes where state differs from desired state
        schema:
          type: boolean
      responses:
        '200':
          description: List of sandboxes for the authenticated runner
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get sandboxes for the authenticated runner
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}:
    get:
      operationId: getSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: verbose
        required: false
        in: query
        description: Include verbose output
        schema:
          type: boolean
      responses:
        '200':
          description: Sandbox details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get sandbox details
      tags:
      - sandbox
    delete:
      operationId: deleteSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      responses:
        '200':
          description: Sandbox has been deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Delete sandbox
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/recover:
    post:
      operationId: recoverSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: skipStart
        required: false
        in: query
        description: If true, the sandbox is left in STOPPED after recovery instead of being started.
        schema:
          type: boolean
      responses:
        '200':
          description: Recovery initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Recover sandbox from error state
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/start:
    post:
      operationId: startSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      responses:
        '200':
          description: Sandbox has been started or is being restored from archived state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Start sandbox
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/stop:
    post:
      operationId: stopSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: force
        required: false
        in: query
        description: Force stop the sandbox using SIGKILL instead of SIGTERM
        schema:
          type: boolean
      responses:
        '200':
          description: Sandbox has been stopped
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Stop sandbox
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/resize:
    post:
      operationId: resizeSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResizeSandbox'
      responses:
        '200':
          description: Sandbox has been resized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Resize sandbox resources
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/labels:
    put:
      operationId: replaceLabels
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SandboxLabels'
      responses:
        '200':
          description: Labels have been successfully replaced
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxLabels'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Replace sandbox labels
      tags:
      - sandbox
  /sandbox/{sandboxId}/state:
    put:
      operationId: updateSandboxState
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxId
        required: true
        in: path
        description: ID of the sandbox
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSandboxStateDto'
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      responses:
        '200':
          description: Sandbox backup has been initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Create sandbox backup
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/snapshot:
    post:
      operationId: createSandboxSnapshot
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSandboxSnapshot'
      responses:
        '200':
          description: Snapshot creation has been initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Create a snapshot from a sandbox
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/fork:
    post:
      operationId: forkSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForkSandbox'
      responses:
        '200':
          description: Fork operation has been initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Fork a sandbox
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/forks:
    get:
      operationId: getSandboxForks
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        schema:
          type: string
      - name: includeDestroyed
        required: false
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get sandbox fork children
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/parent:
    get:
      operationId: getSandboxParent
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get sandbox fork parent
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/ancestors:
    get:
      operationId: getSandboxAncestors
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get sandbox fork ancestor chain
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/public/{isPublic}:
    post:
      operationId: updatePublicStatus
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: isPublic
        required: true
        in: path
        description: Public status to set
        schema:
          type: boolean
      responses:
        '200':
          description: Public status has been successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Update public status
      tags:
      - sandbox
  /sandbox/{sandboxId}/last-activity:
    post:
      operationId: updateLastActivity
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxId
        required: true
        in: path
        description: ID of the sandbox
        schema:
          type: string
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: interval
        required: true
        in: path
        description: Auto-stop interval in minutes (0 to disable)
        schema:
          type: number
      responses:
        '200':
          description: Auto-stop interval has been set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Set sandbox auto-stop interval
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/autoarchive/{interval}:
    post:
      operationId: setAutoArchiveInterval
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: interval
        required: true
        in: path
        description: Auto-archive interval in minutes (0 means the maximum interval will be used)
        schema:
          type: number
      responses:
        '200':
          description: Auto-archive interval has been set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Set sandbox auto-archive interval
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/autodelete/{interval}:
    post:
      operationId: setAutoDeleteInterval
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: interval
        required: true
        in: path
        description: Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
        schema:
          type: number
      responses:
        '200':
          description: Auto-delete interval has been set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSandboxNetworkSettings'
      responses:
        '200':
          description: Network settings have been updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Update sandbox network settings
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/archive:
    post:
      operationId: archiveSandbox
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Sandbox has been archived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Archive sandbox
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/ports/{port}/preview-url:
    get:
      operationId: getPortPreviewUrl
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: port
        required: true
        in: path
        description: Port number to get preview URL for
        schema:
          type: number
      responses:
        '200':
          description: Preview URL for the specified port
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortPreviewUrl'
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: port
        required: true
        in: path
        description: Port number to get signed preview URL for
        schema:
          type: integer
      - name: expiresInSeconds
        required: false
        in: query
        description: 'Expiration time in seconds (default: 60 seconds)'
        schema:
          type: integer
      responses:
        '200':
          description: Signed preview URL for the specified port
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedPortPreviewUrl'
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: port
        required: true
        in: path
        description: Port number to expire signed preview URL for
        schema:
          type: integer
      - name: token
        required: true
        in: path
        description: Token to expire signed preview URL for
        schema:
          type: string
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      - name: follow
        required: false
        in: query
        description: Whether to follow the logs stream
        schema:
          type: boolean
      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:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: sandboxIdOrName
        required: true
        in: path
        description: ID or name of the sandbox
        schema:
          type: string
      responses:
        '200':
          description: Build logs URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Url'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get build logs URL
      tags:
      - sandbox
  /sandbox/{sandboxIdOrName}/ssh-access:
    post:
      operationId: createSshAccess
      parameters:
      - name: X-Daytona-Organizati

# --- truncated at 32 KB (186 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/daytona-io/refs/heads/main/openapi/daytona-sandbox-api-openapi.yml