Hippius Management API
The Hippius Management API is a REST API for managing your account, S3 tokens, billing and compute programmatically. Use it to automate token rotation, check the balance, subscribe to a plan, or provision storage on demand.
What It Does
The Management API handles everything outside of the S3 data plane:
| Area | What you can do |
|---|---|
| Token management | Create, list, rotate, and revoke master and sub tokens |
| Billing | Check the balance, top up, subscribe to Drive / S3 / Hub plans from the existing balance |
| Account | Manage account settings and access keys |
| Compute | Create and manage VMs, managed databases and Kubernetes clusters. See Compute API |
For storing and retrieving files, start with Getting Started and Advanced Usage. The Management API is the control plane: it manages who can access storage and how much they can use.
Interactive Docs
The full API specification with request/response examples is available as an interactive Swagger UI:
Use Cases
- CI/CD pipelines — Create short-lived sub tokens scoped to a single bucket for deployments, then revoke them automatically
- Multi-tenant apps — Provision a bucket and scoped token per customer from your backend
- Billing automation — Check the balance, top up, and subscribe to a plan without a browser
- AI agents & LLMs — Automate storage operations end-to-end without manual console interaction
A machine-readable index is at docs.hippius.com/llms.txt. It points at each product's own llms.txt. The long S3 ingest is docs.hippius.com/llms-full.txt.
Authentication
Management API requests need an access token. Generate one in the Hippius Console under Settings, and send it in the Authorization header:
curl -H "Authorization: Token YOUR_TOKEN" https://api.hippius.com/api/accounts/
A few catalogue reads need no token, for example the compute sizes and prices at GET /api/compute/flavors/ and the plans at GET /api/s3/plans/ and GET /api/drive/plans/. To act in an account shared with you, add the header X-Hippius-Account: acct_.... See Shared accounts.
Compute API
Virtual machines, managed databases and Kubernetes clusters are driven through the same API.
- Base URL:
https://api.hippius.com/api. VMs are under/compute/, databases under/databases/, Kubernetes under/kubernetes/. - Authentication:
Authorization: Token YOUR_TOKEN, as above. AddX-Hippius-Account: acct_...to act in a shared account. - Specification: the OpenAPI (Swagger 2.0) document is at api.hippius.com/swagger.json, with the endpoints and their fields.
To create a VM and connect to it:
API=https://api.hippius.com/api
AUTH="Authorization: Token YOUR_TOKEN"
# 1. Pick a size, an image and a region, and find your SSH key's id
curl -s -H "$AUTH" $API/compute/flavors/
curl -s -H "$AUTH" $API/compute/images/
curl -s -H "$AUTH" $API/compute/regions/
curl -s -H "$AUTH" $API/ssh-keys/
# 2. Launch it: 202 Accepted, with the VM and its vm_id
curl -s -H "$AUTH" -H "Content-Type: application/json" \
-d '{"name": "web-1", "flavor": "small", "region": "FR", "ssh_key_ids": [123]}' \
$API/compute/vms/
# 3. Poll until it is up
curl -s -H "$AUTH" $API/compute/vms/VM_ID/
flavor and an SSH key are required: the ids of saved keys in ssh_key_ids (up to 20), or a key itself in ssh_public_key. Without image the size's default image is used, and without region one is picked for you. While the VM boots, progress shows the current step and boot_phase goes from booting to kek_released and running. Once netbird_ip is set, SSH to it from a device on your private network, or to public_ip if you launched with "public_ip": true and a firewall rule opens port 22.
A VM has two state fields:
statusis its lifecycle:pending,provisioning,running,failed,decommissioning,decommissioned. A VM is billed while it isrunning, including when it is stopped.power_statesays whether it is on:running,stopping,stoppedorstarting, empty until reported, andoffonce the VM is deleted. A stopped VM staysrunningunderstatus.
Some HTTP clients' default User-Agent is blocked in front of the API, with 403 and error code: 1010. Python's urllib is one. Send your own User-Agent header, for example my-deploy-script/1.0.
Related
- S3 Quickstart: first upload
- Advanced Usage — Presigned URLs, ACLs, public buckets, sub-tokens
- S3 Compatibility Matrix — Supported S3 operations