Skip to main content
GET
TypeScript

Authorizations

Authorization
string
header
required

The Trading API key (trdrs_sk_…), for market data, orders and account state on the accounts its owner holds. Use it server-to-server, and keep it on your server. Its scope is named trading in the API.

Query Parameters

provider
string
required

The provider the account is at, such as rithmic or paper. An unknown value is refused with 400.

account
string

The account number at that provider. It must be one of your own accounts, or the call is refused with 400. Omit it to use your default account there.

instrument
string
required

The symbol to match, as a chart or symbol search names it (ES1!, CME:ESZ2026, BINANCE:BTCUSDT).

Response

The match. A refused market carries its refusal; see refusal for each code.

Whether the account trades a market, and as which contract, or why it doesn't. Every order is refused by this same judgment before anything else is checked, so a market it calls untradable is one no order is accepted on. The account's holds, its locks and the price of the moment are not part of it: the account stream's gates and GET /api/trading/actions state those.

instrument
string
required

The symbol as you asked about it, or as the account holds it.

market
string | null
required

The market key the symbol names, or null where it names no market.

type
string | null
required

The market's class, with the values symbol search returns, or the symbol's own type where its feed states one (index). Null where nothing states it.

tradable
boolean
required

True when the account trades the market now.

contract
string | null
required

The instrument an order on the market trades: the dated contract a continuous future names now (CME:ESZ2026), and the market itself otherwise. An order on a continuous future trades this contract. Null where the match refuses, and where the order is sent as written for the provider to resolve: a continuous future no rule here names a contract for, and any market of a provider whose markets trdrs doesn't list.

rollAt
string<date-time> | null
required

When contract stops being the one a continuous future names, where that is known.

refusal
object | null
required

Why the account doesn't trade the market now, or null when it does:

  • unknown_instrument: the symbol names no market. An index or a venue's published data series is data only.
  • asset_class_not_supported: the account's provider doesn't route the class, or trading in it is switched off.
  • instrument_not_offered: the account doesn't trade the market. Where it trades its own market on the same asset, alternative names it.
  • entry_halted, venue_route_missing, venue_route_retired, instrument_not_permitted, venue_instrument_disabled and venue_instrument_expired: the account's venue holds the market closed to new entries.
  • The account's risk policy's own code, where it states no terms for the market.
  • bare_root_unresolved, contract_past_safe_window and contract_dates_uncovered: the provider's rule can't name a futures contract to trade now.
checkedAt
integer
required

When the match was worked out, in epoch seconds.