Skip to main content
Every error has the same shape. It says what was wrong, gives one way to fix it, and says whether retrying can help.

Nothing happened

An error response means nothing was recorded, so you can always fix the request and send it again. There is one exception. After 503 or 500, the order may have been recorded just before the failure, so retry with the same client_order_id (Retries and idempotency explains why that is safe). Problems that happen after an order is recorded, such as the exchange refusing it, are not errors. You get the order back with status: "rejected" and a status_reason. See Orders.

Deciding what to do

Several problems at once

When more than one field is wrong, you get every problem in one response, so you can fix them all at once:
A preview (POST /v1/orders/preview) returns the same list without the error status, and also checks your key’s limits and balance. The error reference lists every code.