Podman Volumes API

Actions related to volumes

Business capability
IT Infrastructure Management BC-600.50

Operations 8

DELETE /libpod/volumes/{name} Remove volume #
GET /libpod/volumes/{name}/exists Volume exists #
GET /libpod/volumes/{name}/export Export a volume #
POST /libpod/volumes/{name}/import Populate a volume by importing provided tar #
GET /libpod/volumes/{name}/json Inspect volume #
POST /libpod/volumes/create Create a volume #
GET /libpod/volumes/json List volumes #
POST /libpod/volumes/prune Prune volumes #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

podman-volumes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: podman@lists.podman.io
    name: Podman
    url: https://podman.io/community/
  description: This documentation describes the Podman v2.x+ RESTful API.
  license:
    name: Apache-2.0
    url: https://opensource.org/licenses/Apache-2.0
  termsOfService: https://github.com/containers/podman/blob/913caaa9b1de2b63692c9bae15120208194c9eb3/LICENSE
  title: supports a RESTful API for the Libpod library Volumes API
  version: 5.0.0
  x-logo:
  - url: https://raw.githubusercontent.com/containers/libpod/main/logo/podman-logo.png
  - altText: Podman logo
servers:
- url: http://podman.io/
- url: https://podman.io/
tags:
- description: Actions related to volumes
  name: Volumes
paths:
  /libpod/volumes/{name}:
    delete:
      operationId: VolumeDeleteLibpod
      parameters:
      - description: the name or ID of the volume
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: force removal
        in: query
        name: force
        schema:
          type: boolean
      - description: timeout before forcibly killing any containers using the volume
        in: query
        name: timeout
        schema:
          type: integer
      responses:
        '204':
          description: no error
        '404':
          $ref: '#/components/responses/volumeNotFound'
        '409':
          description: Volume is in use and cannot be removed
        '500':
          $ref: '#/components/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
        schema:
          type: string
      responses:
        '204':
          description: volume exists
        '404':
          $ref: '#/components/responses/volumeNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Volume exists
      tags:
      - Volumes
  /libpod/volumes/{name}/export:
    get:
      operationId: VolumeExportLibpod
      parameters:
      - description: the name or ID of the volume
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: no error
          content:
            application/x-tar:
              schema:
                format: binary
                type: string
        '404':
          $ref: '#/components/responses/volumeNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Export a volume
      tags:
      - Volumes
  /libpod/volumes/{name}/import:
    post:
      operationId: VolumeImportLibpod
      parameters:
      - description: the name or ID of the volume
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Successful import
        '404':
          $ref: '#/components/responses/volumeNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Populate a volume by importing provided tar
      tags:
      - Volumes
      requestBody:
        content:
          application/json:
            schema:
              format: binary
              type: string
          application/x-tar:
            schema:
              format: binary
              type: string
        description: 'An uncompressed tar archive

          '
  /libpod/volumes/{name}/json:
    get:
      operationId: VolumeInspectLibpod
      parameters:
      - description: the name or ID of the volume
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/volumeCreateResponse'
        '404':
          $ref: '#/components/responses/volumeNotFound'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Inspect volume
      tags:
      - Volumes
  /libpod/volumes/create:
    post:
      operationId: VolumeCreateLibpod
      responses:
        '201':
          $ref: '#/components/responses/volumeCreateResponse'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Create a volume
      tags:
      - Volumes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeCreateOptions'
          application/x-tar:
            schema:
              $ref: '#/components/schemas/VolumeCreateOptions'
        description: attributes for creating a volume
  /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:\n  - driver=<volume-driver-name> Matches volumes based on their driver.\n  - label=<key> or label=<key>:<value> Matches volumes based on the presence of a label alone or a label and a value.\n  - name=<volume-name> Matches all of volume name.\n  - opt=<driver-option> Matches a storage driver options\n  - `until=<timestamp>` List volumes created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n"
        in: query
        name: filters
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/volumeListLibpod'
        '500':
          $ref: '#/components/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.\nAvailable filters:\n  - `all` When true, prune all unused volumes; when false or unset, only anonymous unused volumes.\n  - `anonymous` When true/false, restrict to anonymous or named volumes only.\n  - `until=<timestamp>` Prune volumes created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n  - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.\n"
        in: query
        name: filters
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/volumePruneLibpod'
        '500':
          $ref: '#/components/responses/internalError'
      summary: Prune volumes
      tags:
      - Volumes
components:
  schemas:
    PruneReport:
      description: POST "/volumes/prune"
      properties:
        Err:
          type: string
          x-go-type: error
        Id:
          type: string
        Size:
          format: uint64
          type: integer
      title: 'PruneReport contains the response for Engine API:'
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities/reports
    VolumeConfigResponse:
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities
    ErrorModel:
      description: ErrorModel is used in remote connections with podman
      properties:
        cause:
          description: API root cause formatted for automated parsing
          example: API root cause
          type: string
          x-go-name: Because
        message:
          description: human error message, formatted for a human to read
          example: human error message
          type: string
          x-go-name: Message
        response:
          description: HTTP response code
          format: int64
          minimum: 400
          type: integer
          x-go-name: ResponseCode
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/errorhandling
    VolumeCreateOptions:
      properties:
        Driver:
          description: Volume driver to use
          type: string
        GID:
          description: GID that the volume will be created as
          format: int64
          type: integer
        IgnoreIfExists:
          description: Ignore existing volumes
          type: boolean
        Label:
          additionalProperties:
            type: string
          description: User-defined key/value metadata. Provided for compatibility
          type: object
        Labels:
          additionalProperties:
            type: string
          description: User-defined key/value metadata. Preferred field, will override Label
          type: object
        Name:
          description: New volume's name. Can be left blank
          type: string
        Options:
          additionalProperties:
            type: string
          description: Mapping of driver options and values.
          type: object
        UID:
          description: UID that the volume will be created as
          format: int64
          type: integer
      type: object
      x-go-package: go.podman.io/podman/v6/pkg/domain/entities/types
  responses:
    volumeCreateResponse:
      description: Volume details
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VolumeConfigResponse'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/VolumeConfigResponse'
        text/plain:
          schema:
            $ref: '#/components/schemas/VolumeConfigResponse'
    volumeListLibpod:
      description: Volume list
      content:
        application/json:
          schema:
            items:
              $ref: '#/components/schemas/VolumeConfigResponse'
            type: array
        application/octet-stream:
          schema:
            items:
              $ref: '#/components/schemas/VolumeConfigResponse'
            type: array
        text/plain:
          schema:
            items:
              $ref: '#/components/schemas/VolumeConfigResponse'
            type: array
    volumeNotFound:
      description: No such volume
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        text/plain:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    volumePruneLibpod:
      description: Volume Prune
      content:
        application/json:
          schema:
            items:
              $ref: '#/components/schemas/PruneReport'
            type: array
        application/octet-stream:
          schema:
            items:
              $ref: '#/components/schemas/PruneReport'
            type: array
        text/plain:
          schema:
            items:
              $ref: '#/components/schemas/PruneReport'
            type: array
    internalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ErrorModel'
        text/plain:
          schema:
            $ref: '#/components/schemas/ErrorModel'