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. It consists of a Docker-compatible

    API and a Libpod API providing support for Podman’s unique features such as pods.


    To start the service and keep it running for 5,000 seconds (-t 0 runs forever):


    podman system service -t 5000 &


    You can then use cURL on the socket using requests documented below.


    NOTE: if you install the package podman-docker, it will create a symbolic

    link for /run/docker.sock to /run/podman/podman.sock


    NOTE: Some fields in the API response JSON are encoded as omitempty, which means that

    if said field has a zero value, they will not be encoded in the API response. This

    is a feature to help reduce the size of the JSON responses returned via the API.


    NOTE: Due to the limitations of [go-swagger](https://github.com/go-swagger/go-swagger),

    some field values that have a complex type show up as null in the docs as well as in the

    API responses. This is because the zero value for the field type is null. The field

    description in the docs will state what type the field is expected to be for such cases.


    See podman-system-service(1) for more information.


    Quick Examples:


    ''podman info''


    curl --unix-socket /run/podman/podman.sock http://d/v6.0.0/libpod/info


    ''podman pull quay.io/containers/podman''


    curl -XPOST --unix-socket /run/podman/podman.sock -v ''http://d/v6.0.0/images/create?fromImage=quay.io%2Fcontainers%2Fpodman''


    ''podman list images''


    curl --unix-socket /run/podman/podman.sock -v ''http://d/v6.0.0/libpod/images/json'' | jq'
  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 artifacts 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:
    Schema2List:
      title: Schema2List is a list of platform-specific manifests.
      type: object
      x-go-package: go.podman.io/image/v5/manifest
    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
    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
    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
    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
    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
    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
  responses:
    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'
    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'
    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'
    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'
    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'