Skip to main content

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 both rpi=true and ioc=true.

Result

The API rejects the request and returns error code 40.

Fix

Remove ioc when using rpi, or disable rpi when IOC behavior is required.

RPI flag without account permission

Sending rpi=true from a private-API source requires the RPI flag to be enabled on the account.

Issue

A request sets rpi=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 code 43.

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 to POST /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 code 41. The error payload is {"retail": ["api.tradeErrors.flagsCantBeCombined.rpiRetail"]}.

Fix

Set only one of rpi or retail per order. Set rpi=true to provide RPI maker liquidity; set retail=true to take RPI liquidity.

Retail flag without account permission

Sending retail=true from a private-API source requires the Retail flag to be enabled on the account.

Issue

A request to POST /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 code 42. The error payload is {"retail": ["api.validation.retail.not_allowed"]}.

Fix

Contact the account manager to enable the Retail flag. After enablement, retry the request.