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 occurred 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 queued.
- Too much request weight used; current limit is %s request weight per %s. Please use WebSocket Streams for live updates to avoid polling the API.
- Way too much request weight used; IP banned until %s. Please use WebSocket Streams 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.
- Server is currently overloaded with other requests. Please try again in a few minutes.
- 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.
- Parameter '%s' overflowed.
- 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 parameter '%s' is not valid.
- Invalid JSON Request
- JSON sent for parameter '%s' is not valid
cancelRestrictions
has to be eitherONLY_NEW
orONLY_PARTIALLY_FILLED
.
- 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.
- Order was canceled or expired with no executed qty over 90 days ago and has been archived.
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 is disabled 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. |
"The relationship of the prices for the orders is not correct." | The prices set in the OCO is breaking the Price rules. The rules are: SELL Orders : Limit Price > Last Price > Stop Price BUY Orders : Limit Price < Last Price < Stop Price |
"OCO orders are not supported for this symbol" | OCO is not enabled on the symbol |
"Quote order qty market orders are not support for this symbol." | MARKET orders using the parameter quoteOrderQty are not enabled on the symbol. |
"Trailing stop orders are not supported for this symbol." | Orders using trailingDelta are not enabled on the symbol. |
"Order cancel-replace is not supported for this symbol." | POST /api/v3/order/cancelReplace is not enabled for the symbol. |
"This symbol is not permitted for this account." | Account does not have permission to trade on this symbol. |
"This symbol is restricted for this account." | Account does not have permission to trade on this symbol. |
"Order was not canceled due to cancel restrictions." | Either cancelRestrictions was set to ONLY_NEW but the order status was not NEW or cancelRestrictions was set to ONLY_PARTIALLY_FILLED but the order status was not PARTIALLY_FILLED . |
This code is sent when either the cancellation of the order failed or the new order placement failed but not both.
This code is sent when both the cancellation of the order failed and the new order placement failed.
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: PERCENT_PRICE" | price is X% too high or X% too low from the average weighted price over the last Y minutes. |
"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: ICEBERG_PARTS" | ICEBERG order would break into too many parts; icebergQty is too small. |
"Filter failure: MARKET_LOT_SIZE" | MARKET order's quantity is too high, too low, and/or not following the step size rule for the symbol. |
"Filter failure: MAX_NUM_ORDERS" | Account has too many open orders on the symbol. |
"Filter failure: MAX_NUM_ALGO_ORDERS" | Account has too many open stop loss and/or take profit orders on the symbol. |
"Filter failure: MAX_NUM_ICEBERG_ORDERS" | Account has too many open iceberg orders on the symbol. |
"Filter failure: TRAILING_DELTA" | trailingDelta is not within the defined range of the filter for that order type. |
"Filter failure: EXCHANGE_MAX_NUM_ORDERS" | Account has too many open orders on the exchange. |
"Filter failure: EXCHANGE_MAX_NUM_ALGO_ORDERS" | Account has too many open stop loss and/or take profit orders on the exchange. |