Skip to main content
A symbol is one product on the board, such as GOLD_TRADE_999. The symbols entity tells your program what it may send in POST /orders before it sends it: the measure of quantity, the sizes your account may order and whether a buy or a sell is offered to you. It carries no price; prices are on Market data. Test and production return the same answer. Each path sits under the test base path /api/trading/test/v1 or the production base path /api/trading/v1:

The symbol object

quantity_rule, when present: quantity_unit follows the symbol’s unit, not its metal: a symbol quoted per 10 gram is ordered in grams, even when its metal is silver. Always read it rather than assuming silver means kilograms.

Read the symbols

200 OK
The list holds every active symbol, sorted by symbol_code. It takes limit (1 to 200, default 50) and offset, like GET /orders.

Read one symbol

200 OK
A symbol that does not exist or is not active answers 404 unknown_symbol.

Checking an order before you send it

With the symbol and quantity_rule in hand, your program can catch most size mistakes locally:
Then check the side: send a buy only when buy_enabled is true, a sell only when sell_enabled is true. This list is a guide; the order check is the authority. An order outside the rule is refused with 400 quantity_rule (the symbol’s own rule) or 400 group_quantity_rule (your account’s trading terms), and a side that is not offered with 403 side_not_offered. Live conditions are not here: trading halts and frozen prices are on Market data and Market status, and your remaining weight on Trading limits.

Test and production

Symbols are not account money, so both environments return the same answer, with the sizes and sides that apply to your account. A test order is checked against the same rules.

Errors

Every code is in the Error reference.