Podman · Capability
supports a RESTful API for the Libpod library — images
supports a RESTful API for the Libpod library — images. 23 operations. Lead operation: Build image. Self-contained Naftiko capability covering one Podman business surface.
What You Can Do
POST
Imagebuildlibpod
— Build image
/v1/libpod/build
GET
Imageexportlibpod
— Export multiple images
/v1/libpod/images/export
POST
Imageimportlibpod
— Import image
/v1/libpod/images/import
GET
Imagelistlibpod
— List Images
/v1/libpod/images/json
POST
Imageloadlibpod
— Load image
/v1/libpod/images/load
POST
Imageprunelibpod
— Prune unused images
/v1/libpod/images/prune
POST
Imagepulllibpod
— Pull images
/v1/libpod/images/pull
DELETE
Imagedeletealllibpod
— Remove one or more images from the storage.
/v1/libpod/images/remove
POST
Imagescplibpod
— Copy an image from one host to another
/v1/libpod/images/scp/{name}
GET
Imagesearchlibpod
— Search images
/v1/libpod/images/search
DELETE
Imagedeletelibpod
— Remove an image from the local storage.
/v1/libpod/images/{name}
GET
Imagechangeslibpod
— Report on changes to images's filesystem; adds, deletes or modifications.
/v1/libpod/images/{name}/changes
GET
Imageexistslibpod
— Image exists
/v1/libpod/images/{name}/exists
GET
Imagegetlibpod
— Export an image
/v1/libpod/images/{name}/get
GET
Imagehistorylibpod
— History of an image
/v1/libpod/images/{name}/history
GET
Imageinspectlibpod
— Inspect an image
/v1/libpod/images/{name}/json
POST
Imagepushlibpod
— Push Image
/v1/libpod/images/{name}/push
GET
Imageresolvelibpod
— Resolve an image (short) name
/v1/libpod/images/{name}/resolve
POST
Imagetaglibpod
— Tag an image
/v1/libpod/images/{name}/tag
GET
Imagetreelibpod
— Image tree
/v1/libpod/images/{name}/tree
POST
Imageuntaglibpod
— Untag an image
/v1/libpod/images/{name}/untag
POST
Localbuildlibpod
— Create image from local build context
/v1/libpod/local/build
POST
Localimageslibpod
— Load image from local path
/v1/libpod/local/images/load
MCP Tools
build-image
Build image
export-multiple-images
Export multiple images
read-only
idempotent
import-image
Import image
list-images
List Images
read-only
idempotent
load-image
Load image
prune-unused-images
Prune unused images
pull-images
Pull images
remove-one-more-images-storage
Remove one or more images from the storage.
idempotent
copy-image-one-host-another
Copy an image from one host to another
search-images
Search images
read-only
idempotent
remove-image-local-storage
Remove an image from the local storage.
idempotent
report-changes-images-s-filesystem-adds
Report on changes to images's filesystem; adds, deletes or modifications.
read-only
idempotent
image-exists
Image exists
read-only
idempotent
export-image
Export an image
read-only
idempotent
history-image
History of an image
read-only
idempotent
inspect-image
Inspect an image
read-only
idempotent
push-image
Push Image
resolve-image-short-name
Resolve an image (short) name
read-only
idempotent
tag-image
Tag an image
image-tree
Image tree
read-only
idempotent
untag-image
Untag an image
create-image-local-build-context
Create image from local build context
load-image-local-path
Load image from local path
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: supports a RESTful API for the Libpod library — images
description: 'supports a RESTful API for the Libpod library — images. 23 operations. Lead operation: Build image. Self-contained
Naftiko capability covering one Podman business surface.'
tags:
- Podman
- images
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PODMAN_API_KEY: PODMAN_API_KEY
capability:
consumes:
- type: http
namespace: podman-images
baseUri: http://podman.io
description: supports a RESTful API for the Libpod library — images business capability. Self-contained, no shared references.
resources:
- name: libpod-build
path: /libpod/build
operations:
- name: imagebuildlibpod
method: POST
description: Build image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: X-Registry-Config
in: header
type: string
- name: dockerfile
in: query
type: string
description: Path within the build context to the `Dockerfile`.
- name: t
in: query
type: string
description: A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag, the default
latest value is assumed. You can provide several t par
- name: allplatforms
in: query
type: boolean
description: Instead of building for a set of platforms specified using the platform option, inspect the build's
base images,
- name: additionalbuildcontexts
in: query
type: array
description: Additional build contexts for builds that require more than one context.
- name: extrahosts
in: query
type: string
description: TBD Extra hosts to add to /etc/hosts
- name: nohosts
in: query
type: boolean
description: Not to create /etc/hosts when building the image
- name: remote
in: query
type: string
description: A Git repository URI or HTTP/HTTPS context URI.
- name: q
in: query
type: boolean
description: Suppress verbose build output
- name: compatvolumes
in: query
type: boolean
description: Contents of volume locations to be modified on ADD or COPY only
- name: createdannotation
in: query
type: boolean
description: Add an "org.opencontainers.image.created" annotation to the
- name: sourcedateepoch
in: query
type: number
description: Timestamp to use for newly-added history entries and the image's
- name: rewritetimestamp
in: query
type: boolean
description: If sourcedateepoch is set, force new content added in layers to
- name: timestamp
in: query
type: number
description: Timestamp to use for newly-added history entries, the image's
- name: inheritlabels
in: query
type: boolean
description: Inherit the labels from the base image or base stages
- name: inheritannotations
in: query
type: boolean
description: Inherit the annotations from the base image or base stages
- name: nocache
in: query
type: boolean
description: Do not use the cache when building the image
- name: cachefrom
in: query
type: string
description: JSON array of images used to build cache resolution
- name: pull
in: query
type: boolean
description: Attempt to pull the image even if an older image exists locally
- name: rm
in: query
type: boolean
description: Remove intermediate containers after a successful build
- name: forcerm
in: query
type: boolean
description: Always remove intermediate containers, even upon failure
- name: memory
in: query
type: integer
description: Memory is the upper limit (in bytes) on how much memory running containers can use
- name: memswap
in: query
type: integer
description: MemorySwap limits the amount of memory and swap together
- name: cpushares
in: query
type: integer
description: CPUShares (relative weight
- name: cpusetcpus
in: query
type: string
description: CPUSetCPUs in which to allow execution (0-3, 0,1)
- name: cpuperiod
in: query
type: integer
description: CPUPeriod limits the CPU CFS (Completely Fair Scheduler) period
- name: cpuquota
in: query
type: integer
description: CPUQuota limits the CPU CFS (Completely Fair Scheduler) quota
- name: buildargs
in: query
type: string
description: JSON map of string pairs denoting build-time variables.
- name: shmsize
in: query
type: integer
description: ShmSize is the "size" value to use when mounting an shmfs on the container's /dev/shm directory.
- name: squash
in: query
type: boolean
description: Silently ignored.
- name: labels
in: query
type: string
description: JSON map of key, value pairs to set as labels on the new image
- name: layerLabel
in: query
type: array
description: Add an intermediate image *label* (e.g. label=*value*) to the intermediate image metadata.
- name: layers
in: query
type: boolean
description: Cache intermediate layers during build.
- name: networkmode
in: query
type: string
description: Sets the networking mode for the run commands during build.
- name: platform
in: query
type: string
description: Platform format os[/arch[/variant]]
- name: target
in: query
type: string
description: Target build stage
- name: outputs
in: query
type: string
description: output configuration TBD
- name: httpproxy
in: query
type: boolean
description: Inject http proxy environment variables into container
- name: unsetenv
in: query
type: array
description: Unset environment variables from the final image.
- name: unsetlabel
in: query
type: array
description: Unset the image label, causing the label not to be inherited from the base image.
- name: unsetannotation
in: query
type: array
description: Unset the image annotation, causing the annotation not to be inherited from the base image.
- name: volume
in: query
type: array
description: Extra volumes that should be mounted in the build container.
- name: manifest
in: query
type: string
description: Add the image to the specified manifest list. Creates a manifest list if it does not exist.
- name: libpod-images-export
path: /libpod/images/export
operations:
- name: imageexportlibpod
method: GET
description: Export multiple images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: format
in: query
type: string
description: format for exported image (only docker-archive is supported)
- name: references
in: query
type: array
description: references to images to export
- name: compress
in: query
type: boolean
description: use compression on image
- name: ociAcceptUncompressedLayers
in: query
type: boolean
description: accept uncompressed layers when copying OCI images
- name: libpod-images-import
path: /libpod/images/import
operations:
- name: imageimportlibpod
method: POST
description: Import image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: changes
in: query
type: array
description: 'Apply the following possible instructions to the created image: CMD | ENTRYPOINT | ENV | EXPOSE |
LABEL | STOPSIGNAL | USER | VOLUME | WORKDIR. JSON encoded st'
- name: message
in: query
type: string
description: Set commit message for imported image
- name: reference
in: query
type: string
description: Optional Name[:TAG] for the image
- name: url
in: query
type: string
description: Load image from the specified URL
- name: upload
in: body
type: string
description: tarball for imported image
required: true
- name: libpod-images-json
path: /libpod/images/json
operations:
- name: imagelistlibpod
method: GET
description: List Images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: all
in: query
type: boolean
description: Show all images. Only images from a final layer (no children) are shown by default.
- name: filters
in: query
type: string
description: 'JSON-encoded string containing filters as a `map[string][]string` to process on the images list. Available
filters:'
- name: libpod-images-load
path: /libpod/images/load
operations:
- name: imageloadlibpod
method: POST
description: Load image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: upload
in: body
type: string
description: tarball of container image
required: true
- name: libpod-images-prune
path: /libpod/images/prune
operations:
- name: imageprunelibpod
method: POST
description: Prune unused images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: all
in: query
type: boolean
description: Remove all images not in use by containers, not just dangling ones
- name: external
in: query
type: boolean
description: Remove images even when they are used by external containers (e.g, by build containers)
- name: buildcache
in: query
type: boolean
description: Remove persistent build cache created by build instructions such as `--mount=type=cache`.
- name: filters
in: query
type: string
description: 'filters to apply to image pruning, encoded as JSON (map[string][]string). Available filters:'
- name: libpod-images-pull
path: /libpod/images/pull
operations:
- name: imagepulllibpod
method: POST
description: Pull images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: reference
in: query
type: string
description: Mandatory reference to the image (e.g., quay.io/image/name:tag)
- name: quiet
in: query
type: boolean
description: Silence extra stream data on pull. Cannot be used with 'compatMode' or 'pullProgress'.
- name: compatMode
in: query
type: boolean
description: Return the same JSON payload as the Docker-compat endpoint. Cannot be used with 'pullProgress' or 'quiet'.
- name: pullProgress
in: query
type: boolean
description: Send reports about the progress of the pull. Cannot be used with 'compatMode' or 'quiet'.
- name: Arch
in: query
type: string
description: Pull image for the specified architecture.
- name: OS
in: query
type: string
description: Pull image for the specified operating system.
- name: Variant
in: query
type: string
description: Pull image for the specified variant.
- name: policy
in: query
type: string
description: Pull policy, "always" (default), "missing", "newer", "never".
- name: tlsVerify
in: query
type: boolean
description: Require TLS verification.
- name: allTags
in: query
type: boolean
description: Pull all tagged images in the repository.
- name: X-Registry-Auth
in: header
type: string
description: 'base-64 encoded auth config. Must include the following four values: username, password, email and
server address OR simply just an identity token.'
- name: libpod-images-remove
path: /libpod/images/remove
operations:
- name: imagedeletealllibpod
method: DELETE
description: Remove one or more images from the storage.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: images
in: query
type: array
description: Images IDs or names to remove.
- name: all
in: query
type: boolean
description: Remove all images.
- name: force
in: query
type: boolean
description: Force image removal (including containers using the images).
- name: ignore
in: query
type: boolean
description: Ignore if a specified image does not exist and do not throw an error.
- name: lookupManifest
in: query
type: boolean
description: Resolves to manifest list instead of image.
- name: libpod-images-scp-name
path: /libpod/images/scp/{name}
operations:
- name: imagescplibpod
method: POST
description: Copy an image from one host to another
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: source connection/image
required: true
- name: destination
in: query
type: string
description: dest connection/image
- name: quiet
in: query
type: boolean
description: quiet output
- name: libpod-images-search
path: /libpod/images/search
operations:
- name: imagesearchlibpod
method: GET
description: Search images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: term
in: query
type: string
description: term to search
- name: limit
in: query
type: integer
description: maximum number of results
- name: filters
in: query
type: string
description: 'JSON-encoded string containing filters as a `map[string][]string` to process on the images list. Available
filters:'
- name: tlsVerify
in: query
type: boolean
description: Require HTTPS and verify signatures when contacting registries.
- name: listTags
in: query
type: boolean
description: list the available tags in the repository
- name: libpod-images-name
path: /libpod/images/{name}
operations:
- name: imagedeletelibpod
method: DELETE
description: Remove an image from the local storage.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: name or ID of image to remove
required: true
- name: force
in: query
type: boolean
description: remove the image even if used by containers or has other tags
- name: ignore
in: query
type: boolean
description: Ignore if a specified image does not exist and do not throw an error.
- name: lookupManifest
in: query
type: boolean
description: Resolve to a manifest list instead of an image.
- name: libpod-images-name-changes
path: /libpod/images/{name}/changes
operations:
- name: imagechangeslibpod
method: GET
description: Report on changes to images's filesystem; adds, deletes or modifications.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or id of the image
required: true
- name: parent
in: query
type: string
description: specify a second layer which is used to compare against it instead of the parent layer
- name: diffType
in: query
type: string
description: select what you want to match, default is all
- name: libpod-images-name-exists
path: /libpod/images/{name}/exists
operations:
- name: imageexistslibpod
method: GET
description: Image exists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: libpod-images-name-get
path: /libpod/images/{name}/get
operations:
- name: imagegetlibpod
method: GET
description: Export an image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: format
in: query
type: string
description: format for exported image
- name: compress
in: query
type: boolean
description: use compression on image
- name: libpod-images-name-history
path: /libpod/images/{name}/history
operations:
- name: imagehistorylibpod
method: GET
description: History of an image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: libpod-images-name-json
path: /libpod/images/{name}/json
operations:
- name: imageinspectlibpod
method: GET
description: Inspect an image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: libpod-images-name-push
path: /libpod/images/{name}/push
operations:
- name: imagepushlibpod
method: POST
description: Push Image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Name of image to push.
required: true
- name: destination
in: query
type: string
description: Allows for pushing the image to a different destination than the image refers to.
- name: forceCompressionFormat
in: query
type: boolean
description: Enforce compressing the layers with the specified --compression and do not reuse differently compressed
blobs on the registry.
- name: compressionFormat
in: query
type: string
description: Compression format used to compress image layers.
- name: compressionLevel
in: query
type: integer
description: Compression level used to compress image layers.
- name: tlsVerify
in: query
type: boolean
description: Require TLS verification.
- name: quiet
in: query
type: boolean
description: Silences extra stream data on push.
- name: format
in: query
type: string
description: Manifest type (oci, v2s1, or v2s2) to use when pushing an image. Default is manifest type of source,
with fallbacks.
- name: all
in: query
type: boolean
description: All indicates whether to push all images related to the image list.
- name: removeSignatures
in: query
type: boolean
description: Discard any pre-existing signatures in the image.
- name: retry
in: query
type: integer
description: Number of times to retry push in case of failure.
- name: retryDelay
in: query
type: string
description: Delay between retries in case of push failures. Duration format such as "412ms", or "3.5h".
- name: X-Registry-Auth
in: header
type: string
description: A base64-encoded auth configuration.
- name: libpod-images-name-resolve
path: /libpod/images/{name}/resolve
operations:
- name: imageresolvelibpod
method: GET
description: Resolve an image (short) name
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the (short) name to resolve
required: true
- name: libpod-images-name-tag
path: /libpod/images/{name}/tag
operations:
- name: imagetaglibpod
method: POST
description: Tag an image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: repo
in: query
type: string
description: the repository to tag in
- name: tag
in: query
type: string
description: the name of the new tag
- name: libpod-images-name-tree
path: /libpod/images/{name}/tree
operations:
- name: imagetreelibpod
method: GET
description: Image tree
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: whatrequires
in: query
type: boolean
description: show all child images and layers of the specified image
- name: libpod-images-name-untag
path: /libpod/images/{name}/untag
operations:
- name: imageuntaglibpod
method: POST
description: Untag an image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name or ID of the container
required: true
- name: repo
in: query
type: string
description: the repository to untag
- name: tag
in: query
type: string
description: the name of the tag to untag
- name: libpod-local-build
path: /libpod/local/build
operations:
- name: localbuildlibpod
method: POST
description: Create image from local build context
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Registry-Config
in: header
type: string
- name: localcontextdir
in: query
type: string
description: Absolute path to the build context directory on the server filesystem.
required: true
- name: dockerfile
in: query
type: string
description: Absolute path within the build context to the `Dockerfile`.
- name: t
in: query
type: string
description: A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag, the default
latest value is assumed. You can provide several t par
- name: allplatforms
in: query
type: boolean
description: Instead of building for a set of platforms specified using the platform option, inspect the build's
base images,
- name: additionalbuildcontexts
in: query
type: array
description: Additional build contexts for builds that require more than one context.
- name: extrahosts
in: query
type: string
description: TBD Extra hosts to add to /etc/hosts
- name: nohosts
in: query
type: boolean
description: Not to create /etc/hosts when building the image
- name: remote
in: query
type: string
description: A Git repository URI or HTTP/HTTPS context URI.
- name: q
in: query
type: boolean
description: Suppress verbose build output
- name: compatvolumes
in: query
type: boolean
description: Contents of volume locations to be modified on ADD or COPY only
- name: createdannotation
in: query
type: boolean
description: Add an "org.opencontainers.image.created" annotation to the
- name: sourcedateepoch
in: query
type: number
description: Timestamp to use for newly-added history entries and the image's
- name: rewritetimestamp
in: query
type: boolean
description: If sourcedateepoch is set, force new content added in layers to
- name: timestamp
in: query
type: number
description: Timestamp to use for newly-added history entries, the image's
- name: inheritlabels
in: query
type: boolean
description: Inherit the labels from the base image or base stages
- name: inheritannotations
in: query
type: boolean
description: Inherit the annotations from the base image or base stages
- name: nocache
in: query
type: boolean
description: Do not use the cache when building the image
- name: cachefrom
in: query
type: string
description: JSON array of images used to build cache resolution
- name: pull
in: query
type: boolean
description: Attempt to pull the image even if an older image exists locally
- name: rm
in: query
type: boolean
description: Remove intermediate containers after a successful build
- name: forcerm
in: query
type: boolean
description: Always remove intermediate containers, even upon failure
- name: memory
in: query
type: integer
description: Memory is the upper limit (in bytes) on how much memory running containers can use
- name: memswap
in: query
type: integer
description: MemorySwap limits the amount of memory and swap together
- name: cpushares
in: query
type: integer
description: CPUShares (relative weight
- name: cpusetcpus
in: query
type: string
description: CPUSetCPUs in which to allow execution (0-3, 0,1)
- name: cpuperiod
in: query
type: integer
description: CPUPeriod limits the CPU CFS (Completely Fair Scheduler) period
- name: cpuquota
in: query
type: integer
description: CPUQuota limits the CPU CFS (Completely Fair Scheduler) quota
- name: buildargs
in: query
type: string
description: JSON map of string pairs denoting build-time variables.
- name: shmsize
in: query
type: integer
description: ShmSize is the "size" value to use when mounting an shmfs on the container's /dev/shm directory.
- name: squash
in: query
type: boolean
description: Silently ignored.
- name: labels
in: query
type: string
description: JSON map of key, value pairs to set as labels on the new image
- name: layerLabel
in: query
type: array
description: Add an intermediate image *label* (e.g. label=*value*) to the intermediate image metadata.
- name: layers
in: query
type: boolean
description: Cache intermediate layers during build.
- name: networkmode
in: query
type: string
description: Sets the networking mode for the run commands during build.
- name: platform
in: query
type: string
description: Platform format os[/arch[/variant]]
- name: target
in: query
type: string
description: Target build stage
- name: outputs
in: query
type: string
description: output configuration TBD
- name: httpproxy
in: query
type: boolean
description: Inject http proxy environment variables into container
- name: unsetenv
in: query
type: array
description: Unset environment variables from the final image.
- name: unsetlabel
in: query
type: array
description: Unset the image label, causing the label not to be inherited from the base image.
- name: unsetannotation
in: query
type: array
description: Unset the image annotation, causing the annotation not to be inherited from the base image.
- name: volume
in: query
type: array
description: Extra volumes that should be mounted in the build container.
- name: manifest
in: query
type: string
description: Add the image to the specified manifest list. Creates a manifest list if it does not exist.
- name: libpod-local-images-load
path: /libpod/local/images/load
operations:
- name: localimageslibpod
method: POST
description: Load image from local path
outp
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/podman/refs/heads/main/capabilities/podman-images.yaml