Errors consist of two parts: an error code and a message. Codes are universal, but messages can vary. Here is the error JSON payload:
{
"code":-1121,
"msg":"Invalid symbol."
}
- An unknown error occured while processing the request.
- Internal error; unable to process your request. Please try again.
- You are not authorized to execute this request.
- Too many requests; please use the websocket for live updates.
- Too many requests; current limit is %s requests per minute. Please use the websocket for live updates to avoid polling the API.
- Way too many requests; IP banned until %s. Please use the websocket for live updates to avoid bans.
- An unexpected response was received from the message bus. Execution status unknown.
- Timeout waiting for response from backend server. Send status unknown; execution status unknown.
- Unsupported order combination.
- Too many new orders.
- Too many new orders; current limit is %s orders per %s.
- This service is no longer available.
- This operation is not supported.
- Timestamp for this request is outside of the recvWindow.
- Timestamp for this request was 1000ms ahead of the server's time.
- Signature for this request is not valid.
- Illegal characters found in a parameter.
- Illegal characters found in parameter '%s'; legal range is '%s'.
- Too many parameters sent for this endpoint.
- Too many parameters; expected '%s' and received '%s'.
- Duplicate values for a parameter detected.
- A mandatory parameter was not sent, was empty/null, or malformed.
- Mandatory parameter '%s' was not sent, was empty/null, or malformed.
- Param '%s' or '%s' must be sent, but both were empty/null!
- An unknown parameter was sent.
- Not all sent parameters were read.
- Not all sent parameters were read; read '%s' parameter(s) but was sent '%s'.
- A parameter was empty.
- Parameter '%s' was empty.
- A parameter was sent when not required.
- Parameter '%s' sent when not required.
- Precision is over the maximum defined for this asset.
- No orders on book for symbol.
- TimeInForce parameter sent when not required.
- Invalid timeInForce.
- Invalid orderType.
- Invalid side.
- New client order ID was empty.
- Original client order ID was empty.
- Invalid interval.
- Invalid symbol.
- This listenKey does not exist.
- Lookup interval is too big.
- More than %s hours between startTime and endTime.
- Combination of optional parameters invalid.
- Invalid data sent for a parameter.
- Data sent for paramter '%s' is not valid.
- NEW_ORDER_REJECTED
- CANCEL_REJECTED
- Order does not exist.
- API-key format invalid.
- Invalid API-key, IP, or permissions for action.
- No trading window could be found for the symbol. Try ticker/24hrs instead.
This code is sent when an error has been returned by the matching engine. The following messages which will indicate the specific error:
Error message | Description |
---|---|
"Unknown order sent." | The order (by either orderId , clOrdId , origClOrdId ) could not be found |
"Duplicate order sent." | The clOrdId is already in use |
"Market is closed." | The symbol is not trading |
"Account has insufficient balance for requested action." | Not enough funds to complete the action |
"Market orders are not supported for this symbol." | MARKET is not enabled on the symbol |
"Iceberg orders are not supported for this symbol." | icebergQty is not enabled on the symbol |
"Stop loss orders are not supported for this symbol." | STOP_LOSS is not enabled on the symbol |
"Stop loss limit orders are not supported for this symbol." | STOP_LOSS_LIMIT is not enabled on the symbol |
"Take profit orders are not supported for this symbol." | TAKE_PROFIT is not enabled on the symbol |
"Take profit limit orders are not supported for this symbol." | TAKE_PROFIT_LIMIT is not enabled on the symbol |
"Price * QTY is zero or less." | price * quantity is too low |
"IcebergQty exceeds QTY." | icebergQty must be less than the order quantity |
"This action disabled is on this account." | Contact customer support; some actions have been disabled on the account. |
"Unsupported order combination" | The orderType , timeInForce , stopPrice , and/or icebergQty combination isn't allowed. |
"Order would trigger immediately." | The order's stop price is not valid when compared to the last traded price. |
"Cancel order is invalid. Check origClOrdId and orderId." | No origClOrdId or orderId was sent in. |
"Order would immediately match and take." | LIMIT_MAKER order type would immediately match and trade, and not be a pure maker order. |
Error message | Description |
---|---|
"Filter failure: PRICE_FILTER" | price is too high, too low, and/or not following the tick size rule for the symbol. |
"Filter failure: LOT_SIZE" | quantity is too high, too low, and/or not following the step size rule for the symbol. |
"Filter failure: MIN_NOTIONAL" | price * quantity is too low to be a valid order for the symbol. |
"Filter failure: MAX_NUM_ORDERS" | Account has too many open orders on the symbol. |
"Filter failure: MAX_ALGO_ORDERS" | Account has too many open stop loss and/or take profit orders on the symbol. |
"Filter failure: EXCHANGE_MAX_NUM_ORDERS" | Account has too many open orders on the exchange. |
"Filter failure: EXCHANGE_MAX_ALGO_ORDERS" | Account has too many open stop loss and/or take profit orders on the exchange. |
"Filter failure: ICEBERG_PARTS" | Iceberg order would break into too many parts; icebergQty is too small. |