naftiko: 1.0.0-alpha2 info: label: supports a RESTful API for the Libpod library — containers description: 'supports a RESTful API for the Libpod library — containers. 37 operations. Lead operation: Commit. Self-contained Naftiko capability covering one Podman business surface.' tags: - Podman - containers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PODMAN_API_KEY: PODMAN_API_KEY capability: consumes: - type: http namespace: podman-containers baseUri: http://podman.io description: supports a RESTful API for the Libpod library — containers business capability. Self-contained, no shared references. resources: - name: libpod-commit path: /libpod/commit operations: - name: imagecommitlibpod method: POST description: Commit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: container in: query type: string description: the name or ID of a container required: true - name: author in: query type: string description: author of the image - name: changes in: query type: array description: instructions to apply while committing in Dockerfile format (i.e. "CMD=/bin/foo") - name: comment in: query type: string description: commit message - name: format in: query type: string description: format of the image manifest and metadata (default "oci") - name: pause in: query type: boolean description: pause the container before committing it - name: squash in: query type: boolean description: squash the container before committing it - name: repo in: query type: string description: the repository name for the created image - name: stream in: query type: boolean description: output from commit process - name: tag in: query type: string description: tag name for the created image - name: libpod-containers-create path: /libpod/containers/create operations: - name: containercreatelibpod method: POST description: Create a container outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: create in: body type: string description: attributes for creating a container required: true - name: libpod-containers-json path: /libpod/containers/json operations: - name: containerlistlibpod method: GET description: List containers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: all in: query type: boolean description: Return all containers. By default, only running containers are shown - name: limit in: query type: integer description: Return this number of most recently created containers, including non-running ones. - name: last in: query type: integer description: Alias for `limit`. Return this number of most recently created containers. - name: external in: query type: boolean description: Return containers created by external tools that use container storage. - name: namespace in: query type: boolean description: Include namespace information - name: pod in: query type: boolean description: Ignored. Previously included details on pod name and ID that are currently included by default. - name: size in: query type: boolean description: Return the size of container as fields SizeRw and SizeRootFs. - name: sync in: query type: boolean description: Sync container state with OCI runtime - name: filters in: query type: string description: 'A JSON encoded value of the filters (a `map[string][]string`) to process on the containers list. Available filters:' - name: libpod-containers-prune path: /libpod/containers/prune operations: - name: containerprunelibpod method: POST description: Delete stopped containers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: 'Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:' - name: libpod-containers-showmounted path: /libpod/containers/showmounted operations: - name: containershowmountedlibpod method: GET description: Show mounted containers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: libpod-containers-stats path: /libpod/containers/stats operations: - name: containersstatsalllibpod method: GET description: Get stats for one or more containers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: containers in: query type: array description: names or IDs of containers - name: stream in: query type: boolean description: Stream the output - name: interval in: query type: integer description: Time in seconds between stats reports - name: all in: query type: boolean description: Provide statistics for all running containers - name: libpod-containers-name path: /libpod/containers/{name} operations: - name: containerdeletelibpod method: DELETE description: Delete container 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: depend in: query type: boolean description: additionally remove containers that depend on the container to be removed - name: force in: query type: boolean description: force stop container if running - name: ignore in: query type: boolean description: ignore errors when the container to be removed does not existxo - name: timeout in: query type: integer description: number of seconds to wait before killing container when force removing - name: v in: query type: boolean description: delete volumes - name: libpod-containers-name-archive path: /libpod/containers/{name}/archive operations: - name: putcontainerarchivelibpod method: PUT description: Copy files into a container outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: container name or id required: true - name: path in: query type: string description: Path to a directory in the container to extract required: true - name: pause in: query type: boolean description: pause the container while copying (defaults to true) - name: request in: body type: string description: tarfile of files to copy into the container - name: libpod-containers-name-attach path: /libpod/containers/{name}/attach operations: - name: containerattachlibpod method: POST description: Attach to a container 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: detachKeys in: query type: string description: keys to use for detaching from the container - name: logs in: query type: boolean description: Stream all logs from the container across the connection. Happens before streaming attach (if requested). At least one of logs or stream must be set - name: stream in: query type: boolean description: Attach to the container. If unset, and logs is set, only the container's logs will be sent. At least one of stream or logs must be set - name: stdout in: query type: boolean description: Attach to container STDOUT - name: stderr in: query type: boolean description: Attach to container STDERR - name: stdin in: query type: boolean description: Attach to container STDIN - name: libpod-containers-name-changes path: /libpod/containers/{name}/changes operations: - name: containerchangeslibpod method: GET description: Report on changes to container'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 container 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-containers-name-checkpoint path: /libpod/containers/{name}/checkpoint operations: - name: containercheckpointlibpod method: POST description: Checkpoint a container 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: keep in: query type: boolean description: keep all temporary checkpoint files - name: leaveRunning in: query type: boolean description: leave the container running after writing checkpoint to disk - name: tcpEstablished in: query type: boolean description: checkpoint a container with established TCP connections - name: export in: query type: boolean description: export the checkpoint image to a tar.gz - name: ignoreRootFS in: query type: boolean description: do not include root file-system changes when exporting. can only be used with export - name: ignoreVolumes in: query type: boolean description: do not include associated volumes. can only be used with export - name: preCheckpoint in: query type: boolean description: dump the container's memory information only, leaving the container running. only works on runc 1.0-rc or higher - name: withPrevious in: query type: boolean description: check out the container with previous criu image files in pre-dump. only works on runc 1.0-rc or higher - name: fileLocks in: query type: boolean description: checkpoint a container with filelocks - name: printStats in: query type: boolean description: add checkpoint statistics to the returned CheckpointReport - name: libpod-containers-name-exists path: /libpod/containers/{name}/exists operations: - name: containerexistslibpod method: GET description: Check if container 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-containers-name-export path: /libpod/containers/{name}/export operations: - name: containerexportlibpod method: GET description: Export a container 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-containers-name-healthcheck path: /libpod/containers/{name}/healthcheck operations: - name: containerhealthchecklibpod method: GET description: Run a container's healthcheck 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-containers-name-init path: /libpod/containers/{name}/init operations: - name: containerinitlibpod method: POST description: Initialize a container 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-containers-name-json path: /libpod/containers/{name}/json operations: - name: containerinspectlibpod method: GET description: Inspect container 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: size in: query type: boolean description: display filesystem usage - name: libpod-containers-name-kill path: /libpod/containers/{name}/kill operations: - name: containerkilllibpod method: POST description: Kill container 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: signal in: query type: string description: signal to be sent to container, either by integer or SIG_ name - name: libpod-containers-name-logs path: /libpod/containers/{name}/logs operations: - name: containerlogslibpod method: GET description: Get container logs 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: follow in: query type: boolean description: Keep connection after returning logs. - name: stdout in: query type: boolean description: Return logs from stdout - name: stderr in: query type: boolean description: Return logs from stderr - name: since in: query type: string description: Only return logs since this time, as a UNIX timestamp - name: until in: query type: string description: Only return logs before this time, as a UNIX timestamp - name: timestamps in: query type: boolean description: Add timestamps to every log line - name: tail in: query type: string description: Only return this number of log lines from the end of the logs - name: libpod-containers-name-mount path: /libpod/containers/{name}/mount operations: - name: containermountlibpod method: POST description: Mount a container 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: external in: query type: boolean description: Include external containers that are not managed by Podman. - name: libpod-containers-name-pause path: /libpod/containers/{name}/pause operations: - name: containerpauselibpod method: POST description: Pause a container 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-containers-name-rename path: /libpod/containers/{name}/rename operations: - name: containerrenamelibpod method: POST description: Rename an existing container outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Full or partial ID or full name of the container to rename required: true - name: name in: query type: string description: New name for the container required: true - name: libpod-containers-name-resize path: /libpod/containers/{name}/resize operations: - name: containerresizelibpod method: POST description: Resize a container's TTY 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: h in: query type: integer description: Height to set for the terminal, in characters - name: w in: query type: integer description: Width to set for the terminal, in characters - name: running in: query type: boolean description: Ignore containers not running errors - name: libpod-containers-name-restart path: /libpod/containers/{name}/restart operations: - name: containerrestartlibpod method: POST description: Restart a container 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: t in: query type: integer description: number of seconds to wait before killing container (Docker compatibility) - name: timeout in: query type: integer description: number of seconds to wait before killing container - name: libpod-containers-name-restore path: /libpod/containers/{name}/restore operations: - name: containerrestorelibpod method: POST description: Restore a container 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: name in: query type: string description: the name of the container when restored from a tar. can only be used with import - name: keep in: query type: boolean description: keep all temporary checkpoint files - name: tcpEstablished in: query type: boolean description: restore a container with established TCP connections - name: tcpClose in: query type: boolean description: restore a container but close the TCP connections - name: import in: query type: boolean description: import the restore from a checkpoint tar.gz - name: ignoreRootFS in: query type: boolean description: do not include root file-system changes when exporting. can only be used with import - name: ignoreVolumes in: query type: boolean description: do not restore associated volumes. can only be used with import - name: ignoreStaticIP in: query type: boolean description: ignore IP address if set statically - name: ignoreStaticMAC in: query type: boolean description: ignore MAC address if set statically - name: fileLocks in: query type: boolean description: restore a container with file locks - name: printStats in: query type: boolean description: add restore statistics to the returned RestoreReport - name: pod in: query type: string description: pod to restore into - name: libpod-containers-name-start path: /libpod/containers/{name}/start operations: - name: containerstartlibpod method: POST description: Start a container 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: detachKeys in: query type: string description: 'Override the key sequence for detaching a container. Format is a single character [a-Z] or ctrl- where is one of: a-z, @, ^, [, , or _.' - name: libpod-containers-name-stats path: /libpod/containers/{name}/stats operations: - name: containerstatslibpod method: GET description: Get stats for a container 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: stream in: query type: boolean description: Stream the output - name: libpod-containers-name-stop path: /libpod/containers/{name}/stop operations: - name: containerstoplibpod method: POST description: Stop a container 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: timeout in: query type: integer description: number of seconds to wait before killing container - name: ignore in: query type: boolean description: do not return error if container is already stopped - name: libpod-containers-name-top path: /libpod/containers/{name}/top operations: - name: containertoplibpod method: GET description: List processes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Name of container to query for processes (As of version 1.xx) required: true - name: stream in: query type: boolean description: when true, repeatedly stream the latest output (As of version 4.0) - name: delay in: query type: integer description: if streaming, delay in seconds between updates. Must be >1. (As of version 4.0) - name: ps_args in: query type: array description: arguments to pass to ps such as aux. - name: libpod-containers-name-unmount path: /libpod/containers/{name}/unmount operations: - name: containerunmountlibpod method: POST description: Unmount a container 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-containers-name-unpause path: /libpod/containers/{name}/unpause operations: - name: containerunpauselibpod method: POST description: Unpause Container 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-containers-name-update path: /libpod/containers/{name}/update operations: - name: containerupdatelibpod method: POST description: Updates the configuration of an existing container, allowing changes to resource limits and healthchecks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Full or partial ID or full name of the container to update required: true - name: restartPolicy in: query type: string description: New restart policy for the container. - name: restartRetries in: query type: integer description: New amount of retries for the container's restart policy. Only allowed if restartPolicy is set to on-failure - name: config in: body type: string description: attributes for updating the container - name: libpod-containers-name-wait path: /libpod/containers/{name}/wait operations: - name: containerwaitlibpod method: POST description: Wait on a container 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: condition in: query type: array description: Conditions to wait for. If no condition provided the 'exited' condition is assumed. - name: interval in: query type: string description: Time Interval to wait before polling for completion. - name: libpod-generate-kube path: /libpod/generate/kube operations: - name: generatekubelibpod method: GET description: Generate a Kubernetes YAML file. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: names in: query type: array description: Name or ID of the container or pod. required: true - name: service in: query type: boolean description: Generate YAML for a Kubernetes service object. - name: type in: query type: string description: Generate YAML for the given Kubernetes kind. - name: replicas in: query type: integer description: Set the replica number for Deployment kind. - name: noTrunc in: query type: boolean description: don't truncate annotations to the Kubernetes maximum length of 63 characters - name: podmanOnly in: query type: boolean description: add podman-only reserved annotations in generated YAML file (cannot be used by Kubernetes) - name: libpod-generate-name-systemd path: /libpod/generate/{name}/systemd operations: - name: generatesystemdlibpod method: GET description: Generate Systemd Units outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Name or ID of the container or pod. required: true - name: useName in: query type: boolean description: Use container/pod names instead of IDs. - name: new in: query type: boolean description: Create a new container instead of starting an existing one. - name: noHeader in: query type: boolean description: Do not generate the header including the Podman version and the timestamp. - name: startTimeout in: query type: integer description: Start timeout in seconds. - name: stopTimeout in: query type: integer description: Stop timeout in seconds. - name: restartPolicy in: query type: string description: Systemd restart-policy. - name: containerPrefix in: query type: string description: Systemd unit name prefix for containers. - name: podPrefix in: query type: string description: Systemd unit name prefix for pods. - name: separator in: query type: string description: Systemd unit name separator between name/id and prefix. - name: restartSec in: query type: integer description: Configures the time to sleep before restarting a service. - name: wants in: query type: array description: Systemd Wants list for the container or pods. - name: after in: query type: array description: Systemd After list for the container or pods. - name: requires in: query type: array description: Systemd Requires list for the container or pods. - name: additionalEnvVariables in: query type: array description: Set environment variables to the systemd unit files. - name: templateUnitFile in: query type: boolean description: Add template specifier for the systemd unit file names. - name: libpod-kube-apply path: /libpod/kube/apply operations: - name: kubeapplylibpod method: POST description: Apply a podman workload or Kubernetes YAML file. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: caCertFile in: query type: string description: Path to the CA cert file for the Kubernetes cluster. - name: kubeConfig in: query type: string description: Path to the kubeconfig file for the Kubernetes cluster. - name: namespace in: query type: string description: The namespace to deploy the workload to on the Kubernetes cluster. - name: service in: query type: boolean description: Create a service object for the container being deployed. - name: file in: query type: string description: Path to the Kubernetes yaml file to deploy. - name: request in: body type: string description: Kubernetes YAML file. - name: libpod-play-kube path: /libpod/play/kube operations: - name: playkubedownlibpod method: DELETE description: Remove resources created from kube play outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: force in: query type: boolean description: Remove volumes. - name: playkubelibpod method: POST description: Play a Kubernetes YAML file. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: annotations in: query type: string description: JSON encoded value of annotations (a map[string]string). - name: logDriver in: query type: string description: Logging driver for the containers in the pod. - name: logOptions in: query type: array description: logging driver options - name: network in: query type: array description: USe the network mode or specify an array of networks. - name: noHosts in: query type: boolean description: do not setup /etc/hosts file in container - name: noTrunc in: query type: boolean description: use annotations that are not truncated to the Kubernetes maximum length of 63 characters - name: publishPorts in: query type: array description: publish a container's port, or a range of ports, to the host - name: publishAllPorts in: query type: boolean description: Whether to publish all ports defined in the K8S YAML file (containerPort, hostPort), if false only hostPort will be published - name: replace in: query type: boolean description: replace existing pods and containers - name: serviceContainer in: query type: boolean description: Starts a service container before all pods. - name: start in: query type: boolean description: Start the pod after creating it. - name: staticIPs in: query type: array description: Static IPs used for the pods. - name: staticMACs in: query type: array description: Static MACs used for the pods. - name: tlsVerify in: query type: boolean description: Require HTTPS and verify signatures when contacting registries. - name: userns in: query type: string description: Set the user namespace mode for the pods. - name: wait in: query type: boolean description: Clean up all objects created when a SIGTERM is received or pods exit. - name: build in: query type: boolean description: Build the images with corresponding context. - name: request in: body type: string description: Kubernetes YAML file. exposes: - type: rest namespace: podman-containers-rest port: 8080 description: REST adapter for supports a RESTful API for the Libpod library — containers. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/libpod/commit name: libpod-commit description: REST surface for libpod-commit. operations: - method: POST name: imagecommitlibpod description: Commit call: podman-containers.imagecommitlibpod with: container: rest.container author: rest.author changes: rest.changes comment: rest.comment format: rest.format pause: rest.pause squash: rest.squash repo: rest.repo stream: rest.stream tag: rest.tag outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/create name: libpod-containers-create description: REST surface for libpod-containers-create. operations: - method: POST name: containercreatelibpod description: Create a container call: podman-containers.containercreatelibpod with: create: rest.create outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/json name: libpod-containers-json description: REST surface for libpod-containers-json. operations: - method: GET name: containerlistlibpod description: List containers call: podman-containers.containerlistlibpod with: all: rest.all limit: rest.limit last: rest.last external: rest.external namespace: rest.namespace pod: rest.pod size: rest.size sync: rest.sync filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/prune name: libpod-containers-prune description: REST surface for libpod-containers-prune. operations: - method: POST name: containerprunelibpod description: Delete stopped containers call: podman-containers.containerprunelibpod with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/showmounted name: libpod-containers-showmounted description: REST surface for libpod-containers-showmounted. operations: - method: GET name: containershowmountedlibpod description: Show mounted containers call: podman-containers.containershowmountedlibpod outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/stats name: libpod-containers-stats description: REST surface for libpod-containers-stats. operations: - method: GET name: containersstatsalllibpod description: Get stats for one or more containers call: podman-containers.containersstatsalllibpod with: containers: rest.containers stream: rest.stream interval: rest.interval all: rest.all outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name} name: libpod-containers-name description: REST surface for libpod-containers-name. operations: - method: DELETE name: containerdeletelibpod description: Delete container call: podman-containers.containerdeletelibpod with: name: rest.name depend: rest.depend force: rest.force ignore: rest.ignore timeout: rest.timeout v: rest.v outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/archive name: libpod-containers-name-archive description: REST surface for libpod-containers-name-archive. operations: - method: PUT name: putcontainerarchivelibpod description: Copy files into a container call: podman-containers.putcontainerarchivelibpod with: name: rest.name path: rest.path pause: rest.pause request: rest.request outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/attach name: libpod-containers-name-attach description: REST surface for libpod-containers-name-attach. operations: - method: POST name: containerattachlibpod description: Attach to a container call: podman-containers.containerattachlibpod with: name: rest.name detachKeys: rest.detachKeys logs: rest.logs stream: rest.stream stdout: rest.stdout stderr: rest.stderr stdin: rest.stdin outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/changes name: libpod-containers-name-changes description: REST surface for libpod-containers-name-changes. operations: - method: GET name: containerchangeslibpod description: Report on changes to container's filesystem; adds, deletes or modifications. call: podman-containers.containerchangeslibpod with: name: rest.name parent: rest.parent diffType: rest.diffType outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/checkpoint name: libpod-containers-name-checkpoint description: REST surface for libpod-containers-name-checkpoint. operations: - method: POST name: containercheckpointlibpod description: Checkpoint a container call: podman-containers.containercheckpointlibpod with: name: rest.name keep: rest.keep leaveRunning: rest.leaveRunning tcpEstablished: rest.tcpEstablished export: rest.export ignoreRootFS: rest.ignoreRootFS ignoreVolumes: rest.ignoreVolumes preCheckpoint: rest.preCheckpoint withPrevious: rest.withPrevious fileLocks: rest.fileLocks printStats: rest.printStats outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/exists name: libpod-containers-name-exists description: REST surface for libpod-containers-name-exists. operations: - method: GET name: containerexistslibpod description: Check if container exists call: podman-containers.containerexistslibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/export name: libpod-containers-name-export description: REST surface for libpod-containers-name-export. operations: - method: GET name: containerexportlibpod description: Export a container call: podman-containers.containerexportlibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/healthcheck name: libpod-containers-name-healthcheck description: REST surface for libpod-containers-name-healthcheck. operations: - method: GET name: containerhealthchecklibpod description: Run a container's healthcheck call: podman-containers.containerhealthchecklibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/init name: libpod-containers-name-init description: REST surface for libpod-containers-name-init. operations: - method: POST name: containerinitlibpod description: Initialize a container call: podman-containers.containerinitlibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/json name: libpod-containers-name-json description: REST surface for libpod-containers-name-json. operations: - method: GET name: containerinspectlibpod description: Inspect container call: podman-containers.containerinspectlibpod with: name: rest.name size: rest.size outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/kill name: libpod-containers-name-kill description: REST surface for libpod-containers-name-kill. operations: - method: POST name: containerkilllibpod description: Kill container call: podman-containers.containerkilllibpod with: name: rest.name signal: rest.signal outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/logs name: libpod-containers-name-logs description: REST surface for libpod-containers-name-logs. operations: - method: GET name: containerlogslibpod description: Get container logs call: podman-containers.containerlogslibpod with: name: rest.name follow: rest.follow stdout: rest.stdout stderr: rest.stderr since: rest.since until: rest.until timestamps: rest.timestamps tail: rest.tail outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/mount name: libpod-containers-name-mount description: REST surface for libpod-containers-name-mount. operations: - method: POST name: containermountlibpod description: Mount a container call: podman-containers.containermountlibpod with: name: rest.name external: rest.external outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/pause name: libpod-containers-name-pause description: REST surface for libpod-containers-name-pause. operations: - method: POST name: containerpauselibpod description: Pause a container call: podman-containers.containerpauselibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/rename name: libpod-containers-name-rename description: REST surface for libpod-containers-name-rename. operations: - method: POST name: containerrenamelibpod description: Rename an existing container call: podman-containers.containerrenamelibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/resize name: libpod-containers-name-resize description: REST surface for libpod-containers-name-resize. operations: - method: POST name: containerresizelibpod description: Resize a container's TTY call: podman-containers.containerresizelibpod with: name: rest.name h: rest.h w: rest.w running: rest.running outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/restart name: libpod-containers-name-restart description: REST surface for libpod-containers-name-restart. operations: - method: POST name: containerrestartlibpod description: Restart a container call: podman-containers.containerrestartlibpod with: name: rest.name t: rest.t timeout: rest.timeout outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/restore name: libpod-containers-name-restore description: REST surface for libpod-containers-name-restore. operations: - method: POST name: containerrestorelibpod description: Restore a container call: podman-containers.containerrestorelibpod with: name: rest.name keep: rest.keep tcpEstablished: rest.tcpEstablished tcpClose: rest.tcpClose import: rest.import ignoreRootFS: rest.ignoreRootFS ignoreVolumes: rest.ignoreVolumes ignoreStaticIP: rest.ignoreStaticIP ignoreStaticMAC: rest.ignoreStaticMAC fileLocks: rest.fileLocks printStats: rest.printStats pod: rest.pod outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/start name: libpod-containers-name-start description: REST surface for libpod-containers-name-start. operations: - method: POST name: containerstartlibpod description: Start a container call: podman-containers.containerstartlibpod with: name: rest.name detachKeys: rest.detachKeys outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/stats name: libpod-containers-name-stats description: REST surface for libpod-containers-name-stats. operations: - method: GET name: containerstatslibpod description: Get stats for a container call: podman-containers.containerstatslibpod with: name: rest.name stream: rest.stream outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/stop name: libpod-containers-name-stop description: REST surface for libpod-containers-name-stop. operations: - method: POST name: containerstoplibpod description: Stop a container call: podman-containers.containerstoplibpod with: name: rest.name timeout: rest.timeout ignore: rest.ignore outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/top name: libpod-containers-name-top description: REST surface for libpod-containers-name-top. operations: - method: GET name: containertoplibpod description: List processes call: podman-containers.containertoplibpod with: name: rest.name stream: rest.stream delay: rest.delay ps_args: rest.ps_args outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/unmount name: libpod-containers-name-unmount description: REST surface for libpod-containers-name-unmount. operations: - method: POST name: containerunmountlibpod description: Unmount a container call: podman-containers.containerunmountlibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/unpause name: libpod-containers-name-unpause description: REST surface for libpod-containers-name-unpause. operations: - method: POST name: containerunpauselibpod description: Unpause Container call: podman-containers.containerunpauselibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/update name: libpod-containers-name-update description: REST surface for libpod-containers-name-update. operations: - method: POST name: containerupdatelibpod description: Updates the configuration of an existing container, allowing changes to resource limits and healthchecks call: podman-containers.containerupdatelibpod with: name: rest.name restartPolicy: rest.restartPolicy restartRetries: rest.restartRetries config: rest.config outputParameters: - type: object mapping: $. - path: /v1/libpod/containers/{name}/wait name: libpod-containers-name-wait description: REST surface for libpod-containers-name-wait. operations: - method: POST name: containerwaitlibpod description: Wait on a container call: podman-containers.containerwaitlibpod with: name: rest.name condition: rest.condition interval: rest.interval outputParameters: - type: object mapping: $. - path: /v1/libpod/generate/kube name: libpod-generate-kube description: REST surface for libpod-generate-kube. operations: - method: GET name: generatekubelibpod description: Generate a Kubernetes YAML file. call: podman-containers.generatekubelibpod with: names: rest.names service: rest.service type: rest.type replicas: rest.replicas noTrunc: rest.noTrunc podmanOnly: rest.podmanOnly outputParameters: - type: object mapping: $. - path: /v1/libpod/generate/{name}/systemd name: libpod-generate-name-systemd description: REST surface for libpod-generate-name-systemd. operations: - method: GET name: generatesystemdlibpod description: Generate Systemd Units call: podman-containers.generatesystemdlibpod with: name: rest.name useName: rest.useName new: rest.new noHeader: rest.noHeader startTimeout: rest.startTimeout stopTimeout: rest.stopTimeout restartPolicy: rest.restartPolicy containerPrefix: rest.containerPrefix podPrefix: rest.podPrefix separator: rest.separator restartSec: rest.restartSec wants: rest.wants after: rest.after requires: rest.requires additionalEnvVariables: rest.additionalEnvVariables templateUnitFile: rest.templateUnitFile outputParameters: - type: object mapping: $. - path: /v1/libpod/kube/apply name: libpod-kube-apply description: REST surface for libpod-kube-apply. operations: - method: POST name: kubeapplylibpod description: Apply a podman workload or Kubernetes YAML file. call: podman-containers.kubeapplylibpod with: caCertFile: rest.caCertFile kubeConfig: rest.kubeConfig namespace: rest.namespace service: rest.service file: rest.file request: rest.request outputParameters: - type: object mapping: $. - path: /v1/libpod/play/kube name: libpod-play-kube description: REST surface for libpod-play-kube. operations: - method: DELETE name: playkubedownlibpod description: Remove resources created from kube play call: podman-containers.playkubedownlibpod with: force: rest.force outputParameters: - type: object mapping: $. - method: POST name: playkubelibpod description: Play a Kubernetes YAML file. call: podman-containers.playkubelibpod with: Content-Type: rest.Content-Type annotations: rest.annotations logDriver: rest.logDriver logOptions: rest.logOptions network: rest.network noHosts: rest.noHosts noTrunc: rest.noTrunc publishPorts: rest.publishPorts publishAllPorts: rest.publishAllPorts replace: rest.replace serviceContainer: rest.serviceContainer start: rest.start staticIPs: rest.staticIPs staticMACs: rest.staticMACs tlsVerify: rest.tlsVerify userns: rest.userns wait: rest.wait build: rest.build request: rest.request outputParameters: - type: object mapping: $. - type: mcp namespace: podman-containers-mcp port: 9090 transport: http description: MCP adapter for supports a RESTful API for the Libpod library — containers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: commit description: Commit hints: readOnly: false destructive: false idempotent: false call: podman-containers.imagecommitlibpod with: container: tools.container author: tools.author changes: tools.changes comment: tools.comment format: tools.format pause: tools.pause squash: tools.squash repo: tools.repo stream: tools.stream tag: tools.tag outputParameters: - type: object mapping: $. - name: create-container description: Create a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containercreatelibpod with: create: tools.create outputParameters: - type: object mapping: $. - name: list-containers description: List containers hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerlistlibpod with: all: tools.all limit: tools.limit last: tools.last external: tools.external namespace: tools.namespace pod: tools.pod size: tools.size sync: tools.sync filters: tools.filters outputParameters: - type: object mapping: $. - name: delete-stopped-containers description: Delete stopped containers hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerprunelibpod with: filters: tools.filters outputParameters: - type: object mapping: $. - name: show-mounted-containers description: Show mounted containers hints: readOnly: true destructive: false idempotent: true call: podman-containers.containershowmountedlibpod outputParameters: - type: object mapping: $. - name: get-stats-one-more-containers description: Get stats for one or more containers hints: readOnly: true destructive: false idempotent: true call: podman-containers.containersstatsalllibpod with: containers: tools.containers stream: tools.stream interval: tools.interval all: tools.all outputParameters: - type: object mapping: $. - name: delete-container description: Delete container hints: readOnly: false destructive: true idempotent: true call: podman-containers.containerdeletelibpod with: name: tools.name depend: tools.depend force: tools.force ignore: tools.ignore timeout: tools.timeout v: tools.v outputParameters: - type: object mapping: $. - name: copy-files-container description: Copy files into a container hints: readOnly: false destructive: false idempotent: true call: podman-containers.putcontainerarchivelibpod with: name: tools.name path: tools.path pause: tools.pause request: tools.request outputParameters: - type: object mapping: $. - name: attach-container description: Attach to a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerattachlibpod with: name: tools.name detachKeys: tools.detachKeys logs: tools.logs stream: tools.stream stdout: tools.stdout stderr: tools.stderr stdin: tools.stdin outputParameters: - type: object mapping: $. - name: report-changes-container-s-filesystem-adds description: Report on changes to container's filesystem; adds, deletes or modifications. hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerchangeslibpod with: name: tools.name parent: tools.parent diffType: tools.diffType outputParameters: - type: object mapping: $. - name: checkpoint-container description: Checkpoint a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containercheckpointlibpod with: name: tools.name keep: tools.keep leaveRunning: tools.leaveRunning tcpEstablished: tools.tcpEstablished export: tools.export ignoreRootFS: tools.ignoreRootFS ignoreVolumes: tools.ignoreVolumes preCheckpoint: tools.preCheckpoint withPrevious: tools.withPrevious fileLocks: tools.fileLocks printStats: tools.printStats outputParameters: - type: object mapping: $. - name: check-if-container-exists description: Check if container exists hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerexistslibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: export-container description: Export a container hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerexportlibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: run-container-s-healthcheck description: Run a container's healthcheck hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerhealthchecklibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: initialize-container description: Initialize a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerinitlibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: inspect-container description: Inspect container hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerinspectlibpod with: name: tools.name size: tools.size outputParameters: - type: object mapping: $. - name: kill-container description: Kill container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerkilllibpod with: name: tools.name signal: tools.signal outputParameters: - type: object mapping: $. - name: get-container-logs description: Get container logs hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerlogslibpod with: name: tools.name follow: tools.follow stdout: tools.stdout stderr: tools.stderr since: tools.since until: tools.until timestamps: tools.timestamps tail: tools.tail outputParameters: - type: object mapping: $. - name: mount-container description: Mount a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containermountlibpod with: name: tools.name external: tools.external outputParameters: - type: object mapping: $. - name: pause-container description: Pause a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerpauselibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: rename-existing-container description: Rename an existing container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerrenamelibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: resize-container-s-tty description: Resize a container's TTY hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerresizelibpod with: name: tools.name h: tools.h w: tools.w running: tools.running outputParameters: - type: object mapping: $. - name: restart-container description: Restart a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerrestartlibpod with: name: tools.name t: tools.t timeout: tools.timeout outputParameters: - type: object mapping: $. - name: restore-container description: Restore a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerrestorelibpod with: name: tools.name keep: tools.keep tcpEstablished: tools.tcpEstablished tcpClose: tools.tcpClose import: tools.import ignoreRootFS: tools.ignoreRootFS ignoreVolumes: tools.ignoreVolumes ignoreStaticIP: tools.ignoreStaticIP ignoreStaticMAC: tools.ignoreStaticMAC fileLocks: tools.fileLocks printStats: tools.printStats pod: tools.pod outputParameters: - type: object mapping: $. - name: start-container description: Start a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerstartlibpod with: name: tools.name detachKeys: tools.detachKeys outputParameters: - type: object mapping: $. - name: get-stats-container description: Get stats for a container hints: readOnly: true destructive: false idempotent: true call: podman-containers.containerstatslibpod with: name: tools.name stream: tools.stream outputParameters: - type: object mapping: $. - name: stop-container description: Stop a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerstoplibpod with: name: tools.name timeout: tools.timeout ignore: tools.ignore outputParameters: - type: object mapping: $. - name: list-processes description: List processes hints: readOnly: true destructive: false idempotent: true call: podman-containers.containertoplibpod with: name: tools.name stream: tools.stream delay: tools.delay ps_args: tools.ps_args outputParameters: - type: object mapping: $. - name: unmount-container description: Unmount a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerunmountlibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: unpause-container description: Unpause Container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerunpauselibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: updates-configuration-existing-container-allowing description: Updates the configuration of an existing container, allowing changes to resource limits and healthchecks hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerupdatelibpod with: name: tools.name restartPolicy: tools.restartPolicy restartRetries: tools.restartRetries config: tools.config outputParameters: - type: object mapping: $. - name: wait-container description: Wait on a container hints: readOnly: false destructive: false idempotent: false call: podman-containers.containerwaitlibpod with: name: tools.name condition: tools.condition interval: tools.interval outputParameters: - type: object mapping: $. - name: generate-kubernetes-yaml-file description: Generate a Kubernetes YAML file. hints: readOnly: true destructive: false idempotent: true call: podman-containers.generatekubelibpod with: names: tools.names service: tools.service type: tools.type replicas: tools.replicas noTrunc: tools.noTrunc podmanOnly: tools.podmanOnly outputParameters: - type: object mapping: $. - name: generate-systemd-units description: Generate Systemd Units hints: readOnly: true destructive: false idempotent: true call: podman-containers.generatesystemdlibpod with: name: tools.name useName: tools.useName new: tools.new noHeader: tools.noHeader startTimeout: tools.startTimeout stopTimeout: tools.stopTimeout restartPolicy: tools.restartPolicy containerPrefix: tools.containerPrefix podPrefix: tools.podPrefix separator: tools.separator restartSec: tools.restartSec wants: tools.wants after: tools.after requires: tools.requires additionalEnvVariables: tools.additionalEnvVariables templateUnitFile: tools.templateUnitFile outputParameters: - type: object mapping: $. - name: apply-podman-workload-kubernetes-yaml description: Apply a podman workload or Kubernetes YAML file. hints: readOnly: false destructive: false idempotent: false call: podman-containers.kubeapplylibpod with: caCertFile: tools.caCertFile kubeConfig: tools.kubeConfig namespace: tools.namespace service: tools.service file: tools.file request: tools.request outputParameters: - type: object mapping: $. - name: remove-resources-created-kube-play description: Remove resources created from kube play hints: readOnly: false destructive: true idempotent: true call: podman-containers.playkubedownlibpod with: force: tools.force outputParameters: - type: object mapping: $. - name: play-kubernetes-yaml-file description: Play a Kubernetes YAML file. hints: readOnly: false destructive: false idempotent: false call: podman-containers.playkubelibpod with: Content-Type: tools.Content-Type annotations: tools.annotations logDriver: tools.logDriver logOptions: tools.logOptions network: tools.network noHosts: tools.noHosts noTrunc: tools.noTrunc publishPorts: tools.publishPorts publishAllPorts: tools.publishAllPorts replace: tools.replace serviceContainer: tools.serviceContainer start: tools.start staticIPs: tools.staticIPs staticMACs: tools.staticMACs tlsVerify: tools.tlsVerify userns: tools.userns wait: tools.wait build: tools.build request: tools.request outputParameters: - type: object mapping: $.