Errors & responses
Every response is JSON. Success uses status true; failures carry an HTTP error code and a message.
Status codes
| Code | Meaning | When |
|---|---|---|
| 201 | Created | The order was recorded successfully. |
| 401 | Unauthorized | Missing, invalid, or disabled API credentials. |
| 422 | Unprocessable | Validation failed — a field is missing or invalid. |
| 423 | Locked | Your account is suspended or under emergency halt; intake is blocked. |
| 429 | Too Many Requests | Rate limit exceeded (60/minute). |
401 — Bad credentials
{ "status": false, "message": "Invalid API credentials." }
422 — Validation failed
{
"status": false,
"message": "validation failed",
"errors": {
"total_amount": ["The total amount must be greater than 0."],
"splits": ["The splits field is required."]
}
}
423 — Account halted
{
"success": false,
"message": "Order intake is blocked: the partner account is suspended or under emergency halt."
}
⚠️ A 423 is recoverable: clear the emergency halt from your dashboard Settings, then retry. Use idempotency so retries never double-record an order.