basePath: / consumes: - application/json - application/x-tar definitions: AuthConfig: x-go-package: github.com/containers/podman/v4/pkg/domain/entities AuthenticateOKBody: description: AuthenticateOKBody authenticate o k body x-go-package: github.com/docker/docker/api/types/registry ChangeType: description: |- Can be one of: `0`: Modified ("C") `1`: Added ("A") `2`: Deleted ("D") title: ChangeType Kind of change x-go-package: github.com/docker/docker/api/types/container ContainerTopOKBody: description: ContainerTopOKBody OK response to ContainerTop operation x-go-package: github.com/docker/docker/api/types/container ContainerUpdateOKBody: description: ContainerUpdateOKBody OK response to ContainerUpdate operation x-go-package: github.com/docker/docker/api/types/container CreateContainerConfig: description: CreateContainerConfig used when compatible endpoint creates a container x-go-package: github.com/containers/podman/v4/pkg/api/handlers CreateOptions: description: Volume configuration title: CreateOptions VolumeConfig x-go-package: github.com/docker/docker/api/types/volume CreateResponse: description: OK response to ContainerCreate operation title: CreateResponse ContainerCreateResponse x-go-package: github.com/docker/docker/api/types/container ErrorResponse: title: ErrorResponse Represents an error. x-go-package: github.com/docker/docker/api/types FilesystemChange: title: FilesystemChange Change in the container's filesystem. x-go-package: github.com/docker/docker/api/types/container GraphDriverData: description: |- GraphDriverData Information about the storage driver used to store the container's and image's filesystem. x-go-package: github.com/docker/docker/api/types HistoryResponseItem: description: HistoryResponseItem individual image layer information in response to ImageHistory operation x-go-package: github.com/docker/docker/api/types/image IDResponse: x-go-package: github.com/containers/podman/v4/pkg/domain/entities IdResponse: description: IDResponse Response to an API call that returns just an Id x-go-name: IDResponse x-go-package: github.com/docker/docker/api/types ImageDeleteResponseItem: description: ImageDeleteResponseItem image delete response item x-go-package: github.com/docker/docker/api/types ImageSummary: description: ImageSummary image summary x-go-package: github.com/docker/docker/api/types LibpodImageSummary: x-go-name: ImageSummary x-go-package: github.com/containers/podman/v4/pkg/domain/entities LibpodInfo: description: |- Info is the overall struct that describes the host system running libpod/podman x-go-name: Info x-go-package: github.com/containers/podman/v4/libpod/define ListResponse: description: Volume list response title: ListResponse VolumeListResponse x-go-package: github.com/docker/docker/api/types/volume LogConfigLibpod: description: LogConfig describes the logging characteristics for a container x-go-name: LogConfig x-go-package: github.com/containers/podman/v4/pkg/specgen MacAddress: description: |- HardwareAddr is the same as net.HardwareAddr except that it adds the json marshal/unmarshal methods. This allows us to read the mac from a json string and a byte array. x-go-name: HardwareAddr x-go-package: github.com/containers/common/libnetwork/types ManifestAddOptions: description: ManifestAddOptions provides model for adding digests to manifest list x-go-package: github.com/containers/podman/v4/pkg/domain/entities ManifestModifyOptions: description: |- swagger 2.0 does not support oneOf for schema validation. Operation "update" uses all fields. Operation "remove" uses fields: Operation and Images Operation "annotate" uses fields: Operation and Annotations title: ManifestModifyOptions provides the model for mutating a manifest x-go-package: github.com/containers/podman/v4/pkg/domain/entities ManifestModifyReport: description: ManifestModifyReport provides the model for removed digests and changed manifest x-go-package: github.com/containers/podman/v4/pkg/domain/entities ManifestPushReport: description: ManifestPushReport provides the model for the pushed manifest x-go-package: github.com/containers/podman/v4/pkg/domain/entities ManifestRemoveOptions: description: ManifestRemoveOptions provides the model for removing digests from a manifest x-go-package: github.com/containers/podman/v4/pkg/domain/entities ManifestRemoveReport: description: ManifestRemoveReport provides the model for the removed manifest x-go-package: github.com/containers/podman/v4/pkg/domain/entities NetworkPruneReport: description: |- NetworkPruneReport containers the name of network and an error associated in its pruning (removal) x-go-package: github.com/containers/podman/v4/pkg/domain/entities Plugin: description: Plugin A plugin for the Engine API x-go-package: github.com/docker/docker/api/types PluginConfig: title: PluginConfig The config of a plugin. x-go-package: github.com/docker/docker/api/types PluginConfigArgs: description: PluginConfigArgs plugin config args x-go-package: github.com/docker/docker/api/types PluginConfigInterface: description: PluginConfigInterface The interface between Docker and the plugin x-go-package: github.com/docker/docker/api/types PluginConfigLinux: description: PluginConfigLinux plugin config linux x-go-package: github.com/docker/docker/api/types PluginConfigNetwork: description: PluginConfigNetwork plugin config network x-go-package: github.com/docker/docker/api/types PluginConfigRootfs: description: PluginConfigRootfs plugin config rootfs x-go-package: github.com/docker/docker/api/types PluginConfigUser: description: PluginConfigUser plugin config user x-go-package: github.com/docker/docker/api/types PluginDevice: description: PluginDevice plugin device x-go-package: github.com/docker/docker/api/types PluginEnv: description: PluginEnv plugin env x-go-package: github.com/docker/docker/api/types PluginInterfaceType: description: PluginInterfaceType plugin interface type x-go-package: github.com/docker/docker/api/types PluginMount: description: PluginMount plugin mount x-go-package: github.com/docker/docker/api/types PluginSettings: title: PluginSettings Settings that can be modified by users. x-go-package: github.com/docker/docker/api/types PodCreateOptions: description: The JSON tags below are made to match the respective field in ContainerCreateOptions for the purpose of mapping. title: PodCreateOptions provides all possible options for creating a pod and its infra container. x-go-package: github.com/containers/podman/v4/pkg/domain/entities PodSpecGenerator: description: PodSpecGenerator describes options to create a pod x-go-package: github.com/containers/podman/v4/pkg/specgen Port: description: Port An open port on a container x-go-package: github.com/docker/docker/api/types SecretCreate: x-go-name: SecretCreateRequest x-go-package: github.com/containers/podman/v4/pkg/domain/entities ServiceUpdateResponse: description: ServiceUpdateResponse service update response x-go-package: github.com/docker/docker/api/types SpecGenerator: description: |- SpecGenerator creates an OCI spec and Libpod configuration options to create a container based on the given configuration. x-go-package: github.com/containers/podman/v4/pkg/specgen UpdateEntities: description: UpdateEntities used to wrap the oci resource spec in a swagger model x-go-package: github.com/containers/podman/v4/pkg/api/handlers UsageData: description: |- UsageData Usage details about the volume. This information is used by the `GET /system/df` endpoint, and omitted in other endpoints. x-go-package: github.com/docker/docker/api/types/volume Volume: description: Volume volume x-go-package: github.com/docker/docker/api/types/volume VolumeCreateOptions: description: VolumeCreateOptions provides details for creating volumes x-go-package: github.com/containers/podman/v4/pkg/domain/entities WaitExitError: description: WaitExitError container waiting error, if any x-go-package: github.com/docker/docker/api/types/container WaitResponse: description: OK response to ContainerWait operation title: WaitResponse ContainerWaitResponse x-go-package: github.com/docker/docker/api/types/container networkConnectRequest: description: Network connect x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger networkConnectRequestLibpod: description: Network connect x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger networkCreate: description: Network create x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger networkCreateLibpod: description: Network create x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger networkDisconnectRequest: description: Network disconnect x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger networkUpdateRequestLibpod: description: Network update x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger volumeCreate: description: Details for creating a volume x-go-package: github.com/containers/podman/v4/pkg/api/handlers/swagger host: podman.io 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/v4.0.0/libpod/info 'podman pull quay.io/containers/podman' curl -XPOST --unix-socket /run/podman/podman.sock -v 'http://d/v4.0.0/images/create?fromImage=quay.io%2Fcontainers%2Fpodman' 'podman list images' curl --unix-socket /run/podman/podman.sock -v 'http://d/v4.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 version: 4.0.0 x-logo: - url: https://raw.githubusercontent.com/containers/libpod/main/logo/podman-logo.png - altText: Podman logo paths: /auth: post: operationId: SystemAuth parameters: - description: Authentication to check in: body name: authConfig schema: $ref: '#/definitions/AuthConfig' produces: - application/json responses: "200": $ref: '#/responses/systemAuthResponse' "500": $ref: '#/responses/internalError' summary: Check auth configuration tags: - system (compat) /build: post: description: Build an image from the given Dockerfile(s) operationId: ImageBuild parameters: - default: application/x-tar enum: - application/x-tar in: header name: Content-Type type: string - in: header name: X-Registry-Config type: string - default: Dockerfile description: | Path within the build context to the `Dockerfile`. This is ignored if remote is specified and points to an external `Dockerfile`. in: query name: dockerfile type: string - default: latest 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 parameters. in: query name: t type: string - description: | TBD Extra hosts to add to /etc/hosts (As of version 1.xx) in: query name: extrahosts type: string - description: | A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called Dockerfile and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the dockerfile parameter is also specified, there must be a file with the corresponding path inside the tarball. (As of version 1.xx) in: query name: remote type: string - default: false description: | Suppress verbose build output in: query name: q type: boolean - default: false description: | Do not use the cache when building the image (As of version 1.xx) in: query name: nocache type: boolean - description: | JSON array of images used to build cache resolution (As of version 1.xx) in: query name: cachefrom type: string - default: false description: | Attempt to pull the image even if an older image exists locally (As of version 1.xx) in: query name: pull type: boolean - default: true description: | Remove intermediate containers after a successful build (As of version 1.xx) in: query name: rm type: boolean - default: false description: | Always remove intermediate containers, even upon failure (As of version 1.xx) in: query name: forcerm type: boolean - description: | Memory is the upper limit (in bytes) on how much memory running containers can use (As of version 1.xx) in: query name: memory type: integer - description: | MemorySwap limits the amount of memory and swap together (As of version 1.xx) in: query name: memswap type: integer - description: | CPUShares (relative weight (As of version 1.xx) in: query name: cpushares type: integer - description: | CPUSetCPUs in which to allow execution (0-3, 0,1) (As of version 1.xx) in: query name: cpusetcpus type: string - description: | CPUPeriod limits the CPU CFS (Completely Fair Scheduler) period (As of version 1.xx) in: query name: cpuperiod type: integer - description: | CPUQuota limits the CPU CFS (Completely Fair Scheduler) quota (As of version 1.xx) in: query name: cpuquota type: integer - description: | JSON map of string pairs denoting build-time variables. For example, the build argument `Foo` with the value of `bar` would be encoded in JSON as `["Foo":"bar"]`. For example, buildargs={"Foo":"bar"}. Note(s): * This should not be used to pass secrets. * The value of buildargs should be URI component encoded before being passed to the API. (As of version 1.xx) in: query name: buildargs type: string - default: 67108864 description: | ShmSize is the "size" value to use when mounting an shmfs on the container's /dev/shm directory. Default is 64MB (As of version 1.xx) in: query name: shmsize type: integer - default: false description: | Silently ignored. Squash the resulting images layers into a single layer (As of version 1.xx) in: query name: squash type: boolean - description: | JSON map of key, value pairs to set as labels on the new image (As of version 1.xx) in: query name: labels type: string - default: bridge description: | Sets the networking mode for the run commands during build. Supported standard values are: * `bridge` limited to containers within a single host, port mapping required for external access * `host` no isolation between host and containers on this network * `none` disable all networking for this container * container: share networking with given container ---All other values are assumed to be a custom network's name (As of version 1.xx) in: query name: networkmode type: string - description: | Platform format os[/arch[/variant]] (As of version 1.xx) in: query name: platform type: string - description: | Target build stage (As of version 1.xx) in: query name: target type: string - description: | output configuration TBD (As of version 1.xx) in: query name: outputs type: string - description: | A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz. in: body name: inputStream schema: format: binary type: string produces: - application/json responses: "200": description: OK (As of version 1.xx) schema: properties: stream: description: output from build process example: | (build details...) Successfully built 8ba084515c724cbf90d447a63600c0a6 Successfully tagged your_image:latest type: string required: - stream type: object "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Create image tags: - images (compat) /commit: post: description: Create a new image from a container operationId: ImageCommit parameters: - description: the name or ID of a container in: query name: container type: string - description: the repository name for the created image in: query name: repo type: string - description: tag name for the created image in: query name: tag type: string - description: commit message in: query name: comment type: string - description: author of the image in: query name: author type: string - description: pause the container before committing it in: query name: pause type: boolean - description: instructions to apply while committing in Dockerfile format in: query name: changes type: string - description: squash newly built layers into a single new layer in: query name: squash type: boolean produces: - application/json responses: "201": description: no error "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: New Image tags: - containers (compat) /containers/{name}: delete: operationId: ContainerDelete parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: false description: If the container is running, kill it before removing it. in: query name: force type: boolean - default: false description: Remove the volumes associated with the container. in: query name: v type: boolean - description: not supported in: query name: link type: boolean produces: - application/json responses: "204": description: no error "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Remove a container tags: - containers (compat) /containers/{name}/archive: get: description: Get a tar archive of files from a container operationId: ContainerArchive parameters: - description: container name or id in: path name: name required: true type: string - description: Path to a directory in the container to extract in: query name: path required: true type: string produces: - application/json responses: "200": description: no error schema: format: binary type: string "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Get files from a container tags: - containers (compat) put: description: Put a tar archive of files into a container operationId: PutContainerArchive parameters: - description: container name or id in: path name: name required: true type: string - description: Path to a directory in the container to extract in: query name: path required: true type: string - description: if unpacking the given content would cause an existing directory to be replaced with a non-directory and vice versa (1 or true) in: query name: noOverwriteDirNonDir type: string - description: copy UID/GID maps to the dest file or di (1 or true) in: query name: copyUIDGID type: string - description: tarfile of files to copy into the container in: body name: request schema: type: string produces: - application/json responses: "200": description: no error "400": $ref: '#/responses/badParamError' "403": description: the container rootfs is read-only "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Put files into a container tags: - containers (compat) /containers/{name}/attach: post: description: | Attach to a container to read its output or send it input. You can attach to the same container multiple times and you can reattach to containers that have been detached. It uses the same stream format as docker, see the libpod attach endpoint for a description of the format. operationId: ContainerAttach parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: keys to use for detaching from the container in: query name: detachKeys type: string - 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 in: query name: logs type: boolean - default: true 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 in: query name: stream type: boolean - description: Attach to container STDOUT in: query name: stdout type: boolean - description: Attach to container STDERR in: query name: stderr type: boolean - description: Attach to container STDIN in: query name: stdin type: boolean produces: - application/json responses: "101": description: No error, connection has been hijacked for transporting streams. "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Attach to a container tags: - containers (compat) /containers/{name}/exec: post: description: Create an exec session to run a command inside a running container. Exec sessions will be automatically removed 5 minutes after they exit. operationId: ContainerExec parameters: - description: name of container in: path name: name required: true type: string - description: Attributes for create in: body name: control schema: properties: AttachStderr: description: Attach to stderr of the exec command type: boolean AttachStdin: description: Attach to stdin of the exec command type: boolean AttachStdout: description: Attach to stdout of the exec command type: boolean Cmd: description: Command to run, as a string or array of strings. items: type: string type: array DetachKeys: 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 _." type: string Env: description: A list of environment variables in the form ["VAR=value", ...] items: type: string type: array Privileged: default: false description: Runs the exec process with extended privileges type: boolean Tty: description: Allocate a pseudo-TTY type: boolean User: description: | "The user, and optionally, group to run the exec process inside the container. Format is one of: user, user:group, uid, or uid:gid." type: string WorkingDir: description: The working directory for the exec process inside the container. type: string type: object produces: - application/json responses: "201": description: no error "404": $ref: '#/responses/containerNotFound' "409": description: container is paused "500": $ref: '#/responses/internalError' summary: Create an exec instance tags: - exec (compat) /containers/{name}/export: get: description: Export the contents of a container as a tarball. operationId: ContainerExport parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": description: tarball is returned in body "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Export a container tags: - containers (compat) /containers/{name}/json: get: description: Return low-level information about a container. operationId: ContainerInspect parameters: - description: the name or id of the container in: path name: name required: true type: string - default: false description: include the size of the container in: query name: size type: boolean produces: - application/json responses: "200": $ref: '#/responses/containerInspectResponse' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Inspect container tags: - containers (compat) /containers/{name}/kill: post: description: Signal to send to the container as an integer or string (e.g. SIGINT) operationId: ContainerKill parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: false description: Send kill signal to all containers in: query name: all type: boolean - default: SIGKILL description: signal to be sent to container in: query name: signal type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Kill container tags: - containers (compat) /containers/{name}/logs: get: description: Get stdout and stderr logs from a container. operationId: ContainerLogs parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: Keep connection after returning logs. in: query name: follow type: boolean - description: Return logs from stdout in: query name: stdout type: boolean - description: Return logs from stderr in: query name: stderr type: boolean - description: Only return logs since this time, as a UNIX timestamp in: query name: since type: string - description: Only return logs before this time, as a UNIX timestamp in: query name: until type: string - default: false description: Add timestamps to every log line in: query name: timestamps type: boolean - default: all description: Only return this number of log lines from the end of the logs in: query name: tail type: string produces: - application/json responses: "200": description: logs returned as a stream in response body. "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Get container logs tags: - containers (compat) /containers/{name}/pause: post: description: Use the cgroups freezer to suspend all processes in a container. operationId: ContainerPause parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Pause container tags: - containers (compat) /containers/{name}/rename: post: description: Change the name of an existing container. operationId: ContainerRename parameters: - description: Full or partial ID or full name of the container to rename in: path name: name required: true type: string - description: New name for the container in: query name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Rename an existing container tags: - containers (compat) /containers/{name}/resize: post: description: Resize the terminal attached to a container (for use with Attach). operationId: ContainerResize parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: Height to set for the terminal, in characters in: query name: h type: integer - description: Width to set for the terminal, in characters in: query name: w type: integer - description: Ignore containers not running errors in: query name: running type: boolean produces: - application/json responses: "200": $ref: '#/responses/ok' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Resize a container's TTY tags: - containers (compat) /containers/{name}/restart: post: operationId: ContainerRestart parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: timeout before sending kill signal to container in: query name: t type: integer produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Restart container tags: - containers (compat) /containers/{name}/start: post: operationId: ContainerStart parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: ctrl-p,ctrl-q 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 _.' in: query name: detachKeys type: string produces: - application/json responses: "204": description: no error "304": $ref: '#/responses/containerAlreadyStartedError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Start a container tags: - containers (compat) /containers/{name}/stats: get: description: This returns a live stream of a container’s resource usage statistics. operationId: ContainerStats parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: true description: Stream the output in: query name: stream type: boolean - default: false description: Provide a one-shot response in which preCPU stats are blank, resulting in a single cycle return. in: query name: one-shot type: boolean produces: - application/json responses: "200": description: no error schema: type: object "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Get stats for a container tags: - containers (compat) /containers/{name}/stop: post: description: Stop a container operationId: ContainerStop parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: number of seconds to wait before killing container in: query name: t type: integer produces: - application/json responses: "204": description: no error "304": $ref: '#/responses/containerAlreadyStoppedError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Stop a container tags: - containers (compat) /containers/{name}/top: get: operationId: ContainerTop parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: -ef description: arguments to pass to ps such as aux. in: query name: ps_args type: string produces: - application/json responses: "200": $ref: '#/responses/containerTopResponse' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: List processes running inside a container tags: - containers (compat) /containers/{name}/unpause: post: description: Resume a paused container operationId: ContainerUnpause parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Unpause container tags: - containers (compat) /containers/{name}/wait: post: description: Block until a container stops or given condition is met. operationId: ContainerWait parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: | wait until container is to a given condition. default is stopped. valid conditions are: - configured - created - exited - paused - running - stopped in: query name: condition type: string - default: 250ms description: Time Interval to wait before polling for completion. in: query name: interval type: string produces: - application/json responses: "200": $ref: '#/responses/containerWaitResponse' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Wait on a container tags: - containers (compat) /containers/create: post: operationId: ContainerCreate parameters: - description: container name in: query name: name type: string - description: Container to create in: body name: body required: true schema: $ref: '#/definitions/CreateContainerConfig' produces: - application/json responses: "201": $ref: '#/responses/containerCreateResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Create a container tags: - containers (compat) /containers/json: get: description: Returns a list of containers operationId: ContainerList parameters: - default: false description: Return all containers. By default, only running containers are shown in: query name: all type: boolean - default: false description: Return containers in storage not controlled by Podman in: query name: external type: boolean - description: Return this number of most recently created containers, including non-running ones. in: query name: limit type: integer - default: false description: Return the size of container as fields SizeRw and SizeRootFs. in: query name: size type: boolean - description: | Returns a list of containers. - ancestor=([:], , or ) - before=( or ) - expose=([/]|/[]) - exited= containers with exit code of - health=(starting|healthy|unhealthy|none) - id= a container's ID - is-task=(true|false) - label=key or label="key=value" of a container label - name= a container's name - network=( or ) - publish=([/]|/[]) - since=( or ) - status=(created|restarting|running|removing|paused|exited|dead) - volume=( or ) in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/containersList' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: List containers tags: - containers (compat) /containers/prune: post: description: Remove containers not in use operationId: ContainerPrune parameters: - description: | Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: - `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/containersPrune' "500": $ref: '#/responses/internalError' summary: Delete stopped containers tags: - containers (compat) /events: get: description: Returns events filtered on query parameters operationId: SystemEvents parameters: - description: start streaming events from this time in: query name: since type: string - description: stop streaming events later than this in: query name: until type: string - description: JSON encoded map[string][]string of constraints in: query name: filters type: string produces: - application/json responses: "200": description: returns a string of json data describing an event "500": $ref: '#/responses/internalError' summary: Get events tags: - system (compat) /exec/{id}/json: get: description: Return low-level information about an exec instance. operationId: ExecInspect parameters: - description: Exec instance ID in: path name: id required: true type: string produces: - application/json responses: "200": $ref: '#/responses/execSessionInspect' "404": $ref: '#/responses/execSessionNotFound' "500": $ref: '#/responses/internalError' summary: Inspect an exec instance tags: - exec (compat) /exec/{id}/resize: post: description: | Resize the TTY session used by an exec instance. This endpoint only works if tty was specified as part of creating and starting the exec instance. operationId: ExecResize parameters: - description: Exec instance ID in: path name: id required: true type: string - description: Height of the TTY session in characters in: query name: h type: integer - description: Width of the TTY session in characters in: query name: w type: integer - description: Ignore containers not running errors in: query name: running type: boolean produces: - application/json responses: "201": description: no error "404": $ref: '#/responses/execSessionNotFound' "500": $ref: '#/responses/internalError' summary: Resize an exec instance tags: - exec (compat) /exec/{id}/start: post: description: Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command. Otherwise, it sets up an interactive session with the command. operationId: ExecStart parameters: - description: Exec instance ID in: path name: id required: true type: string - description: Attributes for start in: body name: control schema: properties: Detach: description: Detach from the command. Not presently supported. type: boolean Tty: description: Allocate a pseudo-TTY. Presently ignored. type: boolean type: object produces: - application/octet-stream responses: "200": description: no error "404": $ref: '#/responses/execSessionNotFound' "409": description: container is not running "500": $ref: '#/responses/internalError' summary: Start an exec instance tags: - exec (compat) /images/{name}: delete: description: Delete an image from local storage operationId: ImageDelete parameters: - description: name or ID of image to delete in: path name: name required: true type: string - description: remove the image even if used by containers or has other tags in: query name: force type: boolean - description: do not remove dangling parent images in: query name: noprune type: boolean produces: - application/json responses: "200": $ref: '#/responses/imageDeleteResponse' "404": $ref: '#/responses/imageNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Remove Image tags: - images (compat) /images/{name}/get: get: description: Export an image in tarball format operationId: ImageGet parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/x-tar responses: "200": description: no error schema: format: binary type: string "500": $ref: '#/responses/internalError' summary: Export an image tags: - images (compat) /images/{name}/history: get: description: Return parent layers of an image. operationId: ImageHistory parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/history' "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: History of an image tags: - images (compat) /images/{name}/json: get: description: Return low-level information about an image. operationId: ImageInspect parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/imageInspect' "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Inspect an image tags: - images (compat) /images/{name}/push: post: description: Push an image to a container registry operationId: ImagePush parameters: - description: Name of image to push. in: path name: name required: true type: string - description: The tag to associate with the image on the registry. in: query name: tag type: string - description: All indicates whether to push all images related to the image list in: query name: all type: boolean - description: use compression on image in: query name: compress type: boolean - description: destination name for the image being pushed in: query name: destination type: string - description: A base64-encoded auth configuration. in: header name: X-Registry-Auth type: string produces: - application/json responses: "200": description: no error schema: format: binary type: string "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Push Image tags: - images (compat) /images/{name}/tag: post: description: Tag an image so that it becomes part of a repository. operationId: ImageTag parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: the repository to tag in in: query name: repo type: string - description: the name of the new tag in: query name: tag type: string produces: - application/json responses: "201": description: no error "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/imageNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Tag an image tags: - images (compat) /images/create: post: consumes: - text/plain - application/octet-stream description: Create an image by either pulling it from a registry or importing it. operationId: ImageCreate parameters: - description: A base64-encoded auth configuration. in: header name: X-Registry-Auth type: string - description: Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed. in: query name: fromImage type: string - description: Source to import. The value may be a URL from which the image can be retrieved or - to read the image from the request body. This parameter may only be used when importing an image in: query name: fromSrc type: string - description: Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image. in: query name: repo type: string - description: Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled. in: query name: tag type: string - description: Set commit message for imported image. in: query name: message type: string - description: Platform in the format os[/arch[/variant]] in: query name: platform type: string - description: Image content if fromSrc parameter was used in: body name: inputImage schema: format: binary type: string produces: - application/json responses: "200": description: no error schema: format: binary type: string "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Create an image tags: - images (compat) /images/get: get: description: Get a tarball containing all images and metadata for several image repositories operationId: ImageGetAll parameters: - description: one or more image names or IDs comma separated in: query name: names required: true type: string produces: - application/json responses: "200": description: no error schema: format: binary type: string "500": $ref: '#/responses/internalError' summary: Export several images tags: - images (compat) /images/json: get: description: Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image. operationId: ImageList parameters: - default: false description: Show all images. Only images from a final layer (no children) are shown by default. in: query name: all type: boolean - description: | A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: - `before`=(`[:]`, `` or ``) - `dangling=true` - `label=key` or `label="key=value"` of an image label - `reference`=(`[:]`) - `since`=(`[:]`, `` or ``) in: query name: filters type: string - default: false description: Not supported in: query name: digests type: boolean produces: - application/json responses: "200": $ref: '#/responses/imageList' "500": $ref: '#/responses/internalError' summary: List Images tags: - images (compat) /images/load: post: description: Load a set of images and tags into a repository. operationId: ImageLoad parameters: - description: not supported in: query name: quiet type: boolean - description: tarball of container image in: body name: request schema: type: string produces: - application/json responses: "200": description: no error "500": $ref: '#/responses/internalError' summary: Import image tags: - images (compat) /images/prune: post: description: Remove images from local storage that are not being used by a container operationId: ImagePrune parameters: - description: | filters to apply to image pruning, encoded as JSON (map[string][]string). Available filters: - `dangling=` When set to `true` (or `1`), prune only unused *and* untagged images. When set to `false` (or `0`), all unused images are pruned. - `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/imageDeleteResponse' "500": $ref: '#/responses/internalError' summary: Prune unused images tags: - images (compat) /images/search: get: description: Search registries for an image operationId: ImageSearch parameters: - description: term to search in: query name: term type: string - default: 25 description: maximum number of results in: query name: limit type: integer - description: | A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: - `is-automated=(true|false)` - `is-official=(true|false)` - `stars=` Matches images that have at least 'number' stars. in: query name: filters type: string - default: true description: Require HTTPS and verify signatures when contacting registries. in: query name: tlsVerify type: boolean - description: list the available tags in the repository in: query name: listTags type: boolean produces: - application/json responses: "200": $ref: '#/responses/registrySearchResponse' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Search images tags: - images (compat) /info: get: description: Returns information on the system and libpod configuration operationId: SystemInfo produces: - application/json responses: "200": description: to be determined "500": $ref: '#/responses/internalError' summary: Get info tags: - system (compat) /libpod/_ping: get: description: | Return protocol information in response headers. `HEAD /libpod/_ping` is also supported. `/_ping` is available for compatibility with other engines. The '_ping' endpoints are not versioned. operationId: SystemPing produces: - text/plain responses: "200": description: Success headers: API-Version: description: Max compatibility API Version the server supports type: string BuildKit-Version: description: Default version of docker image builder type: string Cache-Control: description: always no-cache type: string Docker-Experimental: description: If the server is running with experimental mode enabled, always true type: boolean Libpod-API-Version: description: | Max Podman API Version the server supports. Available if service is backed by Podman, therefore may be used to determine if talking to Podman engine or another engine type: string Libpod-Buildah-Version: description: | Default version of libpod image builder. Available if service is backed by Podman, therefore may be used to determine if talking to Podman engine or another engine type: string Pragma: description: always no-cache type: string schema: description: OK example: OK type: string "500": $ref: '#/responses/internalError' summary: Ping service tags: - system (compat) - system /libpod/build: post: description: Build an image from the given Dockerfile(s) operationId: ImageBuildLibpod parameters: - default: Dockerfile description: | Path within the build context to the `Dockerfile`. This is ignored if remote is specified and points to an external `Dockerfile`. in: query name: dockerfile type: string - default: latest 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 parameters. in: query name: t type: string - default: false description: | Instead of building for a set of platforms specified using the platform option, inspect the build's base images, and build for all of the platforms that are available. Stages that use *scratch* as a starting point can not be inspected, so at least one non-*scratch* stage must be present for detection to work usefully. in: query name: allplatforms type: boolean - description: | TBD Extra hosts to add to /etc/hosts (As of version 1.xx) in: query name: extrahosts type: string - description: | A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called Dockerfile and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the dockerfile parameter is also specified, there must be a file with the corresponding path inside the tarball. (As of version 1.xx) in: query name: remote type: string - default: false description: | Suppress verbose build output in: query name: q type: boolean - default: false description: | Do not use the cache when building the image (As of version 1.xx) in: query name: nocache type: boolean - description: | JSON array of images used to build cache resolution (As of version 1.xx) in: query name: cachefrom type: string - default: false description: | Attempt to pull the image even if an older image exists locally (As of version 1.xx) in: query name: pull type: boolean - default: true description: | Remove intermediate containers after a successful build (As of version 1.xx) in: query name: rm type: boolean - default: false description: | Always remove intermediate containers, even upon failure (As of version 1.xx) in: query name: forcerm type: boolean - description: | Memory is the upper limit (in bytes) on how much memory running containers can use (As of version 1.xx) in: query name: memory type: integer - description: | MemorySwap limits the amount of memory and swap together (As of version 1.xx) in: query name: memswap type: integer - description: | CPUShares (relative weight (As of version 1.xx) in: query name: cpushares type: integer - description: | CPUSetCPUs in which to allow execution (0-3, 0,1) (As of version 1.xx) in: query name: cpusetcpus type: string - description: | CPUPeriod limits the CPU CFS (Completely Fair Scheduler) period (As of version 1.xx) in: query name: cpuperiod type: integer - description: | CPUQuota limits the CPU CFS (Completely Fair Scheduler) quota (As of version 1.xx) in: query name: cpuquota type: integer - description: | JSON map of string pairs denoting build-time variables. For example, the build argument `Foo` with the value of `bar` would be encoded in JSON as `["Foo":"bar"]`. For example, buildargs={"Foo":"bar"}. Note(s): * This should not be used to pass secrets. * The value of buildargs should be URI component encoded before being passed to the API. (As of version 1.xx) in: query name: buildargs type: string - default: 67108864 description: | ShmSize is the "size" value to use when mounting an shmfs on the container's /dev/shm directory. Default is 64MB (As of version 1.xx) in: query name: shmsize type: integer - default: false description: | Silently ignored. Squash the resulting images layers into a single layer (As of version 1.xx) in: query name: squash type: boolean - description: | JSON map of key, value pairs to set as labels on the new image (As of version 1.xx) in: query name: labels type: string - description: Add an intermediate image *label* (e.g. label=*value*) to the intermediate image metadata. in: query items: type: string name: layerLabel type: array - default: true description: | Cache intermediate layers during build. (As of version 1.xx) in: query name: layers type: boolean - default: bridge description: | Sets the networking mode for the run commands during build. Supported standard values are: * `bridge` limited to containers within a single host, port mapping required for external access * `host` no isolation between host and containers on this network * `none` disable all networking for this container * container: share networking with given container ---All other values are assumed to be a custom network's name (As of version 1.xx) in: query name: networkmode type: string - description: | Platform format os[/arch[/variant]] (As of version 1.xx) in: query name: platform type: string - description: | Target build stage (As of version 1.xx) in: query name: target type: string - description: | output configuration TBD (As of version 1.xx) in: query name: outputs type: string - description: | Inject http proxy environment variables into container (As of version 2.0.0) in: query name: httpproxy type: boolean - description: Unset environment variables from the final image. in: query items: type: string name: unsetenv type: array - description: Unset the image label, causing the label not to be inherited from the base image. in: query items: type: string name: unsetlabel type: array - description: Extra volumes that should be mounted in the build container. in: query items: type: string name: volume type: array produces: - application/json responses: "200": description: OK (As of version 1.xx) schema: properties: stream: description: output from build process example: | (build details...) type: string required: - stream type: object "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Create image tags: - images /libpod/commit: post: description: Create a new image from a container operationId: ImageCommitLibpod parameters: - description: the name or ID of a container in: query name: container required: true type: string - description: author of the image in: query name: author type: string - description: instructions to apply while committing in Dockerfile format (i.e. "CMD=/bin/foo") in: query items: type: string name: changes type: array - description: commit message in: query name: comment type: string - description: format of the image manifest and metadata (default "oci") in: query name: format type: string - description: pause the container before committing it in: query name: pause type: boolean - description: squash the container before committing it in: query name: squash type: boolean - description: the repository name for the created image in: query name: repo type: string - description: output from commit process in: query name: stream type: boolean - description: tag name for the created image in: query name: tag type: string produces: - application/json responses: "201": description: no error "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Commit tags: - containers /libpod/containers/{name}: delete: description: Delete container operationId: ContainerDeleteLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: additionally remove containers that depend on the container to be removed in: query name: depend type: boolean - description: force stop container if running in: query name: force type: boolean - description: ignore errors when the container to be removed does not existxo in: query name: ignore type: boolean - default: 10 description: number of seconds to wait before killing container when force removing in: query name: timeout type: integer - description: delete volumes in: query name: v type: boolean produces: - application/json responses: "200": $ref: '#/responses/containerRemoveLibpod' "204": description: no error "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Delete container tags: - containers /libpod/containers/{name}/archive: get: description: Copy a tar archive of files from a container operationId: ContainerArchiveLibpod parameters: - description: container name or id in: path name: name required: true type: string - description: Path to a directory in the container to extract in: query name: path required: true type: string - description: JSON encoded map[string]string to translate paths in: query name: rename type: string produces: - application/json responses: "200": description: no error schema: format: binary type: string "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Copy files from a container tags: - containers (compat) put: description: Copy a tar archive of files into a container operationId: PutContainerArchiveLibpod parameters: - description: container name or id in: path name: name required: true type: string - description: Path to a directory in the container to extract in: query name: path required: true type: string - default: true description: pause the container while copying (defaults to true) in: query name: pause type: boolean - description: tarfile of files to copy into the container in: body name: request schema: type: string produces: - application/json responses: "200": description: no error "400": $ref: '#/responses/badParamError' "403": description: the container rootfs is read-only "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Copy files into a container tags: - containers /libpod/containers/{name}/attach: post: description: | Attach to a container to read its output or send it input. You can attach to the same container multiple times and you can reattach to containers that have been detached. ### Hijacking This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket. This is the response from the service for an attach request: ``` HTTP/1.1 200 OK Content-Type: application/vnd.docker.raw-stream [STREAM] ``` After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server. To inform potential proxies about connection hijacking, the client can also optionally send connection upgrade headers. For example, the client sends this request to upgrade the connection: ``` POST /v4.6.0/libpod/containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1 Upgrade: tcp Connection: Upgrade ``` The service will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream: ``` HTTP/1.1 101 UPGRADED Content-Type: application/vnd.docker.raw-stream Connection: Upgrade Upgrade: tcp [STREAM] ``` ### Stream format When the TTY setting is disabled for the container, the HTTP Content-Type header is set to application/vnd.docker.multiplexed-stream (starting with v4.7.0, previously application/vnd.docker.raw-stream was always used) and the stream over the hijacked connected is multiplexed to separate out `stdout` and `stderr`. The stream consists of a series of frames, each containing a header and a payload. The header contains the information about the output stream type and the size of the payload. It is encoded on the first eight bytes like this: ```go header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4} ``` `STREAM_TYPE` can be: - 0: `stdin` (is written on `stdout`) - 1: `stdout` - 2: `stderr` `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian. Following the header is the payload, which contains the specified number of bytes as written in the size. The simplest way to implement this protocol is the following: 1. Read 8 bytes. 2. Choose `stdout` or `stderr` depending on the first byte. 3. Extract the frame size from the last four bytes. 4. Read the extracted size and output it on the correct output. 5. Goto 1. ### Stream format when using a TTY When the TTY setting is enabled for the container, the stream is not multiplexed. The data exchanged over the hijacked connection is simply the raw data from the process PTY and client's `stdin`. operationId: ContainerAttachLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: keys to use for detaching from the container in: query name: detachKeys type: string - 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 in: query name: logs type: boolean - default: true 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 in: query name: stream type: boolean - description: Attach to container STDOUT in: query name: stdout type: boolean - description: Attach to container STDERR in: query name: stderr type: boolean - description: Attach to container STDIN in: query name: stdin type: boolean produces: - application/json responses: "101": description: No error, connection has been hijacked for transporting streams. "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Attach to a container tags: - containers /libpod/containers/{name}/changes: get: description: | Returns which files in a container's filesystem have been added, deleted, or modified. The Kind of modification can be one of: 0: Modified 1: Added 2: Deleted operationId: ContainerChangesLibpod parameters: - description: the name or id of the container in: path name: name required: true type: string - description: specify a second layer which is used to compare against it instead of the parent layer in: query name: parent type: string - description: select what you want to match, default is all enum: - all - container - image in: query name: diffType type: string responses: "200": description: Array of Changes "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Report on changes to container's filesystem; adds, deletes or modifications. tags: - containers - containers (compat) /libpod/containers/{name}/checkpoint: post: operationId: ContainerCheckpointLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: keep all temporary checkpoint files in: query name: keep type: boolean - description: leave the container running after writing checkpoint to disk in: query name: leaveRunning type: boolean - description: checkpoint a container with established TCP connections in: query name: tcpEstablished type: boolean - description: export the checkpoint image to a tar.gz in: query name: export type: boolean - description: do not include root file-system changes when exporting. can only be used with export in: query name: ignoreRootFS type: boolean - description: do not include associated volumes. can only be used with export in: query name: ignoreVolumes type: boolean - description: dump the container's memory information only, leaving the container running. only works on runc 1.0-rc or higher in: query name: preCheckpoint type: boolean - description: check out the container with previous criu image files in pre-dump. only works on runc 1.0-rc or higher in: query name: withPrevious type: boolean - description: checkpoint a container with filelocks in: query name: fileLocks type: boolean - description: add checkpoint statistics to the returned CheckpointReport in: query name: printStats type: boolean produces: - application/json responses: "200": description: tarball is returned in body if exported "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Checkpoint a container tags: - containers /libpod/containers/{name}/exec: post: description: Create an exec session to run a command inside a running container. Exec sessions will be automatically removed 5 minutes after they exit. operationId: ContainerExecLibpod parameters: - description: name of container in: path name: name required: true type: string - description: Attributes for create in: body name: control schema: properties: AttachStderr: description: Attach to stderr of the exec command type: boolean AttachStdin: description: Attach to stdin of the exec command type: boolean AttachStdout: description: Attach to stdout of the exec command type: boolean Cmd: description: Command to run, as a string or array of strings. items: type: string type: array DetachKeys: 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 _." type: string Env: description: A list of environment variables in the form ["VAR=value", ...] items: type: string type: array Privileged: default: false description: Runs the exec process with extended privileges type: boolean Tty: description: Allocate a pseudo-TTY type: boolean User: description: | "The user, and optionally, group to run the exec process inside the container. Format is one of: user, user:group, uid, or uid:gid." type: string WorkingDir: description: The working directory for the exec process inside the container. type: string type: object produces: - application/json responses: "201": description: no error "404": $ref: '#/responses/containerNotFound' "409": description: container is paused "500": $ref: '#/responses/internalError' summary: Create an exec instance tags: - exec /libpod/containers/{name}/exists: get: description: Quick way to determine if a container exists by name or ID operationId: ContainerExistsLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: container exists "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Check if container exists tags: - containers /libpod/containers/{name}/export: get: description: Export the contents of a container as a tarball. operationId: ContainerExportLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": description: tarball is returned in body "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Export a container tags: - containers /libpod/containers/{name}/healthcheck: get: description: Execute the defined healthcheck and return information about the results operationId: ContainerHealthcheckLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/healthCheck' "404": $ref: '#/responses/containerNotFound' "409": description: container has no healthcheck or is not running "500": $ref: '#/responses/internalError' summary: Run a container's healthcheck tags: - containers /libpod/containers/{name}/init: post: description: Performs all tasks necessary for initializing the container but does not start the container. operationId: ContainerInitLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "304": description: container already initialized "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Initialize a container tags: - containers /libpod/containers/{name}/json: get: description: Return low-level information about a container. operationId: ContainerInspectLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: display filesystem usage in: query name: size type: boolean produces: - application/json responses: "200": $ref: '#/responses/containerInspectResponseLibpod' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Inspect container tags: - containers /libpod/containers/{name}/kill: post: description: send a signal to a container, defaults to killing the container operationId: ContainerKillLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: SIGKILL description: signal to be sent to container, either by integer or SIG_ name in: query name: signal type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Kill container tags: - containers /libpod/containers/{name}/logs: get: description: | Get stdout and stderr logs from a container. The stream format is the same as described in the attach endpoint. operationId: ContainerLogsLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: Keep connection after returning logs. in: query name: follow type: boolean - description: Return logs from stdout in: query name: stdout type: boolean - description: Return logs from stderr in: query name: stderr type: boolean - description: Only return logs since this time, as a UNIX timestamp in: query name: since type: string - description: Only return logs before this time, as a UNIX timestamp in: query name: until type: string - default: false description: Add timestamps to every log line in: query name: timestamps type: boolean - default: all description: Only return this number of log lines from the end of the logs in: query name: tail type: string produces: - application/json responses: "200": description: logs returned as a stream in response body. "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Get container logs tags: - containers /libpod/containers/{name}/mount: post: description: Mount a container to the filesystem operationId: ContainerMountLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": description: mounted container schema: description: id example: /var/lib/containers/storage/overlay/f3f693bd88872a1e3193f4ebb925f4c282e8e73aadb8ab3e7492754dda3a02a4/merged type: string "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Mount a container tags: - containers /libpod/containers/{name}/pause: post: description: Use the cgroups freezer to suspend all processes in a container. operationId: ContainerPauseLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Pause a container tags: - containers /libpod/containers/{name}/rename: post: description: Change the name of an existing container. operationId: ContainerRenameLibpod parameters: - description: Full or partial ID or full name of the container to rename in: path name: name required: true type: string - description: New name for the container in: query name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Rename an existing container tags: - containers /libpod/containers/{name}/resize: post: description: Resize the terminal attached to a container (for use with Attach). operationId: ContainerResizeLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: Height to set for the terminal, in characters in: query name: h type: integer - description: Width to set for the terminal, in characters in: query name: w type: integer produces: - application/json responses: "200": $ref: '#/responses/ok' "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Resize a container's TTY tags: - containers /libpod/containers/{name}/restart: post: operationId: ContainerRestartLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: 10 description: number of seconds to wait before killing container in: query name: t type: integer produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Restart a container tags: - containers /libpod/containers/{name}/restore: post: description: Restore a container from a checkpoint. operationId: ContainerRestoreLibpod parameters: - description: the name or id of the container in: path name: name required: true type: string - description: the name of the container when restored from a tar. can only be used with import in: query name: name type: string - description: keep all temporary checkpoint files in: query name: keep type: boolean - description: checkpoint a container with established TCP connections in: query name: tcpEstablished type: boolean - description: import the restore from a checkpoint tar.gz in: query name: import type: boolean - description: do not include root file-system changes when exporting. can only be used with import in: query name: ignoreRootFS type: boolean - description: do not restore associated volumes. can only be used with import in: query name: ignoreVolumes type: boolean - description: ignore IP address if set statically in: query name: ignoreStaticIP type: boolean - description: ignore MAC address if set statically in: query name: ignoreStaticMAC type: boolean - description: restore a container with file locks in: query name: fileLocks type: boolean - description: add restore statistics to the returned RestoreReport in: query name: printStats type: boolean - description: pod to restore into in: query name: pod type: string produces: - application/json responses: "200": description: tarball is returned in body if exported "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Restore a container tags: - containers /libpod/containers/{name}/start: post: operationId: ContainerStartLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: ctrl-p,ctrl-q 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 _.' in: query name: detachKeys type: string produces: - application/json responses: "204": description: no error "304": $ref: '#/responses/containerAlreadyStartedError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Start a container tags: - containers /libpod/containers/{name}/stats: get: description: DEPRECATED. This endpoint will be removed with the next major release. Please use /libpod/containers/stats instead. operationId: ContainerStatsLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: true description: Stream the output in: query name: stream type: boolean produces: - application/json responses: "200": description: no error "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Get stats for a container tags: - containers /libpod/containers/{name}/stop: post: operationId: ContainerStopLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - default: 10 description: number of seconds to wait before killing container in: query name: timeout type: integer - default: false description: do not return error if container is already stopped in: query name: Ignore type: boolean produces: - application/json responses: "204": description: no error "304": $ref: '#/responses/containerAlreadyStoppedError' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Stop a container tags: - containers /libpod/containers/{name}/top: get: description: List processes running inside a container operationId: ContainerTopLibpod parameters: - description: Name of container to query for processes (As of version 1.xx) in: path name: name required: true type: string - description: when true, repeatedly stream the latest output (As of version 4.0) in: query name: stream type: boolean - default: 5 description: if streaming, delay in seconds between updates. Must be >1. (As of version 4.0) in: query name: delay type: integer - description: | arguments to pass to ps such as aux. in: query items: type: string name: ps_args type: array produces: - application/json responses: "200": $ref: '#/responses/containerTopResponse' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: List processes tags: - containers /libpod/containers/{name}/unmount: post: description: Unmount a container from the filesystem operationId: ContainerUnmountLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: ok "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Unmount a container tags: - containers /libpod/containers/{name}/unpause: post: operationId: ContainerUnpauseLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Unpause Container tags: - containers /libpod/containers/{name}/update: post: description: Update an existing containers cgroup configuration. operationId: ContainerUpdateLibpod parameters: - description: Full or partial ID or full name of the container to update in: path name: name required: true type: string - description: attributes for updating the container in: body name: resources schema: $ref: '#/definitions/UpdateEntities' produces: - application/json responses: "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Update an existing containers cgroup configuration tags: - containers /libpod/containers/{name}/wait: post: description: Wait on a container to meet a given condition operationId: ContainerWaitLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: Conditions to wait for. If no condition provided the 'exited' condition is assumed. in: query items: enum: - configured - created - exited - healthy - initialized - paused - removing - running - stopped - stopping - unhealthy type: string name: condition type: array - default: 250ms description: Time Interval to wait before polling for completion. in: query name: interval type: string produces: - application/json - text/plain responses: "200": description: Status code examples: text/plain: 137 schema: format: int32 type: integer "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Wait on a container tags: - containers /libpod/containers/create: post: operationId: ContainerCreateLibpod parameters: - description: attributes for creating a container in: body name: create required: true schema: $ref: '#/definitions/SpecGenerator' produces: - application/json responses: "201": $ref: '#/responses/containerCreateResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/containerNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Create a container tags: - containers /libpod/containers/json: get: description: Returns a list of containers operationId: ContainerListLibpod parameters: - default: false description: Return all containers. By default, only running containers are shown in: query name: all type: boolean - description: Return this number of most recently created containers, including non-running ones. in: query name: limit type: integer - default: false description: Include namespace information in: query name: namespace type: boolean - default: false description: Ignored. Previously included details on pod name and ID that are currently included by default. in: query name: pod type: boolean - default: false description: Return the size of container as fields SizeRw and SizeRootFs. in: query name: size type: boolean - default: false description: Sync container state with OCI runtime in: query name: sync type: boolean - description: | A JSON encoded value of the filters (a `map[string][]string`) to process on the containers list. Available filters: - `ancestor`=(`[:]`, ``, or ``) - `before`=(`` or ``) - `expose`=(`[/]` or `/[]`) - `exited=` containers with exit code of `` - `health`=(`starting`, `healthy`, `unhealthy` or `none`) - `id=` a container's ID - `is-task`=(`true` or `false`) - `label`=(`key` or `"key=value"`) of a container label - `name=` a container's name - `network`=(`` or ``) - `pod`=(`` or ``) - `publish`=(`[/]` or `/[]`) - `since`=(`` or ``) - `status`=(`created`, `restarting`, `running`, `removing`, `paused`, `exited` or `dead`) - `volume`=(`` or ``) in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/containersListLibpod' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: List containers tags: - containers /libpod/containers/prune: post: description: Remove containers not in use operationId: ContainerPruneLibpod parameters: - description: | Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: - `until=` Prune containers created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/containersPruneLibpod' "500": $ref: '#/responses/internalError' summary: Delete stopped containers tags: - containers /libpod/containers/showmounted: get: description: Lists all mounted containers mount points operationId: ContainerShowMountedLibpod produces: - application/json responses: "200": description: mounted containers schema: additionalProperties: type: string type: object "500": $ref: '#/responses/internalError' summary: Show mounted containers tags: - containers /libpod/containers/stats: get: description: Return a live stream of resource usage statistics of one or more container. If no container is specified, the statistics of all containers are returned. operationId: ContainersStatsAllLibpod parameters: - description: names or IDs of containers in: query items: type: string name: containers type: array - default: true description: Stream the output in: query name: stream type: boolean - default: 5 description: Time in seconds between stats reports in: query name: interval type: integer produces: - application/json responses: "200": $ref: '#/responses/containerStats' "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Get stats for one or more containers tags: - containers /libpod/events: get: description: Returns events filtered on query parameters operationId: SystemEventsLibpod parameters: - description: start streaming events from this time in: query name: since type: string - description: stop streaming events later than this in: query name: until type: string - description: JSON encoded map[string][]string of constraints in: query name: filters type: string - default: true description: when false, do not follow events in: query name: stream type: boolean produces: - application/json responses: "200": description: returns a string of json data describing an event "500": $ref: '#/responses/internalError' summary: Get events tags: - system /libpod/exec/{id}/json: get: description: Return low-level information about an exec instance. operationId: ExecInspectLibpod parameters: - description: Exec instance ID in: path name: id required: true type: string produces: - application/json responses: "200": description: no error "404": $ref: '#/responses/execSessionNotFound' "500": $ref: '#/responses/internalError' summary: Inspect an exec instance tags: - exec /libpod/exec/{id}/resize: post: description: | Resize the TTY session used by an exec instance. This endpoint only works if tty was specified as part of creating and starting the exec instance. operationId: ExecResizeLibpod parameters: - description: Exec instance ID in: path name: id required: true type: string - description: Height of the TTY session in characters in: query name: h type: integer - description: Width of the TTY session in characters in: query name: w type: integer produces: - application/json responses: "201": description: no error "404": $ref: '#/responses/execSessionNotFound' "500": $ref: '#/responses/internalError' summary: Resize an exec instance tags: - exec /libpod/exec/{id}/start: post: description: | Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command. Otherwise, it sets up an interactive session with the command. The stream format is the same as the attach endpoint. operationId: ExecStartLibpod parameters: - description: Exec instance ID in: path name: id required: true type: string - description: Attributes for start in: body name: control schema: properties: Detach: description: Detach from the command. type: boolean Tty: description: Allocate a pseudo-TTY. type: boolean h: description: Height of the TTY session in characters. Tty must be set to true to use it. type: integer w: description: Width of the TTY session in characters. Tty must be set to true to use it. type: integer type: object produces: - application/json responses: "200": description: no error "404": $ref: '#/responses/execSessionNotFound' "409": description: container is not running. "500": $ref: '#/responses/internalError' summary: Start an exec instance tags: - exec /libpod/generate/{name}/systemd: get: description: Generate Systemd Units based on a pod or container. operationId: GenerateSystemdLibpod parameters: - description: Name or ID of the container or pod. in: path name: name required: true type: string - default: false description: Use container/pod names instead of IDs. in: query name: useName type: boolean - default: false description: Create a new container instead of starting an existing one. in: query name: new type: boolean - default: false description: Do not generate the header including the Podman version and the timestamp. in: query name: noHeader type: boolean - default: 0 description: Start timeout in seconds. in: query name: startTimeout type: integer - default: 10 description: Stop timeout in seconds. in: query name: stopTimeout type: integer - default: on-failure description: Systemd restart-policy. enum: - "no" - on-success - on-failure - on-abnormal - on-watchdog - on-abort - always in: query name: restartPolicy type: string - default: container description: Systemd unit name prefix for containers. in: query name: containerPrefix type: string - default: pod description: Systemd unit name prefix for pods. in: query name: podPrefix type: string - default: '-' description: Systemd unit name separator between name/id and prefix. in: query name: separator type: string - default: 0 description: Configures the time to sleep before restarting a service. in: query name: restartSec type: integer - default: [] description: Systemd Wants list for the container or pods. in: query items: type: string name: wants type: array - default: [] description: Systemd After list for the container or pods. in: query items: type: string name: after type: array - default: [] description: Systemd Requires list for the container or pods. in: query items: type: string name: requires type: array - default: [] description: Set environment variables to the systemd unit files. in: query items: type: string name: additionalEnvVariables type: array produces: - application/json responses: "200": description: no error schema: additionalProperties: type: string type: object "500": $ref: '#/responses/internalError' summary: Generate Systemd Units tags: - containers - pods /libpod/generate/kube: get: description: Generate Kubernetes YAML based on a pod or container. operationId: GenerateKubeLibpod parameters: - description: Name or ID of the container or pod. in: query items: type: string name: names required: true type: array - default: false description: Generate YAML for a Kubernetes service object. in: query name: service type: boolean - default: pod description: Generate YAML for the given Kubernetes kind. in: query name: type type: string - default: 0 description: Set the replica number for Deployment kind. format: int32 in: query name: replicas type: integer - default: false description: don't truncate annotations to the Kubernetes maximum length of 63 characters in: query name: noTrunc type: boolean - default: false description: add podman-only reserved annotations in generated YAML file (cannot be used by Kubernetes) in: query name: podmanOnly type: boolean produces: - text/vnd.yaml - application/json responses: "200": description: Kubernetes YAML file describing pod schema: format: binary type: string "500": $ref: '#/responses/internalError' summary: Generate a Kubernetes YAML file. tags: - containers - pods /libpod/images/{name}: delete: description: Remove an image from the local storage. operationId: ImageDeleteLibpod parameters: - description: name or ID of image to remove in: path name: name required: true type: string - description: remove the image even if used by containers or has other tags in: query name: force type: boolean produces: - application/json responses: "200": $ref: '#/responses/imagesRemoveResponseLibpod' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/imageNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Remove an image from the local storage. tags: - images /libpod/images/{name}/changes: get: description: | Returns which files in an image's filesystem have been added, deleted, or modified. The Kind of modification can be one of: 0: Modified 1: Added 2: Deleted operationId: ImageChangesLibpod parameters: - description: the name or id of the image in: path name: name required: true type: string - description: specify a second layer which is used to compare against it instead of the parent layer in: query name: parent type: string - description: select what you want to match, default is all enum: - all - container - image in: query name: diffType type: string responses: "200": description: Array of Changes "404": $ref: '#/responses/containerNotFound' "500": $ref: '#/responses/internalError' summary: Report on changes to images's filesystem; adds, deletes or modifications. tags: - images /libpod/images/{name}/exists: get: description: Check if image exists in local store operationId: ImageExistsLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "204": description: image exists "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Image exists tags: - images /libpod/images/{name}/get: get: description: Export an image operationId: ImageGetLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: format for exported image in: query name: format type: string - description: use compression on image in: query name: compress type: boolean produces: - application/x-tar responses: "200": description: no error schema: format: binary type: string "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Export an image tags: - images /libpod/images/{name}/history: get: description: Return parent layers of an image. operationId: ImageHistoryLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/history' "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: History of an image tags: - images /libpod/images/{name}/json: get: description: Obtain low-level information about an image operationId: ImageInspectLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/inspectImageResponseLibpod' "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Inspect an image tags: - images /libpod/images/{name}/push: post: description: Push an image to a container registry operationId: ImagePushLibpod parameters: - description: Name of image to push. in: path name: name required: true type: string - description: Allows for pushing the image to a different destination than the image refers to. in: query name: destination type: string - default: false description: Enforce compressing the layers with the specified --compression and do not reuse differently compressed blobs on the registry. in: query name: forceCompressionFormat type: boolean - default: true description: Require TLS verification. in: query name: tlsVerify type: boolean - default: true description: silences extra stream data on push in: query name: quiet type: boolean - description: A base64-encoded auth configuration. in: header name: X-Registry-Auth type: string produces: - application/json responses: "200": description: no error schema: format: binary type: string "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Push Image tags: - images /libpod/images/{name}/tag: post: description: Tag an image so that it becomes part of a repository. operationId: ImageTagLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: the repository to tag in in: query name: repo type: string - description: the name of the new tag in: query name: tag type: string produces: - application/json responses: "201": description: no error "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/imageNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Tag an image tags: - images /libpod/images/{name}/tree: get: description: Retrieve the image tree for the provided image name or ID operationId: ImageTreeLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: show all child images and layers of the specified image in: query name: whatrequires type: boolean produces: - application/json responses: "200": $ref: '#/responses/treeResponse' "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Image tree tags: - images /libpod/images/{name}/untag: post: description: Untag an image. If not repo and tag are specified, all tags are removed from the image. operationId: ImageUntagLibpod parameters: - description: the name or ID of the container in: path name: name required: true type: string - description: the repository to untag in: query name: repo type: string - description: the name of the tag to untag in: query name: tag type: string produces: - application/json responses: "201": description: no error "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/imageNotFound' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Untag an image tags: - images /libpod/images/export: get: description: Export multiple images into a single object. Only `docker-archive` is currently supported. operationId: ImageExportLibpod parameters: - description: format for exported image (only docker-archive is supported) in: query name: format type: string - description: references to images to export in: query items: type: string name: references type: array - description: use compression on image in: query name: compress type: boolean - description: accept uncompressed layers when copying OCI images in: query name: ociAcceptUncompressedLayers type: boolean produces: - application/json responses: "200": description: no error schema: format: binary type: string "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Export multiple images tags: - images /libpod/images/import: post: consumes: - application/x-tar description: Import a previously exported tarball as an image. operationId: ImageImportLibpod parameters: - default: application/x-tar enum: - application/x-tar in: header name: Content-Type type: string - description: 'Apply the following possible instructions to the created image: CMD | ENTRYPOINT | ENV | EXPOSE | LABEL | STOPSIGNAL | USER | VOLUME | WORKDIR. JSON encoded string' in: query items: type: string name: changes type: array - description: Set commit message for imported image in: query name: message type: string - description: Optional Name[:TAG] for the image in: query name: reference type: string - description: Load image from the specified URL in: query name: url type: string - description: tarball for imported image in: body name: upload required: true schema: format: binary type: string produces: - application/json responses: "200": $ref: '#/responses/imagesImportResponseLibpod' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Import image tags: - images /libpod/images/json: get: description: Returns a list of images on the server operationId: ImageListLibpod parameters: - default: false description: Show all images. Only images from a final layer (no children) are shown by default. in: query name: all type: boolean - description: | A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: - `before`=(`[:]`, `` or ``) - `dangling=true` - `label=key` or `label="key=value"` of an image label - `reference`=(`[:]`) - `id`=(``) - `since`=(`[:]`, `` or ``) in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/imageListLibpod' "500": $ref: '#/responses/internalError' summary: List Images tags: - images /libpod/images/load: post: consumes: - application/x-tar description: Load an image (oci-archive or docker-archive) stream. operationId: ImageLoadLibpod parameters: - description: tarball of container image in: body name: upload required: true schema: type: string produces: - application/json responses: "200": $ref: '#/responses/imagesLoadResponseLibpod' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Load image tags: - images /libpod/images/prune: post: description: Remove images that are not being used by a container operationId: ImagePruneLibpod parameters: - default: false description: | Remove all images not in use by containers, not just dangling ones in: query name: all type: boolean - default: false description: | Remove images even when they are used by external containers (e.g, by build containers) in: query name: external type: boolean - description: | filters to apply to image pruning, encoded as JSON (map[string][]string). Available filters: - `dangling=` When set to `true` (or `1`), prune only unused *and* untagged images. When set to `false` (or `0`), all unused images are pruned. - `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/imagesPruneLibpod' "500": $ref: '#/responses/internalError' summary: Prune unused images tags: - images /libpod/images/pull: post: description: Pull one or more images from a container registry. operationId: ImagePullLibpod parameters: - description: Mandatory reference to the image (e.g., quay.io/image/name:tag) in: query name: reference type: string - default: false description: silences extra stream data on pull in: query name: quiet type: boolean - default: false description: Return the same JSON payload as the Docker-compat endpoint. in: query name: compatMode type: boolean - description: Pull image for the specified architecture. in: query name: Arch type: string - description: Pull image for the specified operating system. in: query name: OS type: string - description: Pull image for the specified variant. in: query name: Variant type: string - description: Pull policy, "always" (default), "missing", "newer", "never". in: query name: policy type: string - default: true description: Require TLS verification. in: query name: tlsVerify type: boolean - description: Pull all tagged images in the repository. in: query name: allTags type: boolean - description: 'base-64 encoded auth config. Must include the following four values: username, password, email and server address OR simply just an identity token.' in: header name: X-Registry-Auth type: string produces: - application/json responses: "200": $ref: '#/responses/imagesPullResponseLibpod' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Pull images tags: - images /libpod/images/remove: delete: description: Remove one or more images from the storage. operationId: ImageDeleteAllLibpod parameters: - description: Images IDs or names to remove. in: query items: type: string name: images type: array - default: true description: Remove all images. in: query name: all type: boolean - description: Force image removal (including containers using the images). in: query name: force type: boolean - description: Ignore if a specified image does not exist and do not throw an error. in: query name: ignore type: boolean - description: Resolves to manifest list instead of image. in: query name: lookupManifest type: boolean produces: - application/json responses: "200": $ref: '#/responses/imagesRemoveResponseLibpod' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Remove one or more images from the storage. tags: - images /libpod/images/scp/{name}: post: description: Copy an image from one host to another operationId: ImageScpLibpod parameters: - description: source connection/image in: path name: name required: true type: string - description: dest connection/image in: query name: destination type: string - default: false description: quiet output in: query name: quiet type: boolean produces: - application/json responses: "200": $ref: '#/responses/imagesScpResponseLibpod' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Copy an image from one host to another tags: - images /libpod/images/search: get: description: Search registries for images operationId: ImageSearchLibpod parameters: - description: term to search in: query name: term type: string - default: 25 description: maximum number of results in: query name: limit type: integer - description: | A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: - `is-automated=(true|false)` - `is-official=(true|false)` - `stars=` Matches images that have at least 'number' stars. in: query name: filters type: string - default: true description: Require HTTPS and verify signatures when contacting registries. in: query name: tlsVerify type: boolean - default: false description: list the available tags in the repository in: query name: listTags type: boolean produces: - application/json responses: "200": $ref: '#/responses/registrySearchResponse' "500": $ref: '#/responses/internalError' summary: Search images tags: - images /libpod/info: get: description: Returns information on the system and libpod configuration operationId: SystemInfoLibpod produces: - application/json responses: "200": $ref: '#/responses/infoResponse' "500": $ref: '#/responses/internalError' summary: Get info tags: - system /libpod/kube/apply: post: description: Deploy a podman container, pod, volume, or Kubernetes yaml to a Kubernetes cluster. operationId: KubeApplyLibpod parameters: - description: Path to the CA cert file for the Kubernetes cluster. in: query name: caCertFile type: string - description: Path to the kubeconfig file for the Kubernetes cluster. in: query name: kubeConfig type: string - description: The namespace to deploy the workload to on the Kubernetes cluster. in: query name: namespace type: string - description: Create a service object for the container being deployed. in: query name: service type: boolean - description: Path to the Kubernetes yaml file to deploy. in: query name: file type: string - description: Kubernetes YAML file. in: body name: request schema: type: string produces: - application/json responses: "200": description: Kubernetes YAML file successfully deployed to cluster schema: format: binary type: string "500": $ref: '#/responses/internalError' summary: Apply a podman workload or Kubernetes YAML file. tags: - containers - pods /libpod/manifests: post: description: Create a manifest list operationId: ManifestCreateLibpod parameters: - description: manifest list or index name to create in: query name: name required: true 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 type: string - description: add all contents if given list in: query name: all type: boolean - description: modify an existing list if one with the desired name already exists in: query name: amend type: boolean - description: options for new manifest in: body name: options schema: $ref: '#/definitions/ManifestModifyOptions' produces: - application/json responses: "201": description: "" schema: $ref: '#/definitions/IDResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/imageNotFound' "500": $ref: '#/responses/internalError' summary: Create tags: - manifests /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 type: string produces: - application/json responses: "200": $ref: '#/responses/imagesRemoveResponseLibpod' "404": $ref: '#/responses/manifestNotFound' "500": $ref: '#/responses/internalError' summary: Delete manifest list tags: - manifests 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 type: string - default: true description: Require HTTPS and verify signatures when contacting registries. in: query name: tlsVerify type: boolean - description: options for mutating a manifest in: body name: options required: true schema: $ref: '#/definitions/ManifestModifyOptions' produces: - application/json responses: "200": description: "" schema: $ref: '#/definitions/ManifestModifyReport' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/manifestNotFound' "409": description: Operation had partial success, both Images and Errors may have members schema: $ref: '#/definitions/ManifestModifyReport' "500": $ref: '#/responses/internalError' summary: Modify manifest list tags: - manifests /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 type: string - description: options for creating a manifest in: body name: options schema: $ref: '#/definitions/ManifestAddOptions' produces: - application/json responses: "200": description: "" schema: $ref: '#/definitions/IDResponse' "404": $ref: '#/responses/manifestNotFound' "409": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Add image tags: - manifests /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 type: string produces: - application/json responses: "204": description: manifest list exists "404": $ref: '#/responses/manifestNotFound' "500": $ref: '#/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 type: string - default: true description: Require HTTPS and verify signatures when contacting registries. in: query name: tlsVerify type: boolean produces: - application/json responses: "200": $ref: '#/responses/manifestInspect' "404": $ref: '#/responses/manifestNotFound' "500": $ref: '#/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 type: string - description: the destination for the manifest in: query name: destination required: true type: string - description: push all images in: query name: all type: boolean produces: - application/json responses: "200": description: "" schema: $ref: '#/definitions/IDResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/manifestNotFound' "500": $ref: '#/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 type: string - description: add existing instances with requested compression algorithms to manifest list in: query items: type: string name: addCompression type: array - default: false description: Enforce compressing the layers with the specified --compression and do not reuse differently compressed blobs on the registry. in: query name: forceCompressionFormat type: boolean - description: the registry for the manifest list in: path name: destination required: true type: string - default: true description: push all images in: query name: all type: boolean - default: true description: Require HTTPS and verify signatures when contacting registries. in: query name: tlsVerify type: boolean - default: true description: silences extra stream data on push in: query name: quiet type: boolean produces: - application/json responses: "200": description: "" schema: $ref: '#/definitions/IDResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/manifestNotFound' "500": $ref: '#/responses/internalError' summary: Push manifest list to registry tags: - manifests /libpod/networks/{name}: delete: description: Remove a configured network operationId: NetworkDeleteLibpod parameters: - description: the name of the network in: path name: name required: true type: string - description: remove containers associated with network in: query name: force type: boolean produces: - application/json responses: "200": $ref: '#/responses/networkRmResponse' "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Remove a network tags: - networks /libpod/networks/{name}/connect: post: description: Connect a container to a network. operationId: NetworkConnectLibpod parameters: - description: the name of the network in: path name: name required: true type: string - description: attributes for connecting a container to a network in: body name: create schema: $ref: '#/definitions/networkConnectRequestLibpod' produces: - application/json responses: "200": description: OK "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Connect container to network tags: - networks /libpod/networks/{name}/disconnect: post: description: Disconnect a container from a network. operationId: NetworkDisconnectLibpod parameters: - description: the name of the network in: path name: name required: true type: string - description: attributes for disconnecting a container from a network in: body name: create schema: $ref: '#/definitions/networkDisconnectRequest' produces: - application/json responses: "200": description: OK "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Disconnect container from network tags: - networks /libpod/networks/{name}/exists: get: description: Check if network exists operationId: NetworkExistsLibpod parameters: - description: the name or ID of the network in: path name: name required: true type: string produces: - application/json responses: "204": description: network exists "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Network exists tags: - networks /libpod/networks/{name}/json: get: description: | Display configuration for a network. operationId: NetworkInspectLibpod parameters: - description: the name of the network in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/networkInspectResponse' "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Inspect a network tags: - networks /libpod/networks/{name}/update: post: description: Update existing podman network operationId: NetworkUpdateLibpod parameters: - description: the name or ID of the network in: path name: name required: true type: string - description: attributes for updating a netavark network in: body name: update schema: $ref: '#/definitions/networkUpdateRequestLibpod' produces: - application/json responses: "200": description: OK "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Update existing podman network tags: - networks /libpod/networks/create: post: description: Create a new network configuration operationId: NetworkCreateLibpod parameters: - description: attributes for creating a network in: body name: create schema: $ref: '#/definitions/networkCreateLibpod' produces: - application/json responses: "200": $ref: '#/responses/networkCreateResponse' "400": $ref: '#/responses/badParamError' "409": $ref: '#/responses/conflictError' "500": $ref: '#/responses/internalError' summary: Create network tags: - networks /libpod/networks/json: get: description: | Display summary of network configurations. - In a 200 response, all of the fields named Bytes are returned as a Base64 encoded string. operationId: NetworkListLibpod parameters: - description: | JSON encoded value of the filters (a `map[string][]string`) to process on the network list. Available filters: - `name=[name]` Matches network name (accepts regex). - `id=[id]` Matches for full or partial ID. - `driver=[driver]` Only bridge is supported. - `label=[key]` or `label=[key=value]` Matches networks based on the presence of a label alone or a label and a value. - `until=[timestamp]` Matches all networks that were created before the given timestamp. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/networkListLibpod' "500": $ref: '#/responses/internalError' summary: List networks tags: - networks /libpod/networks/prune: post: description: Remove networks that do not have containers operationId: NetworkPruneLibpod parameters: - description: | Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: - `until=` Prune networks created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/networkPruneResponse' "500": $ref: '#/responses/internalError' summary: Delete unused networks tags: - networks /libpod/play/kube: delete: description: Tears down pods, secrets, and volumes defined in a YAML file operationId: PlayKubeDownLibpod parameters: - default: false description: Remove volumes. in: query name: force type: boolean produces: - application/json responses: "200": $ref: '#/responses/playKubeResponseLibpod' "500": $ref: '#/responses/internalError' summary: Remove resources created from kube play tags: - containers - pods post: description: Create and run pods based on a Kubernetes YAML file (pod or service kind). operationId: PlayKubeLibpod parameters: - description: Logging driver for the containers in the pod. in: query name: logDriver type: string - description: logging driver options in: query items: type: string name: logOptions type: array - description: USe the network mode or specify an array of networks. in: query items: type: string name: network type: array - default: false description: do not setup /etc/hosts file in container in: query name: noHosts type: boolean - default: false description: use annotations that are not truncated to the Kubernetes maximum length of 63 characters in: query name: noTrunc type: boolean - description: publish a container's port, or a range of ports, to the host in: query items: type: string name: publishPorts type: array - default: false description: replace existing pods and containers in: query name: replace type: boolean - default: false description: Starts a service container before all pods. in: query name: serviceContainer type: boolean - default: true description: Start the pod after creating it. in: query name: start type: boolean - description: Static IPs used for the pods. in: query items: type: string name: staticIPs type: array - description: Static MACs used for the pods. in: query items: type: string name: staticMACs type: array - default: true description: Require HTTPS and verify signatures when contacting registries. in: query name: tlsVerify type: boolean - description: Set the user namespace mode for the pods. in: query name: userns type: string - default: false description: Clean up all objects created when a SIGTERM is received or pods exit. in: query name: wait type: boolean - description: Kubernetes YAML file. in: body name: request schema: type: string produces: - application/json responses: "200": $ref: '#/responses/playKubeResponseLibpod' "500": $ref: '#/responses/internalError' summary: Play a Kubernetes YAML file. tags: - containers - pods /libpod/pods/{name}: delete: operationId: PodDeleteLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string - description: force removal of a running pod by first stopping all containers, then removing all containers in the pod in: query name: force type: boolean produces: - application/json responses: "200": $ref: '#/responses/podRmResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/podNotFound' "500": $ref: '#/responses/internalError' summary: Remove pod tags: - pods /libpod/pods/{name}/exists: get: description: Check if a pod exists by name or ID operationId: PodExistsLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string produces: - application/json responses: "204": description: pod exists "404": $ref: '#/responses/podNotFound' "500": $ref: '#/responses/internalError' summary: Pod exists tags: - pods /libpod/pods/{name}/json: get: operationId: PodInspectLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/podInspectResponse' "404": $ref: '#/responses/podNotFound' "500": $ref: '#/responses/internalError' summary: Inspect pod tags: - pods /libpod/pods/{name}/kill: post: operationId: PodKillLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string - default: SIGKILL description: signal to be sent to pod in: query name: signal type: string produces: - application/json responses: "200": $ref: '#/responses/podKillResponse' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/podNotFound' "409": $ref: '#/responses/podKillResponse' "500": $ref: '#/responses/internalError' summary: Kill a pod tags: - pods /libpod/pods/{name}/pause: post: description: Pause a pod operationId: PodPauseLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/podPauseResponse' "404": $ref: '#/responses/podNotFound' "409": $ref: '#/responses/podPauseResponse' "500": $ref: '#/responses/internalError' summary: Pause a pod tags: - pods /libpod/pods/{name}/restart: post: operationId: PodRestartLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/podRestartResponse' "404": $ref: '#/responses/podNotFound' "409": $ref: '#/responses/podRestartResponse' "500": $ref: '#/responses/internalError' summary: Restart a pod tags: - pods /libpod/pods/{name}/start: post: operationId: PodStartLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/podStartResponse' "304": $ref: '#/responses/podAlreadyStartedError' "404": $ref: '#/responses/podNotFound' "409": $ref: '#/responses/podStartResponse' "500": $ref: '#/responses/internalError' summary: Start a pod tags: - pods /libpod/pods/{name}/stop: post: operationId: PodStopLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string - description: timeout in: query name: t type: integer produces: - application/json responses: "200": $ref: '#/responses/podStopResponse' "304": $ref: '#/responses/podAlreadyStoppedError' "400": $ref: '#/responses/badParamError' "404": $ref: '#/responses/podNotFound' "409": $ref: '#/responses/podStopResponse' "500": $ref: '#/responses/internalError' summary: Stop a pod tags: - pods /libpod/pods/{name}/top: get: description: List processes running inside a pod operationId: PodTopLibpod parameters: - description: Name of pod to query for processes in: path name: name required: true type: string - description: when true, repeatedly stream the latest output (As of version 4.0) in: query name: stream type: boolean - default: 5 description: if streaming, delay in seconds between updates. Must be >1. (As of version 4.0) in: query name: delay type: integer - description: | arguments to pass to ps such as aux. in: query name: ps_args type: string produces: - application/json responses: "200": $ref: '#/responses/podTopResponse' "404": $ref: '#/responses/podNotFound' "500": $ref: '#/responses/internalError' summary: List processes tags: - pods /libpod/pods/{name}/unpause: post: operationId: PodUnpauseLibpod parameters: - description: the name or ID of the pod in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/podUnpauseResponse' "404": $ref: '#/responses/podNotFound' "409": $ref: '#/responses/podUnpauseResponse' "500": $ref: '#/responses/internalError' summary: Unpause a pod tags: - pods /libpod/pods/create: post: operationId: PodCreateLibpod parameters: - description: attributes for creating a pod in: body name: create schema: $ref: '#/definitions/PodSpecGenerator' produces: - application/json responses: "201": description: "" schema: $ref: '#/definitions/IDResponse' "400": $ref: '#/responses/badParamError' "409": description: status conflict schema: description: message describing error type: string "500": $ref: '#/responses/internalError' summary: Create a pod tags: - pods /libpod/pods/json: get: operationId: PodListLibpod parameters: - description: | JSON encoded value of the filters (a map[string][]string) to process on the pods list. Available filters: - `id=` Matches all of pod id. - `label=` or `label=:` Matches pods based on the presence of a label alone or a label and a value. - `name=` Matches all of pod name. - `until=` List pods created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `status=` Pod's status: `stopped`, `running`, `paused`, `exited`, `dead`, `created`, `degraded`. - `network=` Name or full ID of network. - `ctr-names=` Container name within the pod. - `ctr-ids=` Container ID within the pod. - `ctr-status=` Container status within the pod. - `ctr-number=` Number of containers in the pod. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/podsListResponse' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: List pods tags: - pods /libpod/pods/prune: post: operationId: PodPruneLibpod produces: - application/json responses: "200": $ref: '#/responses/podPruneResponse' "400": $ref: '#/responses/badParamError' "409": description: pod already exists "500": $ref: '#/responses/internalError' summary: Prune unused pods tags: - pods /libpod/pods/stats: get: description: Display a live stream of resource usage statistics for the containers in one or more pods operationId: PodStatsAllLibpod parameters: - description: Provide statistics for all running pods. in: query name: all type: boolean - description: Names or IDs of pods. in: query items: type: string name: namesOrIDs type: array produces: - application/json responses: "200": $ref: '#/responses/podStatsResponse' "404": $ref: '#/responses/podNotFound' "500": $ref: '#/responses/internalError' summary: Statistics for one or more pods tags: - pods /libpod/secrets/{name}: delete: operationId: SecretDeleteLibpod parameters: - description: the name or ID of the secret in: path name: name required: true type: string - default: false description: Remove all secrets in: query name: all type: boolean produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/NoSuchSecret' "500": $ref: '#/responses/internalError' summary: Remove secret tags: - secrets /libpod/secrets/{name}/exists: get: operationId: SecretExistsLibpod parameters: - description: the name or ID of the secret in: path name: name required: true type: string produces: - application/json responses: "204": description: secret exists "404": $ref: '#/responses/NoSuchSecret' "500": $ref: '#/responses/internalError' summary: Secret exists tags: - secrets /libpod/secrets/{name}/json: get: operationId: SecretInspectLibpod parameters: - description: the name or ID of the secret in: path name: name required: true type: string - default: false description: Display Secret in: query name: showsecret type: boolean produces: - application/json responses: "200": $ref: '#/responses/SecretInspectResponse' "404": $ref: '#/responses/NoSuchSecret' "500": $ref: '#/responses/internalError' summary: Inspect secret tags: - secrets /libpod/secrets/create: post: operationId: SecretCreateLibpod parameters: - description: User-defined name of the secret. in: query name: name required: true type: string - default: file description: Secret driver in: query name: driver type: string - description: Secret driver options in: query name: driveropts type: string - description: Labels on the secret in: query name: labels type: string - description: Secret in: body name: request schema: type: string produces: - application/json responses: "201": $ref: '#/responses/SecretCreateResponse' "500": $ref: '#/responses/internalError' summary: Create a secret tags: - secrets /libpod/secrets/json: get: description: Returns a list of secrets operationId: SecretListLibpod parameters: - description: | JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Currently available filters: - `name=[name]` Matches secrets name (accepts regex). - `id=[id]` Matches for full or partial ID. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/SecretListResponse' "500": $ref: '#/responses/internalError' summary: List secrets tags: - secrets /libpod/system/df: get: description: Return information about disk usage for containers, images, and volumes operationId: SystemDataUsageLibpod produces: - application/json responses: "200": $ref: '#/responses/systemDiskUsage' "500": $ref: '#/responses/internalError' summary: Show disk usage tags: - system /libpod/system/prune: post: operationId: SystemPruneLibpod produces: - application/json responses: "200": $ref: '#/responses/systemPruneResponse' "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Prune unused data tags: - system /libpod/version: get: operationId: SystemVersionLibpod produces: - application/json responses: "200": $ref: '#/responses/versionResponse' summary: Component Version information tags: - system /libpod/volumes/{name}: delete: operationId: VolumeDeleteLibpod parameters: - description: the name or ID of the volume in: path name: name required: true type: string - description: force removal in: query name: force type: boolean produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/volumeNotFound' "409": description: Volume is in use and cannot be removed "500": $ref: '#/responses/internalError' summary: Remove volume tags: - volumes /libpod/volumes/{name}/exists: get: description: Check if a volume exists operationId: VolumeExistsLibpod parameters: - description: the name of the volume in: path name: name required: true type: string produces: - application/json responses: "204": description: volume exists "404": $ref: '#/responses/volumeNotFound' "500": $ref: '#/responses/internalError' summary: Volume exists tags: - volumes /libpod/volumes/{name}/json: get: operationId: VolumeInspectLibpod parameters: - description: the name or ID of the volume in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/volumeCreateResponse' "404": $ref: '#/responses/volumeNotFound' "500": $ref: '#/responses/internalError' summary: Inspect volume tags: - volumes /libpod/volumes/create: post: operationId: VolumeCreateLibpod parameters: - description: attributes for creating a volume in: body name: create schema: $ref: '#/definitions/VolumeCreateOptions' produces: - application/json responses: "201": $ref: '#/responses/volumeCreateResponse' "500": $ref: '#/responses/internalError' summary: Create a volume tags: - volumes /libpod/volumes/json: get: description: Returns a list of volumes operationId: VolumeListLibpod parameters: - description: | JSON encoded value of the filters (a map[string][]string) to process on the volumes list. Available filters: - driver= Matches volumes based on their driver. - label= or label=: Matches volumes based on the presence of a label alone or a label and a value. - name= Matches all of volume name. - opt= Matches a storage driver options - `until=` List volumes created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/volumeListLibpod' "500": $ref: '#/responses/internalError' summary: List volumes tags: - volumes /libpod/volumes/prune: post: operationId: VolumePruneLibpod parameters: - description: | JSON encoded value of filters (a map[string][]string) to match volumes against before pruning. Available filters: - `until=` Prune volumes created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/volumePruneLibpod' "500": $ref: '#/responses/internalError' summary: Prune volumes tags: - volumes /networks: get: description: Display summary of network configurations operationId: NetworkList parameters: - description: | JSON encoded value of the filters (a `map[string][]string`) to process on the network list. Currently available filters: - `name=[name]` Matches network name (accepts regex). - `id=[id]` Matches for full or partial ID. - `driver=[driver]` Only bridge is supported. - `label=[key]` or `label=[key=value]` Matches networks based on the presence of a label alone or a label and a value. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/networkListCompat' "500": $ref: '#/responses/internalError' summary: List networks tags: - networks (compat) /networks/{name}: delete: description: Remove a network operationId: NetworkDelete parameters: - description: the name of the network in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Remove a network tags: - networks (compat) get: description: Display low level configuration network operationId: NetworkInspect parameters: - description: the name of the network in: path name: name required: true type: string - description: Detailed inspect output for troubleshooting in: query name: verbose type: boolean - description: Filter the network by scope (swarm, global, or local) in: query name: scope type: string produces: - application/json responses: "200": $ref: '#/responses/networkInspectCompat' "404": $ref: '#/responses/networkNotFound' "500": $ref: '#/responses/internalError' summary: Inspect a network tags: - networks (compat) /networks/{name}/connect: post: description: Connect a container to a network operationId: NetworkConnect parameters: - description: the name of the network in: path name: name required: true type: string - description: attributes for connecting a container to a network in: body name: create schema: $ref: '#/definitions/networkConnectRequest' produces: - application/json responses: "200": description: OK "400": $ref: '#/responses/badParamError' "403": $ref: '#/responses/networkConnectedError' "500": $ref: '#/responses/internalError' summary: Connect container to network tags: - networks (compat) /networks/{name}/disconnect: post: description: Disconnect a container from a network operationId: NetworkDisconnect parameters: - description: the name of the network in: path name: name required: true type: string - description: attributes for disconnecting a container from a network in: body name: create schema: $ref: '#/definitions/networkDisconnectRequest' produces: - application/json responses: "200": description: OK "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Disconnect container from network tags: - networks (compat) /networks/create: post: description: Create a network configuration operationId: NetworkCreate parameters: - description: attributes for creating a network in: body name: create schema: $ref: '#/definitions/networkCreate' produces: - application/json responses: "201": description: network created schema: properties: Id: type: string Warning: type: string type: object "400": $ref: '#/responses/badParamError' "500": $ref: '#/responses/internalError' summary: Create network tags: - networks (compat) /networks/prune: post: description: Remove networks that do not have containers operationId: NetworkPrune parameters: - description: | Filters to process on the prune list, encoded as JSON (a map[string][]string). Available filters: - `until=` Prune networks created before this timestamp. The can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": description: OK schema: properties: NetworksDeleted: items: type: string type: array type: object "500": $ref: '#/responses/internalError' summary: Delete unused networks tags: - networks (compat) /secrets: get: description: Returns a list of secrets operationId: SecretList parameters: - description: | JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Currently available filters: - `name=[name]` Matches secrets name (accepts regex). - `id=[id]` Matches for full or partial ID. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/SecretListCompatResponse' "500": $ref: '#/responses/internalError' summary: List secrets tags: - secrets (compat) /secrets/{name}: delete: operationId: SecretDelete parameters: - description: the name or ID of the secret in: path name: name required: true type: string produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/NoSuchSecret' "500": $ref: '#/responses/internalError' summary: Remove secret tags: - secrets (compat) get: operationId: SecretInspect parameters: - description: the name or ID of the secret in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/SecretInspectCompatResponse' "404": $ref: '#/responses/NoSuchSecret' "500": $ref: '#/responses/internalError' summary: Inspect secret tags: - secrets (compat) /secrets/create: post: operationId: SecretCreate parameters: - description: | attributes for creating a secret in: body name: create schema: $ref: '#/definitions/SecretCreate' produces: - application/json responses: "201": $ref: '#/responses/SecretCreateResponse' "409": $ref: '#/responses/SecretInUse' "500": $ref: '#/responses/internalError' summary: Create a secret tags: - secrets (compat) /system/df: get: description: Return information about disk usage for containers, images, and volumes operationId: SystemDataUsage produces: - application/json responses: "200": $ref: '#/responses/systemDiskUsage' "500": $ref: '#/responses/internalError' summary: Show disk usage tags: - system (compat) /version: get: operationId: SystemVersion produces: - application/json responses: "200": $ref: '#/responses/versionResponse' summary: Component Version information tags: - system (compat) /volumes: get: description: Returns a list of volume operationId: VolumeList parameters: - description: | JSON encoded value of the filters (a map[string][]string) to process on the volumes list. Available filters: - driver= Matches volumes based on their driver. - label= or label=: Matches volumes based on the presence of a label alone or a label and a value. - name= Matches all of volume name. - `until=` List volumes created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. Note: The boolean `dangling` filter is not yet implemented for this endpoint. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/volumeList' "500": $ref: '#/responses/internalError' summary: List volumes tags: - volumes (compat) /volumes/{name}: delete: operationId: VolumeDelete parameters: - description: the name or ID of the volume in: path name: name required: true type: string - description: | Force removal of the volume. This actually only causes errors due to the names volume not being found to be suppressed, which is the behaviour Docker implements. in: query name: force type: boolean produces: - application/json responses: "204": description: no error "404": $ref: '#/responses/volumeNotFound' "409": description: Volume is in use and cannot be removed "500": $ref: '#/responses/internalError' summary: Remove volume tags: - volumes (compat) get: operationId: VolumeInspect parameters: - description: the name or ID of the volume in: path name: name required: true type: string produces: - application/json responses: "200": $ref: '#/responses/volumeInspect' "500": $ref: '#/responses/internalError' summary: Inspect volume tags: - volumes (compat) /volumes/create: post: operationId: VolumeCreate parameters: - description: | attributes for creating a volume. Note: If a volume by the same name exists, a 201 response with that volume's information will be generated. in: body name: create schema: $ref: '#/definitions/volumeCreate' produces: - application/json responses: "201": $ref: '#/responses/volumeInspect' "500": $ref: '#/responses/internalError' summary: Create a volume tags: - volumes (compat) /volumes/prune: post: operationId: VolumePrune parameters: - description: | JSON encoded value of filters (a map[string][]string) to match volumes against before pruning. Available filters: - `until=` Prune volumes created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels. in: query name: filters type: string produces: - application/json responses: "200": $ref: '#/responses/volumePruneResponse' "500": $ref: '#/responses/internalError' summary: Prune volumes tags: - volumes (compat) produces: - application/json - application/octet-stream - text/plain responses: NoSuchSecret: description: No such secret SecretCreateResponse: description: Secret create response SecretInUse: description: Secret in use SecretInspectCompatResponse: description: Secret inspect compat SecretInspectResponse: description: Secret inspect response SecretListCompatResponse: description: Secret list response schema: items: {} type: array SecretListResponse: description: Secret list response schema: items: {} type: array badParamError: description: Bad parameter in request conflictError: description: Conflict error in operation containerAlreadyStartedError: description: Container already started containerAlreadyStoppedError: description: Container already stopped containerCreateResponse: description: Create container containerInspectResponse: description: Inspect container containerInspectResponseLibpod: description: Inspect container containerNotFound: description: No such container containerRemoveLibpod: description: Remove Containers schema: items: {} type: array containerStats: description: Get stats for one or more containers containerTopResponse: description: List processes in container containerWaitResponse: description: Wait container containersList: description: List Containers schema: items: {} type: array containersListLibpod: description: List Containers schema: items: {} type: array containersPrune: description: Prune Containers schema: items: {} type: array containersPruneLibpod: description: Prune Containers schema: items: {} type: array execSessionInspect: description: Exec Session Inspect execSessionNotFound: description: No such exec instance healthCheck: description: Healthcheck Results history: description: Image History imageDeleteResponse: description: Image Delete schema: items: {} type: array imageInspect: description: Image Inspect imageList: description: Image summary for compat API schema: items: {} type: array imageListLibpod: description: Image summary for libpod API schema: items: {} type: array imageNotFound: description: No such image imagesImportResponseLibpod: description: Image Import imagesLoadResponseLibpod: description: Image Load imagesPruneLibpod: description: Image Prune schema: items: {} type: array imagesPullResponseLibpod: description: Image Pull imagesRemoveResponseLibpod: description: Image Remove imagesScpResponseLibpod: description: Image Scp infoResponse: description: Info inspectImageResponseLibpod: description: Inspect Image internalError: description: Internal server error manifestInspect: description: Inspect Manifest manifestNotFound: description: No such manifest networkConnectedError: description: Network is already connected and container is running or transitioning to the running state ('initialized') networkCreateResponse: description: Network create networkInspectCompat: description: Network inspect networkInspectResponse: description: Network inspect networkListCompat: description: Network list schema: items: {} type: array networkListLibpod: description: Network list schema: items: {} type: array networkNotFound: description: No such network networkPruneResponse: description: Network prune schema: items: {} type: array networkRmResponse: description: Network Delete schema: items: {} type: array ok: description: Success playKubeResponseLibpod: description: PlayKube response podAlreadyStartedError: description: Pod already started podAlreadyStoppedError: description: Pod already stopped podInspectResponse: description: Inspect pod podKillResponse: description: Kill Pod podNotFound: description: No such pod podPauseResponse: description: Pause pod podPruneResponse: description: Prune pod podRestartResponse: description: Restart pod podRmResponse: description: Rm pod podStartResponse: description: Start pod podStatsResponse: description: Pod Statistics schema: items: {} type: array podStopResponse: description: Stop pod podTopResponse: description: List processes in pod podUnpauseResponse: description: Unpause pod podsListResponse: description: List pods schema: items: {} type: array registrySearchResponse: description: Registry Search systemAuthResponse: description: Auth response systemDiskUsage: description: Disk usage systemPruneResponse: description: System Prune results treeResponse: description: Image Tree versionResponse: description: Version volumeCreateResponse: description: Volume details volumeInspect: description: This response definition is used for both the create and inspect endpoints volumeList: description: Volume List volumeListLibpod: description: Volume list schema: items: {} type: array volumeNotFound: description: No such volume volumePruneLibpod: description: Volume Prune schema: items: {} type: array volumePruneResponse: description: Volume prune schemes: - http - https swagger: "2.0" tags: - description: Actions related to containers name: containers - description: Actions related to exec name: exec - description: Actions related to images name: images - description: Actions related to manifests name: manifests - description: Actions related to networks name: networks - description: Actions related to pods name: pods - description: Actions related to volumes name: volumes - description: Actions related to secrets name: secrets - description: Actions related to Podman engine name: system - description: Actions related to containers for the compatibility endpoints name: containers (compat) - description: Actions related to exec for the compatibility endpoints name: exec (compat) - description: Actions related to images for the compatibility endpoints name: images (compat) - description: Actions related to networks for the compatibility endpoints name: networks (compat) - description: Actions related to volumes for the compatibility endpoints name: volumes (compat) - description: Actions related to secrets for the compatibility endpoints name: secrets (compat) - description: Actions related to Podman and compatibility engines name: system (compat)