---
title: "Responses and errors"
description: "Response envelope, error codes by HTTP status and how to branch on error.code."
url: https://www.gyrohosting.com/developers/en/guides/errors.html
language: en
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# Responses and errors

Success: `{"data": …, "meta": {…}}`. Error: `{"error": {"code": "server_not_found", "message": "…", "details": {…}}}`.
Branch on `code`, not on the message (messages follow your account language).

| HTTP | Typical codes |
|---|---|
| 400 | idempotency_key_required, bad_request |
| 401 | missing_token, invalid_token, key_revoked |
| 402 | insufficient_balance |
| 403 | insufficient_scope, ip_not_allowed, orders_disabled |
| 404 | server_not_found, ssh_key_not_found, snapshot_not_found, endpoint_not_found |
| 409 | server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight |
| 422 | confirm_required, invalid_image, invalid_hostname, product_not_orderable, tool_action_failed |
| 429 | rate_limited (see `Retry-After`) |
