Errors & status codes
| Status | Meaning | Typical error |
|---|---|---|
200 | OK | — |
201 | Created (instance created, order placed, key created) | — |
400 | Bad request — missing/invalid fields, instance not RUNNING, no runner assigned, invalid JSON | Missing required fields: symbol, type, volume |
401 | Auth failed — missing/invalid/inactive/expired key, suspended account, no credits | Invalid API key / Account has no credits remaining |
403 | Forbidden — instance limit reached, accessing another account's resource | Instance limit reached (5) |
404 | Not found — instance/order/position/key not found or not yours | Instance not found |
409 | Conflict — instance already exists, connection state conflict | An instance with this account ID already exists |
500 | Internal error | Failed to place order |
503 | Service unavailable — no available runner, or the runner is offline | Runner is not connected |
504 | Gateway timeout — runner accepted the command but didn't respond in time (outcome unknown) | Broker request timed out… |
Important on
504: for order placement, a504means the command reached the runner but no response came back within the timeout. The order may have executed. Do not blindly retry — reconcile via get positions / get orders first, or send every order write with anIdempotency-Keyand retry with the same key.