The four operations
There is no update operation. A volume’s name is fixed at creation, and there is no rename, resize, or patch call in the SDK or on the REST API. To change a name, create a new volume and copy the data through a box that mounts both.
Prerequisites
- An API key from the console, exported as
BOXLITE_API_KEY. See API keys. pip install boxlitefor Python ornpm install @boxlite-ai/boxlitefor Node, and the REST URL exported asBOXLITE_REST_URL. See Quickstart.- A REST runtime. Managed volumes need one — a local runtime has no volume backend.
All four in one script
This creates a volume, finds it in the listing, reads it back by id, then deletes it and waits for reclamation.Deletion is asynchronous
remove() returns nothing and DELETE /v1/volumes/{id} returns 204 — both are acknowledgements, not completed deletions. Immediately afterwards:
- A REST read of that volume returns
200with astateofpending_delete— not a404. - A listing can still include the volume for a short window.
- Reclamation finishes on the platform’s own cycle.
404. Poll with a bounded timeout and treat “gone from the listing” as done, as the script above does.
Deleting a volume that a running box still has mounted does not corrupt that box. The box stays usable.
State the SDK does not expose
Two fields reach the REST API but stop at the SDK. Read them over REST when you need them.state is one of creating, ready, pending_create, pending_delete, deleting, deleted, or error.
Creating a volume already waits for it to become ready before returning, so a volume you just created is mountable. Poll state when you are adopting a volume you did not create, or diagnosing one that is misbehaving.
Troubleshooting
Next steps
Mount a volume
Create one and actually use it: mount, write, read back.
Reference
Every parameter and return shape, name-versus-id addressing, and read-only mounts.

