400 Bad Request

You will see this error when the server could not understand the request due to invalid syntax. Usually, it occurs when you send an incorrect parameter value or request without corresponding permissions.

Error messageHow to resolve
Not enough balancesThis is the error when you don't have enough balance to place spot orders. Please make sure your account balance is enough, better check account info via GET/account and get free collateral info before placing orders.
Account does not have enough margin for orderThis is the error when you don't have enough margin to place derivatives orders.
Invalid ParameterThis is the most common type of error. Please follow the field prompts in the API documentation and post the appropriate parameters. Note that reduce-only only applies to futures, and can't be used to initial positions.
Size too largeThe max order size limit exists at 99,999,999 per order
Size too smallSize can not be less than size increment.
Size too small for providePlease refer to the link below for more details about min order size:https://help.ftx.com/hc/en-us/articles/360027946651-Order-Limits-and-Price-Bands
Duplicate client order IDThe client order ids are unique for all time on a per subaccount basis. This means that if you try to place an order with the same client_order_id in the main account or any subaccount more than once, you will receive a "Duplicate client order ID" error message. To maintain uniqueness, you could concatenate a few different identifiers per order such as date/time, market, and subaccount name.
Order Already ClosedYou're not able to cancel or modify orders that are already closed, please check the order status before the request is sent.
Order Already Queued for cancellationPlease do not cancel the order that has already been queued.
Missing Parameter xxxPlease check your post body and throw it in JSON, also make sure all the required parameters are included.
Can only withdraw to whitelisted destinationsPlease make sure the address was well-whitelisted. For more info about address whitelist please refer to this article: https://help.ftx.com/hc/en-us/articles/8847474347156-Whitelisting-Withdrawal-Addresses
Withdrawals are disabled for userPlease submit a ticket via ftx.com/support to let support team have a further look.
Have overall negative balance across all accountsPlease settle your negative balance before withdrawing.
Please wait 1 day after changing account accessFor security reasons your account withdrawal will be disabled for 1 day after changing account access, please note subaccount access changing will also affect the master account.
Withdrawals are not enabledPlease submit a ticket via ftx.com/support to let support team have a further look.
Cannot transfer between subaccounts right nowPlease submit a ticket via ftx.com/support to let support team have a further look.
Not allowed with internal-transfers-disabled permissionsPlease submit a ticket via ftx.com/support to let support team have a further look.
Invalid login credentialsIn this case make sure that your code is correct by referring to the example in below link and also check your timestamp against our server’s timestamp using this endpoint
Detailed authentication example:https://blog.ftx.com/blog/api-authentication/
Server time: https://otc.ftx.com/api/time

Would place order after its rejectAfterTsYou'll get this error when the order would be put into the placement queue after the rejectAfterTs timestamp you specified in the order placement request. More info about how to use rejectAfterTs please refer to the link below: