Daytona volumes API

The volumes API from Daytona — 3 operation(s) for volumes.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

daytona-io-volumes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Daytona admin volumes API
  description: Daytona Admin API — admin, audit, config, runners, docker-registry, regions, object-storage, jobs operations on the Daytona AI platform.
  version: '1.0'
  contact:
    name: Daytona Platforms Inc.
    url: https://www.daytona.io
    email: support@daytona.com
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://app.daytona.io/api
  description: Daytona Cloud production API
tags:
- name: volumes
paths:
  /volumes:
    get:
      operationId: listVolumes
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: includeDeleted
        required: false
        in: query
        description: Include deleted volumes in the response
        schema:
          type: boolean
      responses:
        '200':
          description: List of all volumes
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VolumeDto'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: List all volumes
      tags:
      - volumes
    post:
      operationId: createVolume
      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/CreateVolume'
      responses:
        '200':
          description: The volume has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeDto'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Create a new volume
      tags:
      - volumes
  /volumes/{volumeId}:
    get:
      operationId: getVolume
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: volumeId
        required: true
        in: path
        description: ID of the volume
        schema:
          type: string
      responses:
        '200':
          description: Volume details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeDto'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get volume details
      tags:
      - volumes
    delete:
      operationId: deleteVolume
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: volumeId
        required: true
        in: path
        description: ID of the volume
        schema:
          type: string
      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
  /volumes/by-name/{name}:
    get:
      operationId: getVolumeByName
      parameters:
      - name: X-Daytona-Organization-ID
        in: header
        description: Use with JWT to specify the organization ID
        required: false
        schema:
          type: string
      - name: name
        required: true
        in: path
        description: Name of the volume
        schema:
          type: string
      responses:
        '200':
          description: Volume details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeDto'
      security:
      - bearer: []
      - oauth2:
        - openid
        - profile
        - email
      summary: Get volume details by name
      tags:
      - volumes
components:
  schemas:
    VolumeState:
      type: string
      enum:
      - creating
      - ready
      - pending_create
      - pending_delete
      - deleting
      - deleted
      - error
      description: Volume state
    CreateVolume:
      type: object
      properties:
        name:
          type: string
      required:
      - name
    VolumeDto:
      type: object
      properties:
        id:
          type: string
          description: Volume ID
          example: vol-12345678
        name:
          type: string
          description: Volume name
          example: my-volume
        organizationId:
          type: string
          description: Organization ID
          example: 123e4567-e89b-12d3-a456-426614174000
        state:
          description: Volume state
          example: ready
          allOf:
          - $ref: '#/components/schemas/VolumeState'
        createdAt:
          type: string
          description: Creation timestamp
          example: '2023-01-01T00:00:00.000Z'
        updatedAt:
          type: string
          description: Last update timestamp
          example: '2023-01-01T00:00:00.000Z'
        lastUsedAt:
          type: string
          description: Last used timestamp
          example: '2023-01-01T00:00:00.000Z'
          nullable: true
        errorReason:
          type: string
          description: The error reason of the volume
          example: Error processing volume
          nullable: true
      required:
      - id
      - name
      - organizationId
      - state
      - createdAt
      - updatedAt
      - errorReason
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: API Key access
    oauth2:
      type: openIdConnect
      openIdConnectUrl: http://localhost:3000/.well-known/openid-configuration