Skip to main content
POST
TypeScript

Authorizations

Authorization
string
header
required

The Venue key (trdrs_vk_sandbox_… or trdrs_vk_production_…), in preview. It belongs to one venue in one environment and carries the scopes it was created with. The venue's verified owner creates it while signed in. It works on the /api/venues/{venueId} routes and, with trader:read or trader:trade, on the account, market and trading routes, reading the venue's own traders' accounts and routing their orders, each request naming its trader in x-trdrs-trader. A trdrs_sk_… key can't be used in its place. It reaches its venue's routes and its venue's own traders, and the owner manages keys from a signed-in session. Keep it on your server.

Headers

Idempotency-Key
string
required

A key you choose, 1 to 128 characters, that identifies this write. Send the same key when you retry it, so the write is never applied twice.

Required string length: 1 - 128

Path Parameters

venueId
string<uuid>
required

Body

application/json
specification
object
required

The definition of an instrument candidate. Saving it activates nothing and lets no order through. The rules checked across fields: quote and settlement currencies match unless a base-unit perpetual states the supported fixed one-to-one quanto payoff and matches its registered backing contract; a future counts contracts and states its expiry and last trade, and spot counts base units; quantity bounds sit on the step, lotSize is 1 unless the unit is lots, and the multiplier is 1 for base units and equals lotSize for lots. Price ranges in ticks run on from zero with no gap and cover every allowed price, a null bound meaning no end, and only a future may allow negative prices. An instrument that names an entitlement is priced from each trader's own feed, so its pricing.sourceId must be a source trdrs serves per trader (Rithmic today); any other is refused as entitled_source_unserved on instrument.pricing.sourceId, both here and when an older candidate is activated. The weekly calendar lists all seven days once, a holiday replaces the windows of its local opening date (overnight ones included), overlapping windows and daylight-saving times that are ambiguous or don't exist are refused, coverage dates are explicit, and every mapping belongs to this venue and environment.

Response

Success. The response is sent with Cache-Control: no-store, so don't cache it.

instrument
object
required