> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blaxel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List persistent volumes

> Returns persistent storage volumes in the workspace. Volumes can be attached to sandboxes for durable file storage that persists across sessions and sandbox deletions. Starting with API version 2026-04-28 the response is wrapped in `{data, meta}` and supports cursor pagination via the `cursor` and `limit` query parameters; older versions keep returning a bare array of volumes.



## OpenAPI

````yaml /api-reference/controlplane.yml get /volumes
openapi: 3.0.3
info:
  title: Blaxel Control Plane
  version: 0.0.1
servers:
  - description: Blaxel Control Plane
    url: https://api.blaxel.ai/v0
  - description: Blaxel Inference
    url: https://run.blaxel.ai
security:
  - OAuth2:
      - admin
  - ApiKeyAuth: []
paths:
  /volumes:
    get:
      tags:
        - volumes
      summary: List persistent volumes
      description: >-
        Returns persistent storage volumes in the workspace. Volumes can be
        attached to sandboxes for durable file storage that persists across
        sessions and sandbox deletions. Starting with API version 2026-04-28 the
        response is wrapped in `{data, meta}` and supports cursor pagination via
        the `cursor` and `limit` query parameters; older versions keep returning
        a bare array of volumes.
      operationId: ListVolumes
      parameters:
        - $ref: '#/components/parameters/PaginationCursor'
        - $ref: '#/components/parameters/PaginationLimit'
        - $ref: '#/components/parameters/PaginationSort'
        - $ref: '#/components/parameters/PaginationQuery'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeList'
          description: successful operation
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized - Invalid or missing authentication credentials
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden - Insufficient permissions to list volumes
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
      security:
        - OAuth2:
            - volumes:list
        - ApiKeyAuth: []
components:
  parameters:
    PaginationCursor:
      description: >-
        Opaque cursor returned by a previous response's meta.nextCursor. Only
        valid for the same query (workspace + filters); the server rejects
        cursors bound to a different query or older than 24h. Omit on the first
        page.
      in: query
      name: cursor
      required: false
      schema:
        type: string
      x-stainless-pagination-property:
        purpose: next_cursor_param
    PaginationLimit:
      description: >-
        Maximum number of items to return per page. Defaults to 50, clamped to
        200.
      in: query
      name: limit
      required: false
      schema:
        default: 50
        maximum: 200
        minimum: 1
        type: integer
    PaginationSort:
      description: >-
        Sort spec, formatted as `<key>:<direction>`. Allowed values are
        `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`.
        The cursor fingerprint is bound to the sort, so a cursor opened with one
        value cannot be reused with another. Only honoured starting on
        Blaxel-Version 2026-04-28.
      in: query
      name: sort
      required: false
      schema:
        enum:
          - createdAt:desc
          - createdAt:asc
          - name:asc
          - name:desc
        type: string
    PaginationQuery:
      description: >-
        Substring search across `metadata.name`, `metadata.displayName` and
        labels (keys + values). Trimmed and lowercased server-side; queries
        shorter than 2 characters fall back to the unfiltered listing. Bound
        into the cursor fingerprint so a cursor opened with one query cannot be
        reused with another. Only honoured starting on Blaxel-Version
        2026-04-28.
      in: query
      name: q
      required: false
      schema:
        maxLength: 200
        type: string
  schemas:
    VolumeList:
      type: object
      description: >-
        Cursor-paginated list of volumes. Returned starting with API version
        2026-04-28; older API versions return a bare array. Items use the lite
        shape (no inline event history).
      properties:
        data:
          type: array
          description: Page of volumes.
          items:
            $ref: '#/components/schemas/LiteVolume'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    Error:
      type: object
      description: Standard error response returned by the API when a request fails
      properties:
        code:
          type: integer
          description: HTTP status code of the error
          example: 409
        error:
          type: string
          description: Error type or code identifying the kind of error
          example: Resource already exists
        message:
          type: string
          description: Human-readable error message describing what went wrong
          example: Invalid request body
      required:
        - error
    LiteVolume:
      type: object
      description: >-
        LiteVolume is the listing-shape projection of a Volume. Drops events to
        keep page payloads small.
      properties:
        metadata:
          $ref: '#/components/schemas/LiteVolumeMetadata'
        spec:
          $ref: '#/components/schemas/LiteVolumeSpec'
        state:
          $ref: '#/components/schemas/VolumeState'
        status:
          type: string
          description: Computed status of the volume.
        terminatedAt:
          type: string
          description: Termination timestamp for soft-deleted volumes.
    PaginationMeta:
      type: object
      description: >-
        Pagination metadata returned alongside a page of listing results. Always
        present on listing endpoints starting with API version 2026-04-28.
      properties:
        hasMore:
          type: boolean
          description: True when more pages are available beyond the current one.
        nextCursor:
          type: string
          description: >-
            Opaque cursor to pass back as the `cursor` query param for the next
            page. Empty when there are no more pages.
        total:
          type: integer
          description: >-
            Total number of items in the workspace, ignoring the current page's
            filters. Lets the UI render "page X of Y" without walking the cursor
            chain. Computed from the hash-only metadata.workspace GSI count, so
            search (`q`) does not narrow it.
    LiteVolumeMetadata:
      type: object
      description: Compact metadata for a Volume, returned in listing responses.
      properties:
        createdAt:
          type: string
        displayName:
          type: string
        name:
          type: string
        updatedAt:
          type: string
    LiteVolumeSpec:
      type: object
      description: Compact spec for a Volume, returned in listing responses.
      properties:
        region:
          type: string
          description: Region the volume is provisioned in.
        size:
          type: integer
          description: Volume size in gigabytes.
    VolumeState:
      type: object
      description: Current runtime state of the volume including attachment status
      properties:
        attachedTo:
          type: string
          description: >-
            Resource currently using this volume in format "type:name" (e.g.,
            "sandbox:my-sandbox"). Empty if not attached.
          example: sandbox:my-sandbox
      readOnly: true
  securitySchemes:
    OAuth2:
      description: OAuth2 authentication with JWT tokens
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          scopes:
            admin: Administrative access
            agents:create: Create agents
            agents:delete: Delete agents
            agents:get: Get agent details
            agents:list: List agents
            agents:update: Update agents
            apiKey:list: List API keys
            apiKey:write: Create and delete API keys
            configurations:list: List configurations
            customdomains:create: Create custom domains
            customdomains:delete: Delete custom domains
            customdomains:get: Get custom domain details
            customdomains:list: List custom domains
            customdomains:update: Update custom domains
            functions:create: Create functions
            functions:delete: Delete functions
            functions:get: Get function details
            functions:list: List functions
            functions:update: Update functions
            integrations:create: Create integrations
            integrations:list: List integrations
            invitations:list: List invitations
            jobs:create: Create jobs
            jobs:delete: Delete jobs
            jobs:get: Get job details
            jobs:list: List jobs
            jobs:update: Update jobs
            locations:list: List locations
            mcphub:list: List MCP hub resources
            models:create: Create models
            models:delete: Delete models
            models:get: Get model details
            models:list: List models
            models:update: Update models
            policies:create: Create policies
            policies:delete: Delete policies
            policies:get: Get policy details
            policies:list: List policies
            policies:update: Update policies
            sandboxes:control: Control sandbox operations
            sandboxes:create: Create sandboxes
            sandboxes:delete: Delete sandboxes
            sandboxes:get: Get sandbox details
            sandboxes:list: List sandboxes
            sandboxes:update: Update sandboxes
            sandboxhub:list: List sandbox hub resources
            templates:get: Get template details
            templates:list: List templates
            volumeTemplates:create: Create volume templates
            volumeTemplates:delete: Delete volume templates
            volumeTemplates:get: Get volume template details
            volumeTemplates:list: List volume templates
            volumeTemplates:upsert: Create or update volume templates
            volumes:create: Create volumes
            volumes:delete: Delete volumes
            volumes:get: Get volume details
            volumes:list: List volumes
            workspaces:accept: Accept workspace invitation
            workspaces:create: Create workspaces
            workspaces:decline: Decline workspace invitation
            workspaces:delete: Delete workspaces
            workspaces:get: Get workspace details
            workspaces:invite: Invite users to workspace
            workspaces:leave: Leave workspace
            workspaces:list: List workspaces
            workspaces:remove: Remove users from workspace
            workspaces:update: Update workspaces
          tokenUrl: /oauth/token
        clientCredentials:
          scopes:
            admin: Administrative access
            agents:create: Create agents
            agents:delete: Delete agents
            agents:get: Get agent details
            agents:list: List agents
            agents:update: Update agents
            apiKey:list: List API keys
            apiKey:write: Create and delete API keys
            configurations:list: List configurations
            customdomains:create: Create custom domains
            customdomains:delete: Delete custom domains
            customdomains:get: Get custom domain details
            customdomains:list: List custom domains
            customdomains:update: Update custom domains
            functions:create: Create functions
            functions:delete: Delete functions
            functions:get: Get function details
            functions:list: List functions
            functions:update: Update functions
            integrations:create: Create integrations
            integrations:list: List integrations
            invitations:list: List invitations
            jobs:create: Create jobs
            jobs:delete: Delete jobs
            jobs:get: Get job details
            jobs:list: List jobs
            jobs:update: Update jobs
            locations:list: List locations
            mcphub:list: List MCP hub resources
            models:create: Create models
            models:delete: Delete models
            models:get: Get model details
            models:list: List models
            models:update: Update models
            policies:create: Create policies
            policies:delete: Delete policies
            policies:get: Get policy details
            policies:list: List policies
            policies:update: Update policies
            sandboxes:control: Control sandbox operations
            sandboxes:create: Create sandboxes
            sandboxes:delete: Delete sandboxes
            sandboxes:get: Get sandbox details
            sandboxes:list: List sandboxes
            sandboxes:update: Update sandboxes
            sandboxhub:list: List sandbox hub resources
            templates:get: Get template details
            templates:list: List templates
            volumeTemplates:create: Create volume templates
            volumeTemplates:delete: Delete volume templates
            volumeTemplates:get: Get volume template details
            volumeTemplates:list: List volume templates
            volumeTemplates:upsert: Create or update volume templates
            volumes:create: Create volumes
            volumes:delete: Delete volumes
            volumes:get: Get volume details
            volumes:list: List volumes
            workspaces:accept: Accept workspace invitation
            workspaces:create: Create workspaces
            workspaces:decline: Decline workspace invitation
            workspaces:delete: Delete workspaces
            workspaces:get: Get workspace details
            workspaces:invite: Invite users to workspace
            workspaces:leave: Leave workspace
            workspaces:list: List workspaces
            workspaces:remove: Remove users from workspace
            workspaces:update: Update workspaces
          tokenUrl: /oauth/token
      type: oauth2
    ApiKeyAuth:
      bearerFormat: API Key
      description: Long-lived API key for programmatic access
      scheme: bearer
      type: http

````