pydo.volume_actions.post()
Generated on 21 Jan 2026
from pydo version
v0.24.0
Description
To initiate an action on a block storage volume by Name, send a POST request to
~/v2/volumes/actions. The body should contain the appropriate
attributes for the respective action.
Attach a Block Storage Volume to a Droplet
| Attribute | Details |
|---|---|
| type | This must be attach |
| volume_name | The name of the block storage volume |
| droplet_id | Set to the Droplet’s ID |
| region | Set to the slug representing the region where the volume is located |
Each volume may only be attached to a single Droplet. However, up to fifteen volumes may be attached to a Droplet at a time. Pre-formatted volumes will be automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018 when attached. On older Droplets, additional configuration is required.
Remove a Block Storage Volume from a Droplet
| Attribute | Details |
|---|---|
| type | This must be detach |
| volume_name | The name of the block storage volume |
| droplet_id | Set to the Droplet’s ID |
| region | Set to the slug representing the region where the volume is located |
Parameters
| Name | Type | Required | Description | Default Value |
|---|---|---|---|---|
per_page |
integer | False | Number of items returned per page | 20 |
page |
integer | False | Which ‘page’ of paginated results to return. | 1 |
body |
JSON or IO[bytes] | True |
Request Sample
import os
from pydo import Client
client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))
req = {
"type": "attach",
"volume_name": "example",
"droplet_id": 11612190,
"region": "nyc1",
"tags": [
"aninterestingtag"
]
}
resp = client.volume_actions.post(body=req)More Information
See the API spec for this endpoint to view additional detail on responses, headers, parameters, and more.