Quay Repository API

Manage container image repositories including create, list, update, delete, visibility, descriptions, and metadata.

OpenAPI Specification

quay-repository-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Quay Container Registry Build Repository API
  description: The Quay API provides programmatic access to the Quay container image registry. Developers can manage repositories, organizations, users, robot accounts, teams, builds, build triggers, tags, manifests, vulnerability scans, and access permissions. The API supports the full lifecycle of container image distribution including image push and pull workflows, automated build configuration via integrations with source code repositories, security scanning of stored images, and fine-grained access control via OAuth tokens and robot account credentials. The API is available against Quay.io hosted service and on Red Hat Quay self-hosted installations through the same /api/v1 surface.
  version: 1.0.0
  contact:
    name: Red Hat Quay Support
    url: https://access.redhat.com/products/red-hat-quay/
  termsOfService: https://quay.io/tos
servers:
- url: https://quay.io/api/v1
  description: Quay.io hosted production server
security:
- OAuth2: []
tags:
- name: Repository
  description: Manage container image repositories including create, list, update, delete, visibility, descriptions, and metadata.
paths:
  /repository:
    get:
      tags:
      - Repository
      summary: List repositories
      description: List repositories visible to the authenticated user with optional filters.
      operationId: listRepos
      parameters:
      - name: namespace
        in: query
        schema:
          type: string
      - name: public
        in: query
        schema:
          type: boolean
      - name: starred
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: Successful response
    post:
      tags:
      - Repository
      summary: Create a new repository
      operationId: createRepo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                namespace:
                  type: string
                repository:
                  type: string
                visibility:
                  type: string
                  enum:
                  - public
                  - private
                description:
                  type: string
      responses:
        '201':
          description: Repository created
  /repository/{repository}:
    get:
      tags:
      - Repository
      summary: Get repository details
      operationId: getRepo
      parameters:
      - name: repository
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
    delete:
      tags:
      - Repository
      summary: Delete repository
      operationId: deleteRepo
      parameters:
      - name: repository
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Repository deleted
components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://quay.io/oauth/authorize
          tokenUrl: https://quay.io/oauth/access_token
          scopes:
            repo:read: Read repositories
            repo:write: Write repositories
            repo:admin: Administer repositories
            org:admin: Administer organizations
            user:read: Read user info
            user:admin: Administer the user
externalDocs:
  description: Quay API Explorer and Documentation
  url: https://docs.quay.io/api/