> ## 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.

# Add registry credential

> Save an encrypted registry credential. The password is encrypted at rest and never echoed back. Returns `202 Accepted`. Requires compute `manage` access. `Idempotency-Key` header is required.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/gpu/registries
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/registries:
    post:
      tags:
        - GPU Compute
      summary: Add registry credential
      description: >-
        Save an encrypted registry credential. The password is encrypted at rest
        and never echoed back. 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/ComputeRegistrySpec'
            example:
              name: My private registry
              registryUrl: registry.example.com
              username: ci-user
              password: '***'
      responses:
        '202':
          description: Credential saved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComputeAcceptedResponse'
        '403':
          description: Compute `manage` access required.
components:
  schemas:
    ComputeRegistrySpec:
      type: object
      required:
        - name
        - registryUrl
        - username
        - password
      properties:
        name:
          type: string
          maxLength: 120
        registryUrl:
          type: string
          description: Registry hostname without protocol (e.g. `registry.example.com`).
        username:
          type: string
        password:
          type: string
          description: >-
            Registry password or access token. Encrypted at rest and never
            returned.
    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).

````