adminSnapshotVolume
Takes a point-in-time snapshot of one volume — the undo a delete relies on, available on its own so an operator can take one before any risky change.
Takes a point-in-time snapshot of one volume — the undo a delete relies on, available on its own so an operator can take one before any risky change.
It re-scans the board first (never the cache) so the volume it snapshots is one that exists right now, and audits the outcome either way.
| Tool | adminSnapshotVolume |
| Door | https://api.hanzo.ai/v1/mcp |
| Method | tools/call (JSON-RPC 2.0) |
| Arguments | 4 |
| Operation | POST /v1/admin/infra/volumes/{id}/snapshot |
| Product | cloud |
Arguments
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | — | — | ID is the DO volume id, from the path. |
name | string | — | — | Name is the snapshot name on the snapshot action. Blank gets a deterministic "<volume>-predelete-<unix>" so the undo is findable in the DO console. |
sizeGiB | integer | — | — | SizeGiB is the target size on the resize action. A volume only ever grows — ExpandTo is the verdict that refuses a shrink, so this is not validated here. |
snapshot | string | — | — | Snapshot is the snapshot-first switch on DELETE. Anything other than the literal "false" snapshots before destroying — the snapshot IS the undo, so waiving it is deliberate and explicit. |
This tool's schema does not declare which fields are required, nor any default, nor any enumerated value set. The columns above are empty because the door publishes nothing there, not because the answer is "none" — where a field is constrained, the constraint is stated in that field's own description.
Call it
A tools/call carries every argument in one flat object — nothing binds to a path or a query string. Every declared argument is shown, because the door marks none of them required.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "adminSnapshotVolume",
"arguments": {
"id": "<id>",
"name": "<name>",
"sizeGiB": 0,
"snapshot": "<snapshot>"
}
}
}'Values are placeholders derived from each field's declared type. tools/list needs no credential; tools/call does — called without one the door answers HTTP 200 with a JSON-RPC result whose isError is set and whose text says what was missing. How to get a key →
The operation behind it
| Operation | Route | Product | Summary |
|---|---|---|---|
cloud_adminSnapshotVolume | POST /v1/admin/infra/volumes/{id}/snapshot | cloud | Takes a point-in-time snapshot of one volume — the undo a delete relies on, available on i |
The same capability over plain HTTP is in the cloud API reference, on https://api.hanzo.ai.
All 834 tools · The door · API reference
Generated from tools/list on https://api.hanzo.ai/v1/mcp — 834 tools captured 2026-08-01 (this build read the vendored copy; the door was unreachable).
How is this guide?