Podman Manifests API

Actions related to manifests

Operations 8

DELETE /libpod/manifests/{name} Delete manifest list #
POST /libpod/manifests/{name} Create #
PUT /libpod/manifests/{name} Modify manifest list #
POST /libpod/manifests/{name}/add Add image #
GET /libpod/manifests/{name}/exists Exists #
GET /libpod/manifests/{name}/json Inspect #
POST /libpod/manifests/{name}/push Push manifest to registry #
POST /libpod/manifests/{name}/registry/{destination} Push manifest list to registry #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/podman-manifests-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

podman-manifests-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: podman@lists.podman.io
    name: Podman
    url: https://podman.io/community/
  description: This documentation describes the Podman v2.x+ RESTful API.
  license:
    name: Apache-2.0
    url: https://opensource.org/licenses/Apache-2.0
  termsOfService: https://github.com/containers/podman/blob/913caaa9b1de2b63692c9bae15120208194c9eb3/LICENSE
  title: supports a RESTful API for the Libpod library Manifests API
  version: 5.0.0
  x-logo:
  - url: https://raw.githubusercontent.com/containers/libpod/main/logo/podman-logo.png
  - altText: Podman logo
servers:
- url: http://podman.io/
- url: https://podman.io/
tags:
- description: Actions related to manifests
  name: Manifests
paths:
  /libpod/manifests/{name}:
    delete:
      description: 'Delete named manifest list


        As of v4.0.0'
      operationId: ManifestDeleteLibpod
      parameters:
      - description: The name or ID of the  list to be deleted
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Ignore if a specified manifest does not exist and do not throw an error.
        in: query
        name: ignore
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/imagesRemoveResponseLibpod'
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Delete manifest list
      tags:
      - Manifests
    post:
      description: Create a manifest list
      operationId: ManifestCreateLibpod
      parameters:
      - description: manifest list or index name to create
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: 'One or more names of an image or a manifest list. Repeat parameter as needed.


          Support for multiple images, as of version 4.0.0

          Alias of `image` is support for compatibility with < 4.0.0

          Response status code is 200 with < 4.0.0 for compatibility

          '
        in: query
        name: images
        required: true
        schema:
          type: string
      - description: add all contents if given list
        in: query
        name: all
        schema:
          type: boolean
      - description: modify an existing list if one with the desired name already exists
        in: query
        name: amend
        schema:
          type: boolean
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IDResponse'
        '400':
          $ref: '#/components/responses/badParamError'
        '404':
          $ref: '#/components/responses/imageNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Create
      tags:
      - Manifests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManifestModifyOptions'
          application/x-tar:
            schema:
              $ref: '#/components/schemas/ManifestModifyOptions'
        description: options for new manifest
    put:
      description: 'Add/Remove an image(s) to a manifest list


        Note: operations are not atomic when multiple Images are provided.


        As of v4.0.0'
      operationId: ManifestModifyLibpod
      parameters:
      - description: the name or ID of the manifest
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Require HTTPS and verify signatures when contacting registries.
        in: query
        name: tlsVerify
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManifestModifyReport'
        '400':
          $ref: '#/components/responses/badParamError'
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '409':
          description: Operation had partial success, both Images and Errors may have members
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManifestModifyReport'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Modify manifest list
      tags:
      - Manifests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManifestModifyOptions'
          application/x-tar:
            schema:
              $ref: '#/components/schemas/ManifestModifyOptions'
        description: options for mutating a manifest
        required: true
  /libpod/manifests/{name}/add:
    post:
      description: 'Add an image to a manifest list


        Deprecated: As of 4.0.0 use ManifestModifyLibpod instead'
      operationId: ManifestAddLibpod
      parameters:
      - description: the name or ID of the manifest
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IDResponse'
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '409':
          $ref: '#/components/responses/badParamError'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Add image
      tags:
      - Manifests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManifestAddOptions'
          application/x-tar:
            schema:
              $ref: '#/components/schemas/ManifestAddOptions'
        description: options for creating a manifest
  /libpod/manifests/{name}/exists:
    get:
      description: 'Check if manifest list exists


        Note: There is no contract that the manifest list will exist for a follow-on operation'
      operationId: ManifestExistsLibpod
      parameters:
      - description: the name or ID of the manifest list
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '204':
          description: manifest list exists
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Exists
      tags:
      - Manifests
  /libpod/manifests/{name}/json:
    get:
      description: Display attributes of given manifest list
      operationId: ManifestInspectLibpod
      parameters:
      - description: the name or ID of the manifest list
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Require HTTPS and verify signatures when contacting registries.
        in: query
        name: tlsVerify
        schema:
          type: boolean
          default: true
      responses:
        '200':
          $ref: '#/components/responses/manifestInspect'
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Inspect
      tags:
      - Manifests
  /libpod/manifests/{name}/push:
    post:
      description: 'Push a manifest list or image index to a registry


        Deprecated: As of 4.0.0 use ManifestPushLibpod instead'
      operationId: ManifestPushV3Libpod
      parameters:
      - description: the name or ID of the manifest
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: the destination for the manifest
        in: query
        name: destination
        required: true
        schema:
          type: string
      - description: push all images
        in: query
        name: all
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IDResponse'
        '400':
          $ref: '#/components/responses/badParamError'
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Push manifest to registry
      tags:
      - Manifests
  /libpod/manifests/{name}/registry/{destination}:
    post:
      description: 'Push a manifest list or image index to the named registry


        As of v4.0.0'
      operationId: ManifestPushLibpod
      parameters:
      - description: the name or ID of the manifest list
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: add existing instances with requested compression algorithms to manifest list
        in: query
        name: addCompression
        schema:
          type: array
          items:
            type: string
      - description: Enforce compressing the layers with the specified --compression and do not reuse differently compressed blobs on the registry.
        in: query
        name: forceCompressionFormat
        schema:
          type: boolean
          default: false
      - description: the registry for the manifest list
        in: path
        name: destination
        required: true
        schema:
          type: string
      - description: push all images
        in: query
        name: all
        schema:
          type: boolean
          default: true
      - description: Require HTTPS and verify signatures when contacting registries.
        in: query
        name: tlsVerify
        schema:
          type: boolean
          default: true
      - description: silences extra stream data on push
        in: query
        name: quiet
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IDResponse'
        '400':
          $ref: '#/components/responses/badParamError'
        '404':
          $ref: '#/components/responses/manifestNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Push manifest list to registry
      tags:
      - Manifests
components:
  schemas:
    ErrorModel:
      description: ErrorModel is used in remote connections with podman
      properties:
        cause:
          description: API root cause formatted for automated parsing
          example: API root cause
          type: string
          x-go-name: Because
        message:
          description: human error message, formatted for a human to read
          example: human error message
          type: string
          x-go-name: Message
        response:
          description: HTTP response code
          format: int64
          minimum: 400
          type: integer
          x-go-name: ResponseCode
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/errorhandling
    LibpodImagesRemoveReport:
      allOf:
      - $ref: '#/components/schemas/ImageRemoveReport'
      - properties:
          Errors:
            description: Image removal requires is to return data and an error.
            items:
              type: string
            type: array
        type: object
      description: 'LibpodImagesRemoveReport is the return type for image removal via the rest

        api.'
      x-go-package: go.podman.io/podman/v6/pkg/api/handlers
    ManifestModifyReport:
      properties:
        Id:
          description: Manifest List ID
          type: string
          x-go-name: ID
        errors:
          description: Errors associated with operation
          items:
            type: string
            x-go-type: error
          type: array
          x-go-name: Errors
        files:
          description: Files added to manifest list, otherwise not provided.
          items:
            type: string
          type: array
          x-go-name: Files
        images:
          description: Images added to or removed from manifest list, otherwise not provided.
          items:
            type: string
          type: array
          x-go-name: Images
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities/types
    ImageRemoveReport:
      description: 'ImageRemoveReport is the response for removing one or more image(s) from storage

        and images what was untagged vs actually removed.'
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities
    ManifestAddOptions:
      description: ManifestAddOptions provides model for adding digests to manifest list
      properties:
        all:
          description: True when operating on a list to include all images
          type: boolean
          x-go-name: All
        annotation:
          description: Annotation to add to the item in the manifest list
          items:
            type: string
          type: array
          x-go-name: Annotation
        annotations:
          additionalProperties:
            type: string
          description: Annotations to add to the item in the manifest list by a map which is preferred over Annotation
          type: object
          x-go-name: Annotations
        arch:
          description: Arch overrides the architecture for the item in the manifest list
          type: string
          x-go-name: Arch
        features:
          description: Feature list for the item in the manifest list
          items:
            type: string
          type: array
          x-go-name: Features
        images:
          description: Images is an optional list of image references to add to manifest list
          items:
            type: string
          type: array
          x-go-name: Images
        index_annotation:
          description: IndexAnnotation is a slice of key=value annotations to add to the manifest list itself
          items:
            type: string
          type: array
          x-go-name: IndexAnnotation
        index_annotations:
          additionalProperties:
            type: string
          description: IndexAnnotations is a map of key:value annotations to add to the manifest list itself, by a map which is preferred over IndexAnnotation
          type: object
          x-go-name: IndexAnnotations
        os:
          description: OS overrides the operating system for the item in the manifest list
          type: string
          x-go-name: OS
        os_features:
          description: OS features for the item in the manifest list
          items:
            type: string
          type: array
          x-go-name: OSFeatures
        os_version:
          description: OSVersion overrides the operating system for the item in the manifest list
          type: string
          x-go-name: OSVersion
        subject:
          description: IndexSubject is a subject value to set in the manifest list itself
          type: string
          x-go-name: IndexSubject
        variant:
          description: Variant for the item in the manifest list
          type: string
          x-go-name: Variant
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities
    ManifestModifyOptions:
      description: 'swagger 2.0 does not support oneOf for schema validation.


        Operation "update" uses all fields.

        Operation "remove" uses fields: Operation and Images

        Operation "annotate" uses fields: Operation and Annotations'
      properties:
        all:
          description: True when operating on a list to include all images
          type: boolean
          x-go-name: All
        annotation:
          description: Annotation to add to the item in the manifest list
          items:
            type: string
          type: array
          x-go-name: Annotation
        annotations:
          additionalProperties:
            type: string
          description: Annotations to add to the item in the manifest list by a map which is preferred over Annotation
          type: object
          x-go-name: Annotations
        arch:
          description: Arch overrides the architecture for the item in the manifest list
          type: string
          x-go-name: Arch
        artifact_annotations:
          additionalProperties:
            type: string
          type: object
          x-go-name: ArtifactAnnotations
        artifact_config:
          type: string
          x-go-name: ArtifactConfig
        artifact_config_type:
          type: string
          x-go-name: ArtifactConfigType
        artifact_exclude_titles:
          type: boolean
          x-go-name: ArtifactExcludeTitles
        artifact_files:
          items:
            type: string
          type: array
          x-go-name: ArtifactFiles
        artifact_layer_type:
          type: string
          x-go-name: ArtifactLayerType
        artifact_subject:
          type: string
          x-go-name: ArtifactSubject
        artifact_type:
          description: 'The following are all of the fields from ManifestAddArtifactOptions.

            We can''t just embed the whole structure because it embeds a

            ManifestAnnotateOptions, which would conflict with the one that

            ManifestAddOptions embeds.'
          type: string
          x-go-name: ArtifactType
        features:
          description: Feature list for the item in the manifest list
          items:
            type: string
          type: array
          x-go-name: Features
        images:
          description: Images is an optional list of image references to add to manifest list
          items:
            type: string
          type: array
          x-go-name: Images
        index_annotation:
          description: IndexAnnotation is a slice of key=value annotations to add to the manifest list itself
          items:
            type: string
          type: array
          x-go-name: IndexAnnotation
        index_annotations:
          additionalProperties:
            type: string
          description: IndexAnnotations is a map of key:value annotations to add to the manifest list itself, by a map which is preferred over IndexAnnotation
          type: object
          x-go-name: IndexAnnotations
        operation:
          type: string
          x-go-name: Operation
        os:
          description: OS overrides the operating system for the item in the manifest list
          type: string
          x-go-name: OS
        os_features:
          description: OS features for the item in the manifest list
          items:
            type: string
          type: array
          x-go-name: OSFeatures
        os_version:
          description: OSVersion overrides the operating system for the item in the manifest list
          type: string
          x-go-name: OSVersion
        subject:
          description: IndexSubject is a subject value to set in the manifest list itself
          type: string
          x-go-name: IndexSubject
        variant:
          description: Variant for the item in the manifest list
          type: string
          x-go-name: Variant
      title: ManifestModifyOptions provides the model for mutating a manifest
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities
    Schema2List:
      title: Schema2List is a list of platform-specific manifests.
      type: object
      x-go-package: go.podman.io/image/v5/manifest
    IDResponse:
      properties:
        Id:
          description: The id of the newly created object.
          type: string
          x-go-name: ID
      required:
      - Id
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities/types
  responses:
    imageNotFound:
      description: No such image
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        text/plain:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    internalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        text/plain:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    manifestNotFound:
      description: No such manifest
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        text/plain:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    manifestInspect:
      description: Inspect Manifest
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Schema2List'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/Schema2List'
        text/plain:
          schema:
            $ref: '#/components/schemas/Schema2List'
    badParamError:
      description: Bad parameter in request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        text/plain:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    imagesRemoveResponseLibpod:
      description: Image Remove
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LibpodImagesRemoveReport'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/LibpodImagesRemoveReport'
        text/plain:
          schema:
            $ref: '#/components/schemas/LibpodImagesRemoveReport'