Operate
Errors & rate limits
Status codes, error bodies and limits.
Errors are JSON with a human-readable error, and often a machine-readable code.
| Status | When |
|---|---|
400 | Invalid payload — details lists the problems (e.g. an unknown cardType with a suggestion). |
401 | Missing, wrong or revoked API key. |
404 | Not a trade in your project. |
409 | A conflict: bot_paused (bot switched off), bot_control_refused, conflict or not_escalated on resolve. |
429 | Rate limited — wait retryAfter seconds (also in the Retry-After header). |
Rate limits#
120 requests per minute per project. Creating the same trade twice is safe — it’s idempotent on externalRef — so retrying after a network error never duplicates a sale.