Example error
code to handle errors in your integration. message is a description for people and can change, so don’t match on it. When an error relates to a specific field, param names that field. When the broker or the exchange rejects an order, an application or an allocation, reject_reason gives the reason.
invalid_request
400 invalid_request_error
The request could not be read.
missing_required_field
400 invalid_request_error
A required field is missing.
unknown_account
400 invalid_request_error
That account is not one of yours.
unauthorized
401 authentication_error
Invalid credentials.
allocation_not_found
404 invalid_request_error
No such allocation.
application_not_found
404 invalid_request_error
No such application.
not_found
404 invalid_request_error
No such path on this API. Check the path against the contract.
order_not_found
404 invalid_request_error
No such order.
method_not_allowed
405 invalid_request_error
That method is not allowed on this path.
account_not_at_broker
409 invalid_request_error
The broker does not recognise this account. Contact us: this is ours to fix.
duplicate_allocation
409 idempotency_error
This Idempotency-Key already belongs to a different allocation.
duplicate_application
409 idempotency_error
This Idempotency-Key already belongs to a different application.
duplicate_order
409 idempotency_error
This Idempotency-Key already belongs to a different order.
order_not_cancelable
409 order_error
This order cannot be cancelled.
similar_order_unresolved
409 order_error
An identical order on this account is not yet resolved.
request_too_large
413 invalid_request_error
That body is larger than any request to this API can be.
unsupported_media_type
415 invalid_request_error
Content-Type must be application/json.
allocation_rejected
422 wallet_error
The broker rejected this allocation; its amount is back in the wallet.
application_rejected
422 application_error
The broker rejected this application.
limit_exceeded
422 limit_error
This would take today’s total past your limit. Nothing was written and nothing was sent.
order_rejected
422 order_error
The exchange rejected this order.
unknown_symbol
422 order_error
The exchange does not list this symbol. Nothing was written and nothing was sent.
wallet_too_low
422 wallet_error
The wallet does not hold that much. Nothing was written and nothing was sent.
rate_limited
429 rate_limit_error
Too many requests. Nothing was done. Send the same request again after the Retry-After seconds.
internal_error
500 api_error
Something went wrong on our side. Retry the same request exactly as you sent it.
exchange_error
502 api_error
The exchange’s answer could not be used. Nothing was changed. Asking again will not change it: contact us.
allocation_not_sent
503 api_error
The allocation was written down but could not be sent, and never reached the broker.
application_not_sent
503 api_error
The application was written down but could not be sent, and never reached the broker.
cancel_unconfirmed
503 api_error
The cancel may not have reached the exchange. Send it again: asking twice is harmless.
exchange_unavailable
503 api_error
The exchange cannot be reached right now. Nothing was written and nothing was sent. Retry with the same Idempotency-Key.
order_not_sent
503 api_error
The order was written down but could not be sent, and never reached the exchange.
service_unavailable
503 api_error
The gateway cannot serve this request right now. Retry the same request; nothing here was changed.
settlement_lockout
503 api_error
The exchange is settling the day’s trades. Ask again after the Retry-After seconds.
Reject reasons
When you receiveorder_rejected, or an order is in the rejected state, reject_reason has one of these values.