Volumes service API reference
The Block Storage API reference documents every Cinder endpoint with curl examples and request bodies.
See https://docs.openstack.org/api-ref/block-storage/. For error handling guidance, see the API error reference.
In these methods, \{project_id\} is the ID of the project or tenant, \{volume_id\} is the ID of the volume, and \{snapshot_id\} is the ID of the snapshot. These methods allow you to manage volumes and snapshots in the OpenStack Volumes service, including creating, listing, showing details of, updating, and deleting volumes and snapshots.
List volumes#
GET /v3/{project_id}/volumesList volumes with details#
GET /v3/{project_id}/volumes/detailThe plain GET /v3/{project_id}/volumes returns a summary (id, name, and links) for each volume; the /detail variant returns the full body for each volume. GET /v3/{project_id}/snapshots returns details by default.
Show volume details#
GET /v3/{project_id}/volumes/{volume_id}Create a volume#
POST /v3/{project_id}/volumesRequest body
{
"volume": {
"size": 1,
"name": "volume_name",
"description": "volume_description"
}
}Update a volume#
PUT /v3/{project_id}/volumes/{volume_id}Request body
{
"volume": {
"name": "new_volume_name",
"description": "new_volume_description"
}
}Delete a volume#
DELETE /v3/{project_id}/volumes/{volume_id}List volume snapshots#
GET /v3/{project_id}/snapshotsShow snapshot details#
GET /v3/{project_id}/snapshots/{snapshot_id}Create a snapshot#
POST /v3/{project_id}/snapshotsRequest body
{
"snapshot": {
"volume_id": "volume_id",
"name": "snapshot_name",
"description": "snapshot_description"
}
}Update a snapshot#
PUT /v3/{project_id}/snapshots/{snapshot_id}Request body
{
"snapshot": {
"name": "new_snapshot_name",
"description": "new_snapshot_description"
}
}Delete a snapshot#
DELETE /v3/{project_id}/snapshots/{snapshot_id}Limits#
Query project quotas and current resource usage for block storage. The response contains rate (always empty on Antelope) and absolute (volume/snapshot quotas and usage).
Show project limits#
GET /v3/{project_id}/limitsResponse body:
{
"limits": {
"rate": [],
"absolute": {
"maxTotalVolumes": 500,
"maxTotalSnapshots": 500,
"maxTotalVolumeGigabytes": 200,
"totalVolumesUsed": 3,
"totalGigabytesUsed": 30,
"totalSnapshotsUsed": 0
}
}
}The values shown are the current project defaults; they can vary by project and by approved quota requests.
Key fields#
| Field | Meaning |
|---|---|
rate | Always []. Application-layer rate limits are not active. |
maxTotalVolumes | Maximum volumes allowed in this project. |
maxTotalSnapshots | Maximum snapshots. |
maxTotalVolumeGigabytes | Maximum total storage in GiB across all volumes. |
totalVolumesUsed | Current volume count. |
totalGigabytesUsed | Current total storage in GiB. |
totalSnapshotsUsed | Current snapshot count. |
For quota troubleshooting, see Quota and limits troubleshooting. For rate limit behavior, see API rate limits.
See also#
- Block Storage API error reference
- API rate limits: quotas vs. rate limits, 429 handling
- Volume troubleshooting runbook
- Upstream Block Storage API reference