Overview
The guide describes parameter combinations the API does not support and explains how to resolve related errors.Retail Price Improvement (RPI) and IOC
RPI orders use post-only behavior by design. An RPI order does not support the IOC flag.Issue
A request sets bothrpi=true and ioc=true.
Result
The API rejects the request and returns error code40.
Fix
Removeioc when using rpi, or disable rpi when IOC behavior is required.
RPI flag without account permission
Sendingrpi=true from a private-API source requires the RPI flag to be enabled on the account.
Issue
A request setsrpi=true from a private-API source, and the account does not have the RPI flag enabled.
Result
The API rejects the request and returns error code43.
Fix
Contact the account manager to enable the RPI flag. After enablement, retry the request.RPI and retail flag
The Retail flag designates an order as a retail-source taker. The RPI flag designates an order as a post-only RPI maker. The two flags cannot be combined on a single order.Issue
A request toPOST /api/v4/order/new or POST /api/v4/order/bulk sets both rpi=true and retail=true.
Result
The API rejects the request and returns error code41. The error payload is {"retail": ["api.tradeErrors.flagsCantBeCombined.rpiRetail"]}.
Fix
Set only one ofrpi or retail per order. Set rpi=true to provide RPI maker liquidity; set retail=true to take RPI liquidity.
Retail flag without account permission
Sendingretail=true from a private-API source requires the Retail flag to be enabled on the account.
Issue
A request toPOST /api/v4/order/new or POST /api/v4/order/bulk sets retail=true from a private-API source, and the account does not have the Retail flag enabled.
Result
The API rejects the request and returns error code42. The error payload is {"retail": ["api.validation.retail.not_allowed"]}.