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

# Create volume

> Create a new RunPod network volume. Requires a signed `quoteId` from `POST /v1/gpu/quotes`. Authorizes and captures the first storage hour from your wallet before dispatching to RunPod. Storage billing accrues continuously while the volume exists, independent of pod state. Returns `202 Accepted`. Requires compute `manage` access. `Idempotency-Key` header is required.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/gpu/volumes
openapi: 3.0.3
info:
  title: AI Reserve Gateway API
  description: >-
    The AI Reserve API surface — OpenAI-compatible chat completions,
    Anthropic-compatible messages, Bedrock Converse, images, video, files,
    text-to-speech, realtime voice sessions, and GPU Compute pod/volume
    management — all behind one endpoint and one API key.
  version: 1.0.0
servers:
  - url: https://api.aireserve.com
security:
  - bearerAuth: []
paths:
  /v1/gpu/volumes:
    post:
      tags:
        - GPU Compute
      summary: Create volume
      description: >-
        Create a new RunPod network volume. Requires a signed `quoteId` from
        `POST /v1/gpu/quotes`. Authorizes and captures the first storage hour
        from your wallet before dispatching to RunPod. Storage billing accrues
        continuously while the volume exists, independent of pod state. Returns
        `202 Accepted`. Requires compute `manage` access. `Idempotency-Key`
        header is required.
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComputeVolumeSpec'
            example:
              name: my-workspace
              dataCenterId: EU-RO-1
              sizeGb: 50
              quoteId: <quote-id>
              storageBillingAcknowledged: true
      responses:
        '202':
          description: Volume creation accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComputeAcceptedResponse'
        '402':
          description: >-
            Wallet cannot fund the first storage hour, or organization has
            delinquent storage.
        '403':
          description: Compute `manage` access required.
        '409':
          description: Quote expired or price changed, or idempotency key conflict.
components:
  schemas:
    ComputeVolumeSpec:
      type: object
      required:
        - name
        - dataCenterId
        - sizeGb
        - quoteId
        - storageBillingAcknowledged
      properties:
        name:
          type: string
          maxLength: 120
        dataCenterId:
          type: string
          description: >-
            Data center for the volume. Must match any pod you intend to attach
            it to.
        sizeGb:
          type: integer
          minimum: 10
          maximum: 4096
          description: Initial size in GiB. Growth-only after creation.
        quoteId:
          type: string
          description: 'Signed quote token from `POST /v1/gpu/quotes` with `kind: volume`.'
        storageBillingAcknowledged:
          type: boolean
          enum:
            - true
          description: >-
            Must be `true`. Confirms you understand that storage billing accrues
            continuously while the volume exists.
    ComputeAcceptedResponse:
      type: object
      description: >-
        Response to a `202 Accepted` Compute mutation. All fields are camelCase.
        Use `operationId` to poll `GET /v1/gpu/operations/{id}` for terminal
        status.
      required:
        - accepted
        - resourceId
        - operationId
        - status
      properties:
        accepted:
          type: boolean
          enum:
            - true
        resourceId:
          type: string
          format: uuid
          description: ID of the resource created or mutated.
        resourceType:
          type: string
          enum:
            - pod
            - volume
            - template
            - registry
            - ssh_key
        operationId:
          type: string
          format: uuid
          description: >-
            ID for the durable operation record. Poll `GET
            /v1/gpu/operations/{id}` for terminal status.
        status:
          type: string
          enum:
            - accepted
            - pending
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your AI Reserve API key (aireserve_api_…) from the API Keys page in the
        portal (https://portal.aireserve.com/keys).

````