Microsoft Azure Container Registry API

Azure Container Registry is a managed Docker registry service for storing and managing private Docker container images and other artifacts. The REST API provides operations for managing registries, repositories, tags, and manifests, enabling automated container image builds, vulnerability scanning, and geo-replication for enterprise container deployments.

OpenAPI Specification

azure-container-registry-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Azure Azure Container Registry API
  description: >-
    Azure Container Registry (ACR) is a managed Docker registry service based on
    the open-source Docker Registry 2.0. The REST API provides operations for
    managing repositories, tags, manifests, and registry operations, enabling
    automated container image builds, vulnerability scanning, and geo-replication
    for enterprise container deployments. ACR supports OCI artifacts and Helm
    charts in addition to Docker container images.
  version: '2023-07-01'
  contact:
    name: Microsoft Azure Support
    url: https://azure.microsoft.com/en-us/support/
    email: [email protected]
  license:
    name: Microsoft API License
    url: https://learn.microsoft.com/en-us/legal/
  x-logo:
    url: https://azure.microsoft.com/svghandler/azure-logo.png
servers:
- url: https://{registryName}.azurecr.io
  description: Azure Container Registry data plane endpoint
  variables:
    registryName:
      default: myregistry
      description: The name of the Azure Container Registry.
security:
- oauth2: []
- basicAuth: []
tags:
- name: Catalog
  description: Operations for listing the registry catalog
- name: Manifests
  description: Operations for managing image manifests
- name: Repositories
  description: Operations for managing repositories
paths:
  /acr/v1/_catalog:
    get:
      operationId: Catalog_List
      summary: Microsoft Azure List Repositories
      description: List repositories in the registry.
      tags:
      - Catalog
      parameters:
      - name: last
        in: query
        description: Query parameter for the last item in the previous call.
        schema:
          type: string
        example: example_value
      - name: 'n'
        in: query
        description: Number of repositories to return.
        schema:
          type: integer
        example: 10
      responses:
        '200':
          description: Successfully returned the list of repositories.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Repositories'
              examples:
                CatalogList200Example:
                  summary: Default Catalog_List 200 response
                  x-microcks-default: true
                  value:
                    repositories:
                    - example_value
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                CatalogListdefaultExample:
                  summary: Default Catalog_List default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /acr/v1/{name}:
    get:
      operationId: Repository_GetAttributes
      summary: Microsoft Azure Get Repository Attributes
      description: Get repository attributes.
      tags:
      - Repositories
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      responses:
        '200':
          description: Successfully returned repository attributes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryAttributes'
              examples:
                RepositoryGetattributes200Example:
                  summary: Default Repository_GetAttributes 200 response
                  x-microcks-default: true
                  value:
                    registry: example_value
                    imageName: example_value
                    createdTime: '2026-01-15T10:30:00Z'
                    lastUpdateTime: '2026-01-15T10:30:00Z'
                    manifestCount: 10
                    tagCount: 10
                    changeableAttributes:
                      deleteEnabled: true
                      writeEnabled: true
                      listEnabled: true
                      readEnabled: true
                      teleportEnabled: true
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                RepositoryGetattributesdefaultExample:
                  summary: Default Repository_GetAttributes default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: Repository_Delete
      summary: Microsoft Azure Delete a Repository
      description: Delete the repository identified by name.
      tags:
      - Repositories
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      responses:
        '202':
          description: The repository was accepted for deletion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletedRepository'
              examples:
                RepositoryDelete202Example:
                  summary: Default Repository_Delete 202 response
                  x-microcks-default: true
                  value:
                    manifestsDeleted:
                    - example_value
                    tagsDeleted:
                    - example_value
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                RepositoryDeletedefaultExample:
                  summary: Default Repository_Delete default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: Repository_UpdateAttributes
      summary: Microsoft Azure Update Repository Attributes
      description: Update the attribute identified by name where reference is the tag or digest.
      tags:
      - Repositories
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryChangeableAttributes'
            examples:
              RepositoryUpdateattributesRequestExample:
                summary: Default Repository_UpdateAttributes request
                x-microcks-default: true
                value:
                  deleteEnabled: true
                  writeEnabled: true
                  listEnabled: true
                  readEnabled: true
                  teleportEnabled: true
      responses:
        '200':
          description: Successfully updated repository attributes.
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                RepositoryUpdateattributesdefaultExample:
                  summary: Default Repository_UpdateAttributes default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /acr/v1/{name}/_tags:
    get:
      operationId: Tag_List
      summary: Microsoft Azure List Tags
      description: List tags of a repository.
      tags: []
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: last
        in: query
        description: Query parameter for the last item in previous call.
        schema:
          type: string
        example: example_value
      - name: 'n'
        in: query
        description: Number of tags to return.
        schema:
          type: integer
        example: 10
      - name: orderby
        in: query
        description: Orderby query parameter.
        schema:
          type: string
          enum:
          - timedesc
          - timeasc
        example: timedesc
      - name: digest
        in: query
        description: Filter by digest.
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Successfully returned the list of tags.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagList'
              examples:
                TagList200Example:
                  summary: Default Tag_List 200 response
                  x-microcks-default: true
                  value:
                    registry: example_value
                    imageName: example_value
                    tags:
                    - name: Example Title
                      digest: example_value
                      createdTime: '2026-01-15T10:30:00Z'
                      lastUpdateTime: '2026-01-15T10:30:00Z'
                      signed: true
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                TagListdefaultExample:
                  summary: Default Tag_List default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /acr/v1/{name}/_tags/{reference}:
    get:
      operationId: Tag_GetAttributes
      summary: Microsoft Azure Get Tag Attributes
      description: Get tag attributes by tag.
      tags: []
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: reference
        in: path
        required: true
        description: Tag name.
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Successfully returned tag attributes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagAttributes'
              examples:
                TagGetattributes200Example:
                  summary: Default Tag_GetAttributes 200 response
                  x-microcks-default: true
                  value:
                    registry: example_value
                    imageName: example_value
                    tag:
                      name: Example Title
                      digest: example_value
                      createdTime: '2026-01-15T10:30:00Z'
                      lastUpdateTime: '2026-01-15T10:30:00Z'
                      signed: true
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                TagGetattributesdefaultExample:
                  summary: Default Tag_GetAttributes default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: Tag_Delete
      summary: Microsoft Azure Delete a Tag
      description: Delete tag by name.
      tags: []
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: reference
        in: path
        required: true
        description: Tag name.
        schema:
          type: string
        example: example_value
      responses:
        '202':
          description: The tag was accepted for deletion.
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                TagDeletedefaultExample:
                  summary: Default Tag_Delete default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /acr/v1/{name}/_manifests:
    get:
      operationId: Manifests_List
      summary: Microsoft Azure List Manifests
      description: List manifests of a repository.
      tags:
      - Manifests
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: last
        in: query
        description: Query parameter for the last item in previous call.
        schema:
          type: string
        example: example_value
      - name: 'n'
        in: query
        description: Number of manifests to return.
        schema:
          type: integer
        example: 10
      - name: orderby
        in: query
        description: Orderby query parameter.
        schema:
          type: string
          enum:
          - timedesc
          - timeasc
        example: timedesc
      responses:
        '200':
          description: Successfully returned the list of manifests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManifestList'
              examples:
                ManifestsList200Example:
                  summary: Default Manifests_List 200 response
                  x-microcks-default: true
                  value:
                    registry: example_value
                    imageName: example_value
                    manifests:
                    - digest: example_value
                      imageSize: 10
                      createdTime: '2026-01-15T10:30:00Z'
                      lastUpdateTime: '2026-01-15T10:30:00Z'
                      architecture: example_value
                      os: example_value
                      mediaType: example_value
                      configMediaType: example_value
                      tags: {}
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                ManifestsListdefaultExample:
                  summary: Default Manifests_List default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/{name}/manifests/{reference}:
    get:
      operationId: Manifests_Get
      summary: Microsoft Azure Get a Manifest
      description: Get the manifest identified by name and reference.
      tags:
      - Manifests
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: reference
        in: path
        required: true
        description: A tag or a digest, pointing to a specific image.
        schema:
          type: string
        example: example_value
      - name: Accept
        in: header
        description: Accept header string delimited by comma.
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Successfully returned the manifest.
          content:
            application/vnd.docker.distribution.manifest.v2+json:
              schema:
                $ref: '#/components/schemas/ManifestWrapper'
              examples:
                ManifestsGet200Example:
                  summary: Default Manifests_Get 200 response
                  x-microcks-default: true
                  value:
                    annotations: example_value
            application/vnd.oci.image.manifest.v1+json:
              schema:
                $ref: '#/components/schemas/ManifestWrapper'
              examples:
                ManifestsGet200Example:
                  summary: Default Manifests_Get 200 response
                  x-microcks-default: true
                  value:
                    annotations: example_value
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                ManifestsGetdefaultExample:
                  summary: Default Manifests_Get default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: Manifests_Create
      summary: Microsoft Azure Put a Manifest
      description: Put the manifest identified by name and reference.
      tags:
      - Manifests
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: reference
        in: path
        required: true
        description: A tag or a digest, pointing to a specific image.
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          application/vnd.docker.distribution.manifest.v2+json:
            schema:
              $ref: '#/components/schemas/Manifest'
            examples:
              ManifestsCreateRequestExample:
                summary: Default Manifests_Create request
                x-microcks-default: true
                value:
                  schemaVersion: 2
                  mediaType: example_value
                  config:
                    mediaType: example_value
                    size: 10
                    digest: example_value
                    urls:
                    - {}
                    annotations: example_value
                  layers:
                  - mediaType: example_value
                    size: 10
                    digest: example_value
                    urls: {}
                    annotations: example_value
      responses:
        '201':
          description: The manifest was put successfully.
          headers:
            Docker-Content-Digest:
              schema:
                type: string
              description: Identifies the docker upload UUID for the current request.
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                ManifestsCreatedefaultExample:
                  summary: Default Manifests_Create default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: Manifests_Delete
      summary: Microsoft Azure Delete a Manifest
      description: Delete the manifest identified by name and reference.
      tags:
      - Manifests
      parameters:
      - $ref: '#/components/parameters/RepositoryNameParameter'
      - name: reference
        in: path
        required: true
        description: Digest of a manifest.
        schema:
          type: string
        example: example_value
      responses:
        '202':
          description: The manifest was accepted for deletion.
        default:
          description: ACR error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcrErrors'
              examples:
                ManifestsDeletedefaultExample:
                  summary: Default Manifests_Delete default response
                  x-microcks-default: true
                  value:
                    errors:
                    - code: example_value
                      message: example_value
                      detail: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
          scopes: {}
      description: Azure Active Directory OAuth2 Flow
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication using registry credentials.
  parameters:
    RepositoryNameParameter:
      name: name
      in: path
      required: true
      description: Name of the image (including the namespace).
      schema:
        type: string
  schemas:
    Repositories:
      type: object
      description: List of repositories.
      properties:
        repositories:
          type: array
          items:
            type: string
          description: List of repository names.
          example: []
    RepositoryAttributes:
      type: object
      description: Repository attributes.
      properties:
        registry:
          type: string
          description: Registry name.
          example: example_value
        imageName:
          type: string
          description: Image name.
          example: example_value
        createdTime:
          type: string
          format: date-time
          description: Image created time.
          example: '2026-01-15T10:30:00Z'
        lastUpdateTime:
          type: string
          format: date-time
          description: Image last update time.
          example: '2026-01-15T10:30:00Z'
        manifestCount:
          type: integer
          description: Number of manifests.
          example: 10
        tagCount:
          type: integer
          description: Number of tags.
          example: 10
        changeableAttributes:
          $ref: '#/components/schemas/RepositoryChangeableAttributes'
    RepositoryChangeableAttributes:
      type: object
      description: Changeable attributes for a repository.
      properties:
        deleteEnabled:
          type: boolean
          description: Whether delete is enabled.
          example: true
        writeEnabled:
          type: boolean
          description: Whether write is enabled.
          example: true
        listEnabled:
          type: boolean
          description: Whether list is enabled.
          example: true
        readEnabled:
          type: boolean
          description: Whether read is enabled.
          example: true
        teleportEnabled:
          type: boolean
          description: Whether teleport is enabled.
          example: true
    DeletedRepository:
      type: object
      description: Deleted repository result.
      properties:
        manifestsDeleted:
          type: array
          items:
            type: string
          description: Digests of manifests deleted.
          example: []
        tagsDeleted:
          type: array
          items:
            type: string
          description: Tags deleted.
          example: []
    TagList:
      type: object
      description: Tag list result.
      properties:
        registry:
          type: string
          description: Registry name.
          example: example_value
        imageName:
          type: string
          description: Image name.
          example: example_value
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagAttributesBase'
          description: List of tag attributes.
          example: []
    TagAttributes:
      type: object
      description: Tag attributes result.
      properties:
        registry:
          type: string
          example: example_value
        imageName:
          type: string
          example: example_value
        tag:
          $ref: '#/components/schemas/TagAttributesBase'
    TagAttributesBase:
      type: object
      description: Tag attribute details.
      properties:
        name:
          type: string
          description: Tag name.
          example: Example Title
        digest:
          type: string
          description: Tag digest.
          example: example_value
        createdTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        lastUpdateTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        signed:
          type: boolean
          description: Whether the tag is signed.
          example: true
        changeableAttributes:
          $ref: '#/components/schemas/RepositoryChangeableAttributes'
    ManifestList:
      type: object
      description: List of manifests.
      properties:
        registry:
          type: string
          example: example_value
        imageName:
          type: string
          example: example_value
        manifests:
          type: array
          items:
            $ref: '#/components/schemas/ManifestAttributesBase'
          example: []
    ManifestAttributesBase:
      type: object
      description: Manifest attribute details.
      properties:
        digest:
          type: string
          description: Manifest digest.
          example: example_value
        imageSize:
          type: integer
          format: int64
          description: Image size.
          example: 10
        createdTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        lastUpdateTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        architecture:
          type: string
          description: CPU architecture.
          example: example_value
        os:
          type: string
          description: Operating system.
          example: example_value
        mediaType:
          type: string
          description: Media type.
          example: example_value
        configMediaType:
          type: string
          description: Config media type.
          example: example_value
        tags:
          type: array
          items:
            type: string
          description: List of tags.
          example: []
        changeableAttributes:
          $ref: '#/components/schemas/RepositoryChangeableAttributes'
    Manifest:
      type: object
      description: Docker V2 manifest.
      properties:
        schemaVersion:
          type: integer
          description: Schema version.
          enum:
          - 2
          example: 2
        mediaType:
          type: string
          description: Media type.
          example: example_value
        config:
          $ref: '#/components/schemas/Descriptor'
        layers:
          type: array
          items:
            $ref: '#/components/schemas/Descriptor'
          description: List of layer descriptors.
          example: []
    ManifestWrapper:
      type: object
      description: Manifest wrapper.
      allOf:
      - $ref: '#/components/schemas/Manifest'
      properties:
        annotations:
          type: object
          additionalProperties:
            type: string
          description: Additional information about the manifest.
          example: example_value
    Descriptor:
      type: object
      description: Docker V2 image layer descriptor.
      properties:
        mediaType:
          type: string
          description: Layer media type.
          example: example_value
        size:
          type: integer
          format: int64
          description: Layer size.
          example: 10
        digest:
          type: string
          description: Layer digest.
          example: example_value
        urls:
          type: array
          items:
            type: string
            format: uri
          description: Specifies a list of URLs from which this object may be downloaded.
          example: https://www.example.com
        annotations:
          type: object
          additionalProperties:
            type: string
          description: Additional information about the descriptor.
          example: example_value
    AcrErrors:
      type: object
      description: ACR error response.
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/AcrErrorInfo'
          description: Array of detailed error information.
          example: []
    AcrErrorInfo:
      type: object
      description: Error information.
      properties:
        code:
          type: string
          description: Error code.
          example: example_value
        message:
          type: string
          description: Error message.
          example: example_value
        detail:
          type: object
          description: Error details.
          example: example_value