environment filter is required.
Catalog coverage does not imply that a connected broker supports trading every listed asset class or venue. Check broker capabilities before submitting an intent.
Endpoints
Filtering and pagination
Listings default tostatus=ACTIVE, sort_direction=Asc, and limit=50. Limits are clamped to 1 through 500. Other status values are INACTIVE, EXPIRED, and DELISTED. Asset classes and statuses use uppercase wire values.
Use asset_class, venue, and symbol for an exact instrument lookup. Class-specific filters include root, underlying, base_asset, quote_asset, and settlement. Text filters are trimmed; blank values are ignored. settlement is normalized to uppercase. Symbols and venues retain their own spelling.
expires_after is an inclusive RFC 3339 lower bound, and expires_before is an exclusive upper bound. Instruments without an expiry do not match either bound. A lower bound at or after the upper bound returns 400.
The response contains data and next_cursor. Pass a non-null cursor unchanged with the same filters and sort direction. Stop when it is null. Lowercase asc and desc are also accepted.
Instrument identity and aliases
AnInstrumentRecord contains instrument_id, status, instrument, created_at, updated_at, and last_seen_at. The UUID is stable across symbol renames. last_seen_at records the last catalog refresh that confirmed the instrument.
The nested instrument is tagged by asset_class. Its fields depend on that class, such as an equity’s exchange or a futures contract’s multiplier and expiration. Prices and quantities use decimal strings.
Alias resolution requires both source and source_symbol. Send the vendor’s exact spelling; a symbol without its source is ambiguous. Missing or blank parameters return 400; an unknown alias or instrument ID returns 404.
An optional instrument on a broker event carries resolved metadata. An absent value means unknown metadata, not an equity assumption. The order’s symbol remains its routing spelling.