Successful responses
Every successful response has the same shape:
A few endpoints return a file rather than JSON — downloading a backup or an app’s file. Their pages say so.
Related objects
Many objects point at others — a subscription at itsuser, a server at its datacenter, plan and subscription. Each endpoint decides how much of a related object it sends:
- In full, when the endpoint includes it.
GET /vps/{vmId}, for example, sends the server’s whole plan, datacenter and subscription. - Only its
id, when it does not —"user": { "id": "3f1c…" }. Fetch the object itself if you need more. nullwhen there is nothing to point at, such as a server without the backup add-on.
Errors
Every error has this shape, with a matching HTTP status:
Each endpoint page in the API reference lists the errors it can return, grouped by status.
Validation errors
A request whose body, query or path parameters do not match what the endpoint expects is refused with422 VALIDATION_ERROR. details points at each field that failed:
Common codes
Retrying safely
- Reads (
GET) are always safe to retry. - Power actions and updates (start, stop, restart, renaming, settings) can be retried — doing them twice has the same result as once.
- Anything that charges or creates (
POST /vps,POST /apps,/order,/renew) should not be retried blindly after a timeout. List your servers, apps or transactions first to see whether the first attempt went through.