Zot

Zot Manifests API

The Manifests API from Zot — 1 operation(s) for manifests.

OpenAPI Specification

zot-manifests-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  contact: {}
  description: APIs for Open Container Initiative Distribution Specification
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Open Container Initiative Distribution Specification Blobs Manifests API
  version: v1.1.1
tags:
- name: Manifests
paths:
  /v2/{name}/manifests/{reference}:
    delete:
      consumes:
      - application/json
      description: Delete an image's manifest given a reference or a digest
      parameters:
      - description: repository name
        in: path
        name: name
        required: true
        type: string
      - description: image reference or digest
        in: path
        name: reference
        required: true
        type: string
      produces:
      - application/json
      responses:
        '202':
          description: accepted
        '400':
          description: bad request
          schema:
            type: string
        '404':
          description: not found
          schema:
            type: string
        '405':
          description: method not allowed
          schema:
            type: string
        '409':
          description: conflict
          schema:
            type: string
        '500':
          description: internal server error
          schema:
            type: string
      summary: Delete image manifest
      tags:
      - Manifests
    get:
      consumes:
      - application/json
      description: Get an image's manifest given a reference or a digest
      parameters:
      - description: repository name
        in: path
        name: name
        required: true
        type: string
      - description: image reference or digest
        in: path
        name: reference
        required: true
        type: string
      produces:
      - application/vnd.oci.image.manifest.v1+json
      responses:
        '200':
          description: OK
          headers:
            Docker-Content-Digest:
              description: Manifest digest of the content
              type: string
          schema:
            $ref: '#/definitions/api.ImageManifest'
        '404':
          description: not found
          schema:
            type: string
        '500':
          description: internal server error
          schema:
            type: string
      summary: Get image manifest
      tags:
      - Manifests
    head:
      consumes:
      - application/json
      description: Check an image's manifest given a reference or a digest
      parameters:
      - description: repository name
        in: path
        name: name
        required: true
        type: string
      - description: image reference or digest
        in: path
        name: reference
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: ok
          headers:
            Docker-Content-Digest:
              description: Manifest digest of the content
              type: string
          schema:
            type: string
        '404':
          description: not found
          schema:
            type: string
        '500':
          description: internal server error
          schema:
            type: string
      summary: Check image manifest
      tags:
      - Manifests
    put:
      consumes:
      - application/json
      description: 'Update an image''s manifest given a reference or a digest. On digest pushes with `tag=` query

        parameters, 201 responses repeat the `OCI-Tag` header once per tag value.'
      parameters:
      - description: repository name
        in: path
        name: name
        required: true
        type: string
      - description: image reference or digest
        in: path
        name: reference
        required: true
        type: string
      - collectionFormat: multi
        description: additional tag(s) for digest pushes
        in: query
        items:
          type: string
        name: tag
        type: array
      produces:
      - application/json
      responses:
        '201':
          description: created
          headers:
            Docker-Content-Digest:
              description: Manifest digest of the uploaded content
              type: string
            OCI-Tag:
              description: Echoed tag= value; this header is repeatable (one field per tag= query parameter)
              type: string
        '400':
          description: bad request
          schema:
            type: string
        '404':
          description: not found
          schema:
            type: string
        '413':
          description: request entity too large
          schema:
            type: string
        '414':
          description: too many tag query parameters
          schema:
            type: string
        '500':
          description: internal server error
          schema:
            type: string
      summary: Update image manifest
      tags:
      - Manifests
definitions:
  api.ImageManifest:
    properties:
      annotations:
        additionalProperties:
          type: string
        description: Annotations contains arbitrary metadata for the image manifest.
        type: object
      artifactType:
        description: ArtifactType specifies the IANA media type of artifact when the manifest is used for an artifact.
        type: string
      config:
        allOf:
        - $ref: '#/definitions/v1.Descriptor'
        description: 'Config references a configuration object for a container, by digest.

          The referenced configuration object is a JSON blob that the runtime uses to set up the container.'
      layers:
        description: Layers is an indexed list of layers referenced by the manifest.
        items:
          $ref: '#/definitions/v1.Descriptor'
        type: array
      mediaType:
        description: MediaType specifies the type of this document data structure e.g. `application/vnd.oci.image.manifest.v1+json`
        type: string
      schemaVersion:
        description: SchemaVersion is the image manifest schema that this image follows
        type: integer
      subject:
        allOf:
        - $ref: '#/definitions/v1.Descriptor'
        description: Subject is an optional link from the image manifest to another manifest forming an association between the image manifest and the other manifest.
    type: object
  v1.Descriptor:
    properties:
      annotations:
        additionalProperties:
          type: string
        description: Annotations contains arbitrary metadata relating to the targeted content.
        type: object
      artifactType:
        description: ArtifactType is the IANA media type of this artifact.
        type: string
      data:
        description: 'Data is an embedding of the targeted content. This is encoded as a base64

          string when marshalled to JSON (automatically, by encoding/json). If

          present, Data can be used directly to avoid fetching the targeted content.'
        items:
          type: integer
        type: array
      digest:
        description: Digest is the digest of the targeted content.
        type: string
      mediaType:
        description: MediaType is the media type of the object this schema refers to.
        type: string
      platform:
        allOf:
        - $ref: '#/definitions/v1.Platform'
        description: 'Platform describes the platform which the image in the manifest runs on.


          This should only be used when referring to a manifest.'
      size:
        description: Size specifies the size in bytes of the blob.
        type: integer
      urls:
        description: URLs specifies a list of URLs from which this object MAY be downloaded
        items:
          type: string
        type: array
    type: object
  v1.Platform:
    properties:
      architecture:
        description: 'Architecture field specifies the CPU architecture, for example

          `amd64` or `ppc64le`.'
        type: string
      os:
        description: OS specifies the operating system, for example `linux` or `windows`.
        type: string
      os.features:
        description: 'OSFeatures is an optional field specifying an array of strings,

          each listing a required OS feature (for example on Windows `win32k`).'
        items:
          type: string
        type: array
      os.version:
        description: 'OSVersion is an optional field specifying the operating system

          version, for example on Windows `10.0.14393.1066`.'
        type: string
      variant:
        description: 'Variant is an optional field specifying a variant of the CPU, for

          example `v7` to specify ARMv7 when architecture is `arm`.'
        type: string
    type: object