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
routeId
string
required

Your id for the route.

name
string
required
mode
enum<string>
required

internal fills on the paper book; external sends orders to a provider account.

Available options:
internal,
external
connectionId
string<uuid> | null
required

The provider connection an external route uses. Required for external, and must be absent for internal.

externalAccountId
string | null
required

The dedicated provider account an external route trades in. Required for external, and must be absent for internal.

state
enum<string>
required

retired stops new groups taking the route and keeps it serving the groups already on it.

Available options:
offered,
retired
collar
object
required

How far past a fresh quote a fill may still be accepted. Leaving it out means zero adverse ticks, the strictest collar, not no collar.

feeReservePerUnit
string
required

An exact decimal string, such as "12.5", with at most 18 digits after the point and no exponent.

uncappedMarketAllowed
boolean
required

Whether a market order may go out with no price cap, leaving the protection to the provider. It defaults to false and is refused on an internal route, where the collar is the protection.

expectedRevision
integer | null
required

Null to create the route, then its current revision.

Required range: x >= 1

Response

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

route
object
required

Where a group's orders go, and what protects an order sent there. An external route names both its provider connection and the dedicated account there; an internal route, on the paper book, names neither. version is recorded with each order, so every fill traces back to the exact route it was sent under.