VALIDATION_ERROR | 400 | No | Malformed body, missing field, bad or mixed currency, unsafe integer, or a missing Idempotency-Key. Fix and resend. |
QUANTITY_LIMIT_EXCEEDED | 400 | No | An item qty above 1000. Split into several items or orders. |
DENOMINATION_NOT_SUPPORTED | 400 | No | That amount cannot be served for that product. Use a published denomination. |
PRODUCT_TEMPORARILY_UNAVAILABLE | 400 | After a delay | The product is real but nothing can serve it right now. |
AUTH_INVALID_KEY | 401 | No | Missing headers, unknown key id, or an inactive key. |
AUTH_BAD_SIGNATURE | 401 | No | Malformed X-Signature, wrong signature, or one already used. |
AUTH_TIMESTAMP_SKEW | 401 | No | Timestamp outside ±300 seconds. Fix the clock, not the request. |
SCOPE_FORBIDDEN | 403 | No | Authenticated, but the key lacks the scope for this route. |
ORDER_NOT_FOUND | 404 | No | Unknown id, malformed id, or someone else’s order — deliberately indistinguishable. |
IDEMPOTENCY_KEY_REUSED | 409 | No | Same key, different body. Nothing is created. Use a fresh key for a genuinely new order. |
PARTNER_ORDER_REF_DUPLICATE | 409 | No | That reference already exists. The response carries the existing order_id — treat as already placed. |
ORDER_NOT_IN_RETRIEVABLE_STATE | 409 | Keep polling | The order is not retrievable yet. Expected while PENDING or UNDER_REVIEW; permanent on FAILED or REFUNDED. |
RATE_LIMITED | 429 | Yes | Honour the Retry-After header, in whole seconds, never below 1. |