Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol.
A futures root, a continuous symbol such as ES1! or ES2!, and a dated contract such as CME:ESZ2026 or ESZ6 share their product’s details, and each is named for what it is: E-mini S&P 500, E-mini S&P 500 continuous front month, E-mini S&P 500 Dec 2026.
Required key: Trading API key. A Connect app’s backend can also send it with the app’s API key, and a venue’s backend with its Venue key, which carries trader:read or trader:trade, each naming one of its own traders in x-trdrs-trader: it then runs on that trader’s own accounts.
GET
/
api
/
market
/
symbol-info
TypeScript
const res = await fetch('https://app.trdrs.co/api/market/symbol-info?symbol=ESU6', {
headers: { Authorization: `Bearer ${process.env.TRDRS_API_KEY}` },
})
const data = await res.json()
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.
The symbol, or a spread expression as /api/market/history accepts. A spread resolves as type spread, with no tick and no quotes. A string that exactly matches a catalog symbol is always that symbol, never arithmetic.
Response
The symbol's details. A known symbol with no feed set up still resolves, with provider null.
Everything you need to display and chart one symbol: its identity, how its prices are written, and its trading sessions and holidays.
The timeframes this symbol's feed serves. Empty means the feed serves any timeframe the format from /api/market/config accepts, rather than a short list that would promise less than it serves.
The weekly session in exchange time, as HHMM-HHMM. A trading-day suffix (1 is Sunday through 7 is Saturday) marks a session that opens on the previous calendar day, and 24x7 marks a market that never closes.
How live the data is for you. streaming means a real-time feed serves the symbol. delayed_streaming means your feed sends prices the exchange has delayed: show them as delayed, because they never count as real time. endofday means no feed serves it.
The market key the symbol names: the one name of the market an order trades, whichever feed or provider names the symbol. A perpetual is its registered symbol (HYPERLIQUID:BTC), a dated future its contract (CME:ESZ2026, from ESZ6, ESZ2026 or CME_MINI:ESZ2026), a continuous future its product and position (CME:ES1!, and CME:ES2!; a root such as ES names position 1), and a CFD its contract. An account's markets are matched by it, so two symbols with the same key are the same market. Null for a symbol that names no market: a venue's published data series, a spread, or a futures root trdrs holds no contract specification for. It is data only, and no account trades it.
The ticker a builder-deployed Hyperliquid market is read by, as symbol search writes it in each row's displaySymbol. Present only for builder-deployed markets.
The full name of the builder-deployed perp dex that lists the market, as symbol search writes it in each row's dex. Present only for builder-deployed markets.
The trading days whose hours differ from the weekly session, as semicolon-separated hours:dates entries. The hours use the same format as session, without a trading-day suffix: a start later than the end opens on the previous calendar day, and hours that run to midnight end at 0000. The dates are an ordered, comma-separated YYYYMMDD list. Full closures are never listed here, because they are in sessionHolidays. Present only when the served calendar holds a shortened trading day.
The named sessions of a market that keeps extended hours: regular, extended, premarket and postmarket. For a stock, the regular entry has the same hours as session, and the extended hours appear only here. For a future, the extended entry has the same hours as session, and the regular entry states the regular trading hours inside it. Read pre-market and post-market status and extended-hours shading from here. Present for stocks and futures, and absent for FX, crypto and spreads, which have one session with no named parts.
The quote currency: an ISO 4217 code for a market quoted in money, or the quote asset the provider declares for a perpetual margined in a stablecoin. Absent when the instrument declares none.
The holiday calendar for the symbol's session model, for futures and stocks. It is absent for FX and crypto. Dates are exchange-local YYYY-MM-DD, an empty list of stretches is a full closure, and a date that isn't listed follows the weekday rules. trdrs keeps this calendar up to date every year, so your client never ships its own calendar updates.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"trdrs Engine API","description":"Market data, trading and venue infrastructure: programmatic trading and business integrations through one documented API.","colors":{"primary":"#0a0a0a","light":"#fafafa","dark":"#0a0a0a"},"logo":{"light":"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50","dark":"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50"},"favicon":"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#ffffff","dark":"#0f0f0f"}},"navbar":{"links":[{"href":"https://trdrs.co/developers","label":"Developers"},{"href":"https://sandbox.trdrs.co/settings/api","label":"Sandbox"}],"primary":{"type":"button","label":"Get started","href":"/build"}},"fonts":{"family":"Inter"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"trdrs","hasAudioNarration":false,"actualSubdomain":"trdrs","customDomains":["docs.trdrs.co"],"gitSource":{"type":"github","owner":"trdrsco","repo":"trdrs-engine","deployBranch":"main","contentDirectory":"packages/developer-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adbde8f6c84e39c25185fdc","collectionId":"e0e8309c-fda2-4a24-b382-2e7b63e94f0a","liveDeploymentHistoryId":"6adbde8f6c84e39c25185fdc","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6adec344531268f76f8b6d66","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API reference","count":163},{"language":"default","tag":"Endpoints","count":162},{"language":"default","tag":"Venues","count":117},{"language":"default","tag":"Guides","count":47},{"language":"default","tag":"Trading","count":46},{"language":"default","tag":"Connect","count":21},{"language":"default","tag":"Get started","count":20},{"language":"default","tag":"Venue accounts","count":20},{"language":"default","tag":"Market data","count":18},{"language":"default","tag":"Orders","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html{font-size:90%}"}],"page":{"pagePath":"api-reference/market-data/get-symbol-details","slug":"/api-reference/market-data/get-symbol-details","pageMetadata":{"title":"Get symbol details","description":"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol.\n\nA futures root, a continuous symbol such as `ES1!` or `ES2!`, and a dated contract such as `CME:ESZ2026` or `ESZ6` share their product’s details, and each is named for what it is: `E-mini S\u0026P 500`, `E-mini S\u0026P 500 continuous front month`, `E-mini S\u0026P 500 Dec 2026`.\n\nRequired key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries `trader:read` or `trader:trade`, each naming one of its own traders in `x-trdrs-trader`: it then runs on that trader's own accounts.","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/symbol-info","href":"/api-reference/market-data/get-symbol-details","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A futures root, a continuous symbol such as \", _jsx(_components.code, {\n children: \"ES1!\"\n }), \" or \", _jsx(_components.code, {\n children: \"ES2!\"\n }), \", and a dated contract such as \", _jsx(_components.code, {\n children: \"CME:ESZ2026\"\n }), \" or \", _jsx(_components.code, {\n children: \"ESZ6\"\n }), \" share their product’s details, and each is named for what it is: \", _jsx(_components.code, {\n children: \"E-mini S\u0026P 500\"\n }), \", \", _jsx(_components.code, {\n children: \"E-mini S\u0026P 500 continuous front month\"\n }), \", \", _jsx(_components.code, {\n children: \"E-mini S\u0026P 500 Dec 2026\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Required key: Trading API key. A Connect app’s backend can also send it with the app’s API key, and a venue’s backend with its Venue key, which carries \", _jsx(_components.code, {\n children: \"trader:read\"\n }), \" or \", _jsx(_components.code, {\n children: \"trader:trade\"\n }), \", each naming one of its own traders in \", _jsx(_components.code, {\n children: \"x-trdrs-trader\"\n }), \": it then runs on that trader’s own accounts.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get symbol details","description":"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol.\n\nA futures root, a continuous symbol such as `ES1!` or `ES2!`, and a dated contract such as `CME:ESZ2026` or `ESZ6` share their product’s details, and each is named for what it is: `E-mini S\u0026P 500`, `E-mini S\u0026P 500 continuous front month`, `E-mini S\u0026P 500 Dec 2026`.\n\nRequired key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries `trader:read` or `trader:trade`, each naming one of its own traders in `x-trdrs-trader`: it then runs on that trader's own accounts.","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/symbol-info","href":"/api-reference/market-data/get-symbol-details","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Market data"],"summary":"Get symbol details","security":["93a62f4e-7f3a-4cf8-9c47-94805f2d43d0","0fd628a7-b77f-46c5-a1c1-38cacffb0db9","de6904c9-aab3-4062-a1ff-ff94d4521f65"],"description":"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol.\n\nA futures root, a continuous symbol such as `ES1!` or `ES2!`, and a dated contract such as `CME:ESZ2026` or `ESZ6` share their product’s details, and each is named for what it is: `E-mini S\u0026P 500`, `E-mini S\u0026P 500 continuous front month`, `E-mini S\u0026P 500 Dec 2026`.\n\nRequired key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries `trader:read` or `trader:trade`, each naming one of its own traders in `x-trdrs-trader`: it then runs on that trader's own accounts.","parameters":["adf53676-c6b1-435d-b9d7-5ba0d3ab6d17"],"responses":{"200":"4067a69a-52bf-4a78-bd8a-b58436e99424","400":"d6221170-e852-4daf-b630-e823187b5676","401":"505867b2-356f-448c-b2ed-a85cc7cddb7c","404":"59d5bf1e-e5ea-4a35-9cc4-2b1612798386","429":"c2968059-ad6e-4d96-b9e7-9a5cf56e5886"},"x-codeSamples":[{"lang":"javascript","label":"TypeScript","source":"const res = await fetch('https://app.trdrs.co/api/market/symbol-info?symbol=ESU6', {\n headers: { Authorization: `Bearer ${process.env.TRDRS_API_KEY}` },\n})\nconst data = await res.json()"},{"lang":"shell","label":"cURL","source":"curl 'https://app.trdrs.co/api/market/symbol-info?symbol=ESU6' \\\n -H \"Authorization: Bearer $TRDRS_API_KEY\""}],"method":"get","type":"path","servers":["deea1f89-6e7f-4694-a35b-0824c194126c","3a3d6625-9250-40d2-9464-92c2f83e4ef6"],"path":"/api/market/symbol-info","baseUrlOptions":["https://app.trdrs.co","/"],"title":"Get symbol details","codeSamples":[{"label":"TypeScript","lang":"javascript","source":"const res = await fetch('https://app.trdrs.co/api/market/symbol-info?symbol=ESU6', {\n headers: { Authorization: `Bearer ${process.env.TRDRS_API_KEY}` },\n})\nconst data = await res.json()"},{"label":"cURL","lang":"shell","source":"curl 'https://app.trdrs.co/api/market/symbol-info?symbol=ESU6' \\\n -H \"Authorization: Bearer $TRDRS_API_KEY\""}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"adf53676-c6b1-435d-b9d7-5ba0d3ab6d17":{"name":"symbol","in":"query","required":true,"schema":{"type":"string","isRequired":true,"description":"The symbol, or a spread expression as `/api/market/history` accepts. A spread resolves as type `spread`, with no tick and no quotes. A string that exactly matches a catalog symbol is always that symbol, never arithmetic.","uniqueKey":"","typeLabel":"string"},"description":"The symbol, or a spread expression as `/api/market/history` accepts. A spread resolves as type `spread`, with no tick and no quotes. A string that exactly matches a catalog symbol is always that symbol, never arithmetic."}},"responses":{"4067a69a-52bf-4a78-bd8a-b58436e99424":{"description":"The symbol's details. A known symbol with no feed set up still resolves, with `provider` null.","content":{"application/json":{"schema":{"type":"object","description":"Everything you need to display and chart one symbol: its identity, how its prices are written, and its trading sessions and holidays.","properties":{"symbol":{"type":"string","description":"The symbol as you asked for it.","isRequired":true,"uniqueKey":"symbol","typeLabel":"string"},"name":{"type":"string","description":"The short display name.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"ticker":{"type":"string","description":"The symbol id to use in every later call, to resolve or subscribe.","isRequired":true,"uniqueKey":"ticker","typeLabel":"string"},"description":{"type":"string","description":"The long display name.","isRequired":true,"uniqueKey":"description","typeLabel":"string"},"exchange":{"type":"string","description":"The exchange the symbol trades on.","isRequired":true,"uniqueKey":"exchange","typeLabel":"string"},"listedExchange":{"type":"string","description":"The exchange that lists the symbol.","isRequired":true,"uniqueKey":"listedExchange","typeLabel":"string"},"type":{"type":"string","description":"The kind of instrument, as symbol search writes it in each row's `type`. A spread expression resolves as `spread`.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"supportedResolutions":{"type":"array","items":{"type":"string","uniqueKey":"supportedResolutions.items.[INDEX]","typeLabel":"string"},"description":"The timeframes this symbol's feed serves. Empty means the feed serves any timeframe the format from /api/market/config accepts, rather than a short list that would promise less than it serves.","isRequired":true,"uniqueKey":"supportedResolutions","typeLabel":"string[]"},"timezone":{"type":"string","description":"The IANA time zone of the exchange session, such as America/Chicago.","isRequired":true,"uniqueKey":"timezone","typeLabel":"string"},"session":{"type":"string","description":"The weekly session in exchange time, as HHMM-HHMM. A trading-day suffix (1 is Sunday through 7 is Saturday) marks a session that opens on the previous calendar day, and `24x7` marks a market that never closes.","isRequired":true,"uniqueKey":"session","typeLabel":"string"},"dataStatus":{"type":"string","enum":["streaming","endofday","delayed_streaming"],"description":"How live the data is for you. `streaming` means a real-time feed serves the symbol. `delayed_streaming` means your feed sends prices the exchange has delayed: show them as delayed, because they never count as real time. `endofday` means no feed serves it.","isRequired":true,"uniqueKey":"dataStatus","typeLabel":"enum\u003cstring>"},"volumePrecision":{"type":"number","description":"How many decimal places to show for volume: 0 for a market that trades whole units, otherwise the provider's size step.","isRequired":true,"uniqueKey":"volumePrecision","typeLabel":"number"},"format":{"type":"object","description":"How to write the symbol's prices.","properties":{"pricescale":{"type":"number","description":"Price units per whole unit: 100 writes cents, 100000 writes pipettes and 32 writes thirty-seconds. It alone sets how many decimal places to show.","isRequired":true,"uniqueKey":"format.pricescale","typeLabel":"number"},"minmov":{"type":"number","description":"The smallest move, in those units.","isRequired":true,"uniqueKey":"format.minmov","typeLabel":"number"},"minmove2":{"type":"number","description":"How many parts one minmov step divides into again: 2 is halves of a thirty-second, 4 is quarters.","uniqueKey":"format.minmove2","typeLabel":"number"},"fractional":{"type":"boolean","description":"True when the part below one unit is written as a counted fraction, such as 119'16.","uniqueKey":"format.fractional","typeLabel":"boolean"},"variableTickSize":{"type":"string","description":"A tick ladder, for a symbol that has one: a tick, then the price below which it applies, repeated, ending with the tick that applies above the last price.","uniqueKey":"format.variableTickSize","typeLabel":"string"}},"required":["pricescale","minmov"],"isRequired":true,"uniqueKey":"format","typeLabel":"object"},"provider":{"oneOf":[{"type":"string","enum":["rithmic",null],"description":"The provider that publishes the data, or null when no feed is set up for the symbol.","isRequired":true,"uniqueKey":"provider.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["rithmic",null],"description":"The provider that publishes the data, or null when no feed is set up for the symbol.","isRequired":true,"uniqueKey":"provider.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provider","typeLabel":"enum\u003cstring> | null"},"tick":{"oneOf":[{"type":"number","description":"The smallest price move, or null when the symbol has none, as a spread expression doesn't.","isRequired":true,"uniqueKey":"tick.oneOf.0","typeLabel":"number"},{"type":"null","description":"The smallest price move, or null when the symbol has none, as a spread expression doesn't.","isRequired":true,"uniqueKey":"tick.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"tick","typeLabel":"number | null"},"quotes":{"type":"boolean","description":"True when the feed serves real top-of-book quotes for the symbol.","isRequired":true,"uniqueKey":"quotes","typeLabel":"boolean"},"sessionClass":{"type":"string","enum":["equity","futures","fx","crypto"],"description":"The trading-session model the symbol follows. trdrs states it, so you never have to guess it.","isRequired":true,"uniqueKey":"sessionClass","typeLabel":"enum\u003cstring>"},"multiplier":{"oneOf":[{"type":"number","description":"What a price move of 1.0 is worth per unit, in dollars, or null until known.","isRequired":true,"uniqueKey":"multiplier.oneOf.0","typeLabel":"number"},{"type":"null","description":"What a price move of 1.0 is worth per unit, in dollars, or null until known.","isRequired":true,"uniqueKey":"multiplier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"multiplier","typeLabel":"number | null"},"market":{"oneOf":[{"type":"string","description":"The market key the symbol names: the one name of the market an order trades, whichever feed or provider names the symbol. A perpetual is its registered symbol (`HYPERLIQUID:BTC`), a dated future its contract (`CME:ESZ2026`, from `ESZ6`, `ESZ2026` or `CME_MINI:ESZ2026`), a continuous future its product and position (`CME:ES1!`, and `CME:ES2!`; a root such as `ES` names position 1), and a CFD its contract. An account's markets are matched by it, so two symbols with the same key are the same market. Null for a symbol that names no market: a venue's published data series, a spread, or a futures root trdrs holds no contract specification for. It is data only, and no account trades it.","isRequired":true,"uniqueKey":"market.oneOf.0","typeLabel":"string"},{"type":"null","description":"The market key the symbol names: the one name of the market an order trades, whichever feed or provider names the symbol. A perpetual is its registered symbol (`HYPERLIQUID:BTC`), a dated future its contract (`CME:ESZ2026`, from `ESZ6`, `ESZ2026` or `CME_MINI:ESZ2026`), a continuous future its product and position (`CME:ES1!`, and `CME:ES2!`; a root such as `ES` names position 1), and a CFD its contract. An account's markets are matched by it, so two symbols with the same key are the same market. Null for a symbol that names no market: a venue's published data series, a spread, or a futures root trdrs holds no contract specification for. It is data only, and no account trades it.","isRequired":true,"uniqueKey":"market.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"market","typeLabel":"string | null"},"displaySymbol":{"type":"string","description":"The ticker a builder-deployed Hyperliquid market is read by, as symbol search writes it in each row's `displaySymbol`. Present only for builder-deployed markets.","uniqueKey":"displaySymbol","typeLabel":"string"},"displayExchange":{"type":"string","description":"The exchange a builder-deployed Hyperliquid market is read by, as symbol search writes it in each row's `displayExchange`. Present where that row's is.","uniqueKey":"displayExchange","typeLabel":"string"},"dex":{"type":"string","description":"The full name of the builder-deployed perp dex that lists the market, as symbol search writes it in each row's `dex`. Present only for builder-deployed markets.","uniqueKey":"dex","typeLabel":"string"},"sessionHolidays":{"type":"string","description":"The days the market is fully closed, as comma-separated YYYYMMDD dates in order. Present only when `sessionCalendar` is.","uniqueKey":"sessionHolidays","typeLabel":"string"},"corrections":{"type":"string","description":"The trading days whose hours differ from the weekly session, as semicolon-separated `hours:dates` entries. The hours use the same format as `session`, without a trading-day suffix: a start later than the end opens on the previous calendar day, and hours that run to midnight end at 0000. The dates are an ordered, comma-separated YYYYMMDD list. Full closures are never listed here, because they are in `sessionHolidays`. Present only when the served calendar holds a shortened trading day.","example":"1700-1200:20261126;1700-1215:20261127,20261224","uniqueKey":"corrections","typeLabel":"string"},"subsessions":{"type":"array","items":{"type":"object","description":"One of a symbol's named sessions.","properties":{"id":{"type":"string","enum":["regular","extended","premarket","postmarket"],"description":"Which session this is. `regular` is the exchange's regular hours, `premarket` and `postmarket` are the extended hours before and after them, and `extended` is the whole span from the pre-market open to the post-market close. The symbol's `session` equals `regular` on an exchange whose session is its regular hours (NYSE), and equals `extended` on an exchange whose one continuous session contains them (CME Globex).","isRequired":true,"uniqueKey":"subsessions.items.[INDEX].id","typeLabel":"enum\u003cstring>"},"session":{"type":"string","description":"The session's hours, in the same format as the symbol's `session`, including its trading-day suffix.","example":"0400-0930","isRequired":true,"uniqueKey":"subsessions.items.[INDEX].session","typeLabel":"string"},"description":{"type":"string","description":"A display label some third-party feeds send. trdrs never sends it: take labels from your own catalog, by `id`.","uniqueKey":"subsessions.items.[INDEX].description","typeLabel":"string"},"sessionCorrections":{"type":"string","description":"The trading days that shorten this session, in the same format as the symbol's `corrections`. Present only when the served calendar shortens this session. A session that a shortened day drops entirely (the Globex closing hour on an early close) has no entry, because the format states shorter hours, not none. On any date, a session never runs past that date's `extended` hours.","example":"1300-1700:20261127,20261224","uniqueKey":"subsessions.items.[INDEX].sessionCorrections","typeLabel":"string"}},"required":["id","session"],"uniqueKey":"subsessions.items.[INDEX]","typeLabel":"object"},"description":"The named sessions of a market that keeps extended hours: regular, extended, premarket and postmarket. For a stock, the regular entry has the same hours as `session`, and the extended hours appear only here. For a future, the extended entry has the same hours as `session`, and the regular entry states the regular trading hours inside it. Read pre-market and post-market status and extended-hours shading from here. Present for stocks and futures, and absent for FX, crypto and spreads, which have one session with no named parts.","example":[{"id":"regular","session":"0930-1600","sessionCorrections":"0930-1300:20261127,20261224"},{"id":"extended","session":"0400-2000","sessionCorrections":"0400-1700:20261127,20261224"},{"id":"premarket","session":"0400-0930"},{"id":"postmarket","session":"1600-2000","sessionCorrections":"1300-1700:20261127,20261224"}],"uniqueKey":"subsessions","typeLabel":"object[]"},"currencyCode":{"type":"string","description":"The quote currency: an ISO 4217 code for a market quoted in money, or the quote asset the provider declares for a perpetual margined in a stablecoin. Absent when the instrument declares none.","uniqueKey":"currencyCode","typeLabel":"string"},"unitId":{"type":"string","description":"The unit a symbol that isn't quoted in a currency is quoted in.","uniqueKey":"unitId","typeLabel":"string"},"sessionCalendar":{"type":"object","description":"The holiday calendar for the symbol's session model, for futures and stocks. It is absent for FX and crypto. Dates are exchange-local YYYY-MM-DD, an empty list of stretches is a full closure, and a date that isn't listed follows the weekday rules. trdrs keeps this calendar up to date every year, so your client never ships its own calendar updates.","properties":{"holidays":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","description":"One stretch of a trading day on the holiday calendar.","properties":{"start":{"type":"number","description":"Where the stretch starts, in minutes after midnight, exchange time.","isRequired":true,"uniqueKey":"sessionCalendar.holidays.additionalProperties.items.[INDEX].start","typeLabel":"number"},"end":{"type":"number","description":"Where the stretch ends, in minutes after midnight, exchange time, exclusive. 1440 is the next midnight.","isRequired":true,"uniqueKey":"sessionCalendar.holidays.additionalProperties.items.[INDEX].end","typeLabel":"number"},"session":{"type":"string","enum":["pre","open","eth","after"],"description":"Which session the stretch belongs to: pre-market, the regular session, extended trading hours or after hours.","isRequired":true,"uniqueKey":"sessionCalendar.holidays.additionalProperties.items.[INDEX].session","typeLabel":"enum\u003cstring>"}},"required":["start","end","session"],"uniqueKey":"sessionCalendar.holidays.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"sessionCalendar.holidays.additionalProperties","typeLabel":"object[]"},"description":"The stretches that trade on each listed date, keyed by YYYY-MM-DD.","isRequired":true,"uniqueKey":"sessionCalendar.holidays","typeLabel":"object"},"coverageThrough":{"type":"string","description":"The last exchange-local date the calendar covers, as YYYY-MM-DD.","isRequired":true,"uniqueKey":"sessionCalendar.coverageThrough","typeLabel":"string"}},"required":["holidays","coverageThrough"],"uniqueKey":"sessionCalendar","typeLabel":"object"}},"required":["symbol","name","ticker","description","exchange","listedExchange","type","supportedResolutions","timezone","session","dataStatus","volumePrecision","format","provider","tick","quotes","sessionClass","multiplier","market"],"example":{"symbol":"ESU6","name":"E-mini S\u0026P 500 Sep 2026","ticker":"ESU6","description":"E-mini S\u0026P 500 Sep 2026","exchange":"CME","listedExchange":"CME","type":"future","supportedResolutions":[],"timezone":"America/Chicago","session":"1700-1600:23456","sessionHolidays":"20261225,20270101","corrections":"1700-1200:20261126;1700-1215:20261127,20261224","subsessions":[{"id":"regular","session":"0830-1515:23456","sessionCorrections":"0830-1200:20261126;0830-1215:20261127,20261224"},{"id":"extended","session":"1700-1600:23456","sessionCorrections":"1700-1200:20261126;1700-1215:20261127,20261224"},{"id":"premarket","session":"1700-0830:23456"},{"id":"postmarket","session":"1515-1600:23456"}],"dataStatus":"streaming","currencyCode":"USD","volumePrecision":0,"format":{"pricescale":100,"minmov":25},"provider":"rithmic","tick":0.25,"quotes":true,"sessionClass":"futures","sessionCalendar":{"holidays":{"2026-12-25":[]},"coverageThrough":"2027-06-30"},"multiplier":50,"market":"CME:ESU2026"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"symbol":"ESU6","name":"E-mini S\u0026P 500 Sep 2026","ticker":"ESU6","description":"E-mini S\u0026P 500 Sep 2026","exchange":"CME","listedExchange":"CME","type":"future","supportedResolutions":[],"timezone":"America/Chicago","session":"1700-1600:23456","sessionHolidays":"20261225,20270101","corrections":"1700-1200:20261126;1700-1215:20261127,20261224","subsessions":[{"id":"regular","session":"0830-1515:23456","sessionCorrections":"0830-1200:20261126;0830-1215:20261127,20261224"},{"id":"extended","session":"1700-1600:23456","sessionCorrections":"1700-1200:20261126;1700-1215:20261127,20261224"},{"id":"premarket","session":"1700-0830:23456"},{"id":"postmarket","session":"1515-1600:23456"}],"dataStatus":"streaming","currencyCode":"USD","volumePrecision":0,"format":{"pricescale":100,"minmov":25},"provider":"rithmic","tick":0.25,"quotes":true,"sessionClass":"futures","sessionCalendar":{"holidays":{"2026-12-25":[]},"coverageThrough":"2027-06-30"},"multiplier":50,"market":"CME:ESU2026"}}},"exampleType":"generated"}},"exampleType":"generated"},"d6221170-e852-4daf-b630-e823187b5676":{"description":"`symbol` is missing.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"505867b2-356f-448c-b2ed-a85cc7cddb7c":{"description":"The key is missing, unknown or revoked.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"59d5bf1e-e5ea-4a35-9cc4-2b1612798386":{"description":"No such symbol. This is an answer about the data, not a failure.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"c2968059-ad6e-4d96-b9e7-9a5cf56e5886":{"description":"Too many requests. Wait for the number of seconds in the `Retry-After` header, then try again.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"93a62f4e-7f3a-4cf8-9c47-94805f2d43d0":{"tradingApiKey":{"type":"http","scheme":"bearer","description":"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.","scopes":[],"schemeName":"tradingApiKey"}},"0fd628a7-b77f-46c5-a1c1-38cacffb0db9":{"connectApiKey":{"type":"http","scheme":"bearer","description":"A Connect app's API key (`trdrs_ck_sandbox_…` or `trdrs_ck_production_…`), in preview. It belongs to one app in one environment, has a name and an expiry, and carries the whole Connect API. An owner of the app creates it in the Connect dashboard. It creates, reads and closes the app's Connect links under `/api/connect/links`, and on the account, market and trading routes it reads the app's own traders' accounts and market data and routes their orders, each request naming its trader in `x-trdrs-trader`. It stops working when it is revoked or expires, or when the owner who created it stops being an owner. Keep it on your server.","scopes":[],"schemeName":"connectApiKey"},"trader":{"type":"apiKey","in":"header","name":"x-trdrs-trader","description":"Your own id for one of your traders: the id your Connect links name, or the id the accounts your venue issues them use. Send it with your app's API key, or with your Venue key carrying `trader:read`, or `trader:trade` to also route the trader's orders, and the request runs as that trader on their own accounts. An id that names none of your traders is refused with `404` `trader_not_found` and a suspended trader with `403` `trader_suspended`. A request that also carries a cookie or a browser `Origin` is refused with `400` `credential_not_allowed`.","scopes":[],"schemeName":"trader"}},"de6904c9-aab3-4062-a1ff-ff94d4521f65":{"venueKey":{"type":"http","scheme":"bearer","description":"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.","scopes":[],"schemeName":"venueKey"},"trader":{"type":"apiKey","in":"header","name":"x-trdrs-trader","description":"Your own id for one of your traders: the id your Connect links name, or the id the accounts your venue issues them use. Send it with your app's API key, or with your Venue key carrying `trader:read`, or `trader:trade` to also route the trader's orders, and the request runs as that trader on their own accounts. An id that names none of your traders is refused with `404` `trader_not_found` and a suspended trader with `403` `trader_suspended`. A request that also carries a cookie or a browser `Origin` is refused with `400` `credential_not_allowed`.","scopes":[],"schemeName":"trader"}}},"servers":{"deea1f89-6e7f-4694-a35b-0824c194126c":{"url":"https://app.trdrs.co","description":"Production"},"3a3d6625-9250-40d2-9464-92c2f83e4ef6":{"url":"/","description":"This engine"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"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.","scopes":[],"schemeName":"tradingApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"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.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"tradingApiKey","name":"Authorization"}],"title":"tradingApiKey"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A Connect app's API key (`trdrs_ck_sandbox_…` or `trdrs_ck_production_…`), in preview. It belongs to one app in one environment, has a name and an expiry, and carries the whole Connect API. An owner of the app creates it in the Connect dashboard. It creates, reads and closes the app's Connect links under `/api/connect/links`, and on the account, market and trading routes it reads the app's own traders' accounts and market data and routes their orders, each request naming its trader in `x-trdrs-trader`. It stops working when it is revoked or expires, or when the owner who created it stops being an owner. Keep it on your server.","scopes":[],"schemeName":"connectApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A Connect app's API key (`trdrs_ck_sandbox_…` or `trdrs_ck_production_…`), in preview. It belongs to one app in one environment, has a name and an expiry, and carries the whole Connect API. An owner of the app creates it in the Connect dashboard. It creates, reads and closes the app's Connect links under `/api/connect/links`, and on the account, market and trading routes it reads the app's own traders' accounts and market data and routes their orders, each request naming its trader in `x-trdrs-trader`. It stops working when it is revoked or expires, or when the owner who created it stops being an owner. Keep it on your server.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"connectApiKey","name":"Authorization"},{"scheme":{"type":"apiKey","in":"header","name":"x-trdrs-trader","description":"Your own id for one of your traders: the id your Connect links name, or the id the accounts your venue issues them use. Send it with your app's API key, or with your Venue key carrying `trader:read`, or `trader:trade` to also route the trader's orders, and the request runs as that trader on their own accounts. An id that names none of your traders is refused with `404` `trader_not_found` and a suspended trader with `403` `trader_suspended`. A request that also carries a cookie or a browser `Origin` is refused with `400` `credential_not_allowed`.","scopes":[],"schemeName":"trader"},"schema":{"title":"x-trdrs-trader","type":"string","description":"Your own id for one of your traders: the id your Connect links name, or the id the accounts your venue issues them use. Send it with your app's API key, or with your Venue key carrying `trader:read`, or `trader:trade` to also route the trader's orders, and the request runs as that trader on their own accounts. An id that names none of your traders is refused with `404` `trader_not_found` and a suspended trader with `403` `trader_suspended`. A request that also carries a cookie or a browser `Origin` is refused with `400` `credential_not_allowed`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"trader","name":"x-trdrs-trader"}],"title":"connectApiKey \u0026 trader"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"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.","scopes":[],"schemeName":"venueKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"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.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"venueKey","name":"Authorization"},{"scheme":{"type":"apiKey","in":"header","name":"x-trdrs-trader","description":"Your own id for one of your traders: the id your Connect links name, or the id the accounts your venue issues them use. Send it with your app's API key, or with your Venue key carrying `trader:read`, or `trader:trade` to also route the trader's orders, and the request runs as that trader on their own accounts. An id that names none of your traders is refused with `404` `trader_not_found` and a suspended trader with `403` `trader_suspended`. A request that also carries a cookie or a browser `Origin` is refused with `400` `credential_not_allowed`.","scopes":[],"schemeName":"trader"},"schema":{"title":"x-trdrs-trader","type":"string","description":"Your own id for one of your traders: the id your Connect links name, or the id the accounts your venue issues them use. Send it with your app's API key, or with your Venue key carrying `trader:read`, or `trader:trade` to also route the trader's orders, and the request runs as that trader on their own accounts. An id that names none of your traders is refused with `404` `trader_not_found` and a suspended trader with `403` `trader_suspended`. A request that also carries a cookie or a browser `Origin` is refused with `400` `credential_not_allowed`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"trader","name":"x-trdrs-trader"}],"title":"venueKey \u0026 trader"}]},"originalFileLocation":"api/openapi.json"},"subdomain":"trdrs","siteName":"trdrs Engine API","title":"Get symbol details - trdrs Engine API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T22:24:26.391Z","originalFileLocation":"api-reference/market-data/get-symbol-details.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol. A futures root, a continuous symbol such as ES1! or ES2!, and a dated contract such as CME:ESZ2026 or ESZ6 share their product’s details, and each is named for what it is: E-mini S\u0026amp;P 500, E-mini S\u0026amp;P 500 continuous front month, E-mini S\u0026amp;P 500 Dec 2026. Required key: Trading API key. A Connect app\u0026#x27;s backend can also send it with the app\u0026#x27;s API key, and a venue\u0026#x27;s backend with its Venue key, which carries trader:read or trader:trade, each naming one of its own traders in x-trdrs-trader: it then runs on that trader\u0026#x27;s own accounts.\">\u003cmeta data-mint-head name=\"application-name\" content=\"trdrs Engine API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get symbol details - trdrs Engine API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol. A futures root, a continuous symbol such as ES1! or ES2!, and a dated contract such as CME:ESZ2026 or ESZ6 share their product’s details, and each is named for what it is: E-mini S\u0026amp;P 500, E-mini S\u0026amp;P 500 continuous front month, E-mini S\u0026amp;P 500 Dec 2026. Required key: Trading API key. A Connect app\u0026#x27;s backend can also send it with the app\u0026#x27;s API key, and a venue\u0026#x27;s backend with its Venue key, which carries trader:read or trader:trade, each naming one of its own traders in x-trdrs-trader: it then runs on that trader\u0026#x27;s own accounts.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"trdrs Engine API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://trdrs.mintlify.app/_mintlify/api/og/v2?division=Prices+and+symbols\u0026amp;title=Get+symbol+details\u0026amp;description=Returns+what+you+need+to+display+and+chart+one+symbol%3A+its+names%2C+how+its+prices+are+written%2C+its+tick+size+and+multiplier%2C+and+its+sessions+and+holiday+calenda\u0026amp;theme=85063b664f29463f86ec0c0f\u0026amp;signature=1881af5c7f3e877c2df05576eadae6876361de96706cfcfe2a6781b11d89acc9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get symbol details - trdrs Engine API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol. A futures root, a continuous symbol such as ES1! or ES2!, and a dated contract such as CME:ESZ2026 or ESZ6 share their product’s details, and each is named for what it is: E-mini S\u0026amp;P 500, E-mini S\u0026amp;P 500 continuous front month, E-mini S\u0026amp;P 500 Dec 2026. Required key: Trading API key. A Connect app\u0026#x27;s backend can also send it with the app\u0026#x27;s API key, and a venue\u0026#x27;s backend with its Venue key, which carries trader:read or trader:trade, each naming one of its own traders in x-trdrs-trader: it then runs on that trader\u0026#x27;s own accounts.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://trdrs.mintlify.app/_mintlify/api/og/v2?division=Prices+and+symbols\u0026amp;title=Get+symbol+details\u0026amp;description=Returns+what+you+need+to+display+and+chart+one+symbol%3A+its+names%2C+how+its+prices+are+written%2C+its+tick+size+and+multiplier%2C+and+its+sessions+and+holiday+calenda\u0026amp;theme=85063b664f29463f86ec0c0f\u0026amp;signature=1881af5c7f3e877c2df05576eadae6876361de96706cfcfe2a6781b11d89acc9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"trdrs Engine API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0a0a0a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/market-data/get-symbol-details.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trdrs.co/#organization\",\"name\":\"trdrs Engine API\",\"url\":\"https://docs.trdrs.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trdrs.co#website\",\"name\":\"trdrs Engine API\",\"url\":\"https://docs.trdrs.co\",\"publisher\":{\"@id\":\"https://docs.trdrs.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details#webpage\",\"url\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details\",\"name\":\"Get symbol details\",\"description\":\"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol. A futures root, a continuous symbol such as ES1! or ES2!, and a dated contract such as CME:ESZ2026 or ESZ6 share their product’s details, and each is named for what it is: E-mini S\u0026P 500, E-mini S\u0026P 500 continuous front month, E-mini S\u0026P 500 Dec 2026. Required key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries trader:read or trader:trade, each naming one of its own traders in x-trdrs-trader: it then runs on that trader's own accounts.\",\"dateModified\":\"2026-10-23T22:24:26.391Z\",\"isPartOf\":{\"@id\":\"https://docs.trdrs.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.trdrs.co/api-reference/market-data/get-market-data-limits\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Market data\",\"item\":\"https://docs.trdrs.co/api-reference/market-data/get-market-data-limits\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Prices and symbols\",\"item\":\"https://docs.trdrs.co/api-reference/market-data/get-market-data-limits\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Get symbol details\",\"item\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details#apireference\",\"headline\":\"Get symbol details\",\"name\":\"Get symbol details\",\"description\":\"Returns what you need to display and chart one symbol: its names, how its prices are written, its tick size and multiplier, and its sessions and holiday calendar. Fetch it once per symbol and keep it for the session, so your charts and order tickets never hard-code exchange conventions. It answers even when no feed is set up for the symbol. A futures root, a continuous symbol such as ES1! or ES2!, and a dated contract such as CME:ESZ2026 or ESZ6 share their product’s details, and each is named for what it is: E-mini S\u0026P 500, E-mini S\u0026P 500 continuous front month, E-mini S\u0026P 500 Dec 2026. Required key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries trader:read or trader:trade, each naming one of its own traders in x-trdrs-trader: it then runs on that trader's own accounts.\",\"url\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trdrs.co/api-reference/market-data/get-symbol-details#webpage\"},\"dateModified\":\"2026-10-23T22:24:26.391Z\",\"publisher\":{\"@id\":\"https://docs.trdrs.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trdrs.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"trdrs Engine API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"trdrs Engine API","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Guides","dropdowns":[{"dropdown":"Programmatic trading","icon":"code","description":"Trade accounts you hold","groups":[{"group":"Start here","pages":[{"title":"Programmatic trading quickstart","href":"/guides/programmatic-quickstart"}]},{"group":"Trading","pages":[{"title":"Trading overview","sidebarTitle":"Overview","href":"/guides/trading-overview"},{"title":"Place your first order","sidebarTitle":"Place an order","href":"/guides/place-your-first-order"},{"title":"Protect a position","sidebarTitle":"Protect a position","href":"/guides/protect-a-position"},{"title":"Manage working orders","sidebarTitle":"Manage working orders","href":"/guides/manage-working-orders"},{"title":"Close a position","sidebarTitle":"Close a position","href":"/guides/close-a-position"},{"title":"Trade with leverage","sidebarTitle":"Trade with leverage","href":"/guides/trade-with-leverage"},{"title":"Track fills and P\u0026L","sidebarTitle":"Track fills and P\u0026L","href":"/guides/track-fills-and-pnl"}]}]},{"dropdown":"Market data","icon":"chart-line","description":"Read prices, history and streams","pages":[{"title":"Market data overview","sidebarTitle":"Overview","href":"/guides/market-data-overview"},{"title":"Find symbols","sidebarTitle":"Find symbols","href":"/guides/find-symbols"},{"title":"Backfill history","sidebarTitle":"Backfill history","href":"/guides/backfill-history"},{"title":"Stream live market data","sidebarTitle":"Stream live data","href":"/guides/stream-live-data"}]},{"dropdown":"Connect","icon":"link","description":"Build your own trading interface","groups":[{"group":"Start here","pages":[{"title":"Connect","sidebarTitle":"Overview","href":"/guides/connect-overview"},{"title":"Connect quickstart","sidebarTitle":"Quickstart","href":"/guides/connect-quickstart"}]},{"group":"Build","pages":[{"title":"Route your traders' orders","sidebarTitle":"Route your traders' orders","href":"/guides/route-your-traders-orders"},{"title":"Choose your tiles and white-label paper","sidebarTitle":"Tiles and white-label paper","href":"/guides/connect-tiles-and-paper"}]},{"group":"Go live","pages":[{"title":"Pass Connect conformance","sidebarTitle":"Pass conformance","href":"/guides/connect-conformance"},{"title":"Billing for Connect apps","sidebarTitle":"Billing","href":"/guides/connect-billing"},{"title":"Active traders and billing","sidebarTitle":"Active traders","href":"/guides/connect-active-traders"}]}]},{"dropdown":"Venues","icon":"building","description":"Run a prop firm or brokerage","groups":[{"group":"Start here","pages":[{"title":"Prop firms","sidebarTitle":"Prop firms","href":"/guides/prop-firms-overview"},{"title":"Brokerages","sidebarTitle":"Brokerages","href":"/guides/brokerages-overview"},{"title":"Venue quickstart","href":"/guides/business-quickstart"},{"title":"Evaluation quickstart","href":"/quickstart"},{"title":"What your traders get","sidebarTitle":"What your traders get","href":"/what-your-traders-get"}]},{"group":"Set up your venue","pages":[{"title":"Run a venue end to end","sidebarTitle":"Run a venue","href":"/guides/run-a-venue"},{"title":"Venue keys","sidebarTitle":"Venue keys","href":"/guides/venue-keys"},{"title":"Back-office tool","href":"/guides/back-office"}]},{"group":"Run accounts","pages":[{"title":"Venue accounts","sidebarTitle":"Accounts","href":"/guides/venue-accounts"},{"title":"Send your traders to the trading platform","sidebarTitle":"Send traders to trade","href":"/guides/send-traders-to-the-trading-platform"},{"title":"Paper accounts on provider contracts","href":"/guides/paper-provider-contracts"},{"title":"Hedge venue exposure","sidebarTitle":"Hedging","href":"/guides/venue-hedging"},{"title":"Account analytics","sidebarTitle":"Account analytics","href":"/guides/firm-analytics"},{"title":"Read your usage","sidebarTitle":"Read your usage","href":"/guides/read-your-usage"},{"title":"Receive events on your server","sidebarTitle":"Receive events","href":"/guides/receive-events"}]},{"group":"Connect pre-registration","pages":[{"title":"Get listed","sidebarTitle":"Get listed","href":"/guides/get-listed"},{"title":"Register an account","sidebarTitle":"Register an account","href":"/guides/register-an-account"},{"title":"Follow registrations","sidebarTitle":"Follow registrations","href":"/guides/handle-registration-events"}]},{"group":"Check your integration","pages":[{"title":"Requirements","href":"/providers/requirements"},{"title":"Run conformance","href":"/providers/test-evidence"},{"title":"Use your results","href":"/providers/submission"}]}]},{"dropdown":"Providers","icon":"plug","description":"Bring a market to trdrs","pages":[{"title":"Provider conformance","href":"/providers/provider-conformance"},{"title":"Publish a provider integration","href":"/providers/publishing"},{"title":"FXCubic","href":"/providers/fxcubic"},{"title":"Run a testnet provider","href":"/guides/run-a-testnet-provider"},{"title":"Publish a datafeed to your traders","sidebarTitle":"Publish a datafeed","href":"/guides/publish-a-datafeed"},{"title":"Provider data","sidebarTitle":"Provider data","href":"/guides/venue-data"}]},{"dropdown":"Trading interfaces","icon":"display-code","description":"Build your own trading screens","pages":[{"title":"Build a front end","sidebarTitle":"Build a front end","href":"/guides/build-a-front-end"}]}]},{"tab":"API reference","groups":[{"group":"Start here","pages":[{"title":"API reference overview","sidebarTitle":"Overview","href":"/api/overview"}]},{"group":"Endpoints","pages":[{"group":"Market data","pages":[{"group":"Prices and symbols","pages":[{"title":"Get market-data limits","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/config","href":"/api-reference/market-data/get-market-data-limits"},{"title":"Search the symbol catalog","description":"Searches the symbol catalog for symbols whose text contains your query, across the asset classes this engine serves. Use it to build a symbol picker, then use each returned `symbol` exactly as it is in every other market data call. It returns one page of matches and whether more follow.\n\nFutures list only in a signed-in trader’s own session, and only when that trader has a futures source, once for each provider of their sources. Each futures product lists as its root, such as `ES`, then its continuous front month `ES1!` and second month `ES2!` where trdrs models the product’s roll, then each dated contract trdrs registers, such as `CME:ESZ2026`, in roll order until its last trade, named with its contract month. A continuous symbol stands for the contract its position names at the moment you use it, so a chart of `ES1!` moves to the next contract at the roll by itself. A dated contract is that contract and no other.\n\nRequired key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries `trader:read` or `trader:trade`, each naming one of its own traders in `x-trdrs-trader`: it then runs on that trader's own accounts.","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/symbols","href":"/api-reference/market-data/search-the-symbol-catalog"},{"title":"Get symbol details","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/symbol-info","href":"/api-reference/market-data/get-symbol-details"},{"title":"Get the futures catalog","description":"Returns the futures products trdrs trades, one row per product root, with the facts an order ticket needs to size orders and round prices: exchange, tick size and value, multiplier, roll cycle, and contract months where trdrs doesn't model the roll. Fetch it once and keep it. Crypto instruments aren't here, because each provider states its own.\n\nRequired key: Trading API key. A Connect app's backend can also send it with the app's API key, and a venue's backend with its Venue key, which carries `trader:read` or `trader:trade`, each naming one of its own traders in `x-trdrs-trader`: it then runs on that trader's own accounts.","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/instruments","href":"/api-reference/market-data/get-the-futures-catalog"},{"title":"Get server time","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/time","href":"/api-reference/market-data/get-server-time"},{"title":"Get price history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/history","href":"/api-reference/market-data/get-price-history"},{"title":"Get quote snapshots","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/quotes","href":"/api-reference/market-data/get-quote-snapshots"},{"title":"Stream live bars","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/stream","href":"/api-reference/market-data/stream-live-bars"},{"title":"Stream multiplexed live bars","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/streams","href":"/api-reference/market-data/stream-multiplexed-live-bars"}]},{"group":"News and calendar","pages":[{"title":"List news headlines","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/news","href":"/api-reference/news/list-news-headlines"},{"title":"Get a news thumbnail","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/news/image/{id}","href":"/api-reference/news/get-a-news-thumbnail"},{"title":"List calendar events","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/calendar","href":"/api-reference/news/list-calendar-events"},{"title":"Stream news","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/news/stream","href":"/api-reference/news/stream-news"},{"title":"Stream calendar updates","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/calendar/stream","href":"/api-reference/news/stream-calendar-updates"}]}]},{"group":"Trading","pages":[{"group":"Orders","pages":[{"title":"Get the net position","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/position","href":"/api-reference/trading/get-the-net-position"},{"title":"Get what the account may do","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/actions","href":"/api-reference/trading/get-what-the-account-may-do"},{"title":"Match a market for an account","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/match","href":"/api-reference/trading/match-a-market-for-an-account"},{"title":"Preview order margin","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/margin-preview","href":"/api-reference/trading/preview-order-margin"},{"title":"Get leverage and margin mode","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/symbol-config","href":"/api-reference/trading/get-leverage-and-margin-mode"},{"title":"Set leverage","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/trading/symbol-config","href":"/api-reference/trading/set-leverage"},{"title":"Set margin mode","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/trading/margin-mode","href":"/api-reference/trading/set-margin-mode"},{"title":"Place an order","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/order","href":"/api-reference/trading/place-an-order"},{"title":"Replace an order","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/replace","href":"/api-reference/trading/replace-an-order"},{"title":"Cancel an order","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/cancel","href":"/api-reference/trading/cancel-an-order"},{"title":"Cancel all working orders","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/cancel-all","href":"/api-reference/trading/cancel-all-working-orders"},{"title":"Protect a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/exits","href":"/api-reference/trading/protect-a-position"},{"title":"Change a bracket","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/trading/exits/{id}","href":"/api-reference/trading/change-a-bracket"},{"title":"Withdraw a bracket","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/trading/exits/{id}","href":"/api-reference/trading/withdraw-a-bracket"},{"title":"Close part of a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/close","href":"/api-reference/trading/close-part-of-a-position"},{"title":"Flatten a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/flatten","href":"/api-reference/trading/flatten-a-position"},{"title":"Flatten the account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/flatten-account","href":"/api-reference/trading/flatten-the-account"},{"title":"Reverse a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/reverse","href":"/api-reference/trading/reverse-a-position"}]},{"group":"Account state","pages":[{"title":"List accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/list","href":"/api-reference/account/list-accounts"},{"title":"List the markets an account trades","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/markets","href":"/api-reference/account/list-the-markets-an-account-trades"},{"title":"Get the account summary","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/summary","href":"/api-reference/account/get-the-account-summary"},{"title":"Get the account snapshot","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/snapshot","href":"/api-reference/account/get-the-account-snapshot"},{"title":"List open positions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/positions","href":"/api-reference/account/list-open-positions"},{"title":"List closed positions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/positions/closed","href":"/api-reference/account/list-closed-positions"},{"title":"List orders","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/orders","href":"/api-reference/account/list-orders"},{"title":"List order history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/orders/history","href":"/api-reference/account/list-order-history"},{"title":"List fills for an instrument","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/executions","href":"/api-reference/account/list-fills-for-an-instrument"},{"title":"Get daily P\u0026L history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/pnl/history","href":"/api-reference/account/get-daily-p\u0026l-history"},{"title":"List closed round trips","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/pnl/round-trips","href":"/api-reference/account/list-closed-round-trips"},{"title":"List brackets","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/brackets","href":"/api-reference/account/list-brackets"},{"title":"Stream account updates","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/stream","href":"/api-reference/account/stream-account-updates"},{"title":"Get history sync status","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/sync-status","href":"/api-reference/account/get-history-sync-status"}]},{"group":"Retired risk controls","pages":[{"title":"Get the risk state (deprecated)","deprecated":true,"version":null,"openapi":"/api/openapi.json get /api/risk","href":"/api-reference/account/get-the-risk-state-deprecated"},{"title":"Read the risk state (deprecated)","deprecated":true,"version":null,"openapi":"/api/openapi.json put /api/risk","href":"/api-reference/account/read-the-risk-state-deprecated"},{"title":"Clear the risk lock (deprecated)","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/risk/unlock","href":"/api-reference/account/clear-the-risk-lock-deprecated"}]},{"group":"Evaluation programs","pages":[{"title":"List evaluation programs","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/challenges","href":"/api-reference/challenges/list-evaluation-programs"},{"title":"Create an enrollment","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/challenges/enroll","href":"/api-reference/challenges/create-an-enrollment"},{"title":"List your enrollments","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/enrollments","href":"/api-reference/challenges/list-your-enrollments"},{"title":"List enrollment events","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/enrollments/events","href":"/api-reference/challenges/list-enrollment-events"}]}]},{"group":"Connect","pages":[{"title":"List the built-in providers and how each is signed into","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect/providers","href":"/api-reference/connect/list-the-built-in-providers-and-how-each-is-signed-into"},{"title":"List Connect’s tiles","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect/tiles","href":"/api-reference/connect/list-connect’s-tiles"},{"group":"Connect links","pages":[{"title":"Create a Connect link","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect/links","href":"/api-reference/connect-apps-preview/create-a-connect-link"},{"title":"Read a Connect link","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect/links/{linkId}","href":"/api-reference/connect-apps-preview/read-a-connect-link"},{"title":"Close a Connect link","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/connect/links/{linkId}","href":"/api-reference/connect-apps-preview/close-a-connect-link"}]},{"group":"Hosted Connect's own routes","pages":[{"title":"Mount a Connect link token","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/mount","href":"/api-reference/connect-apps-preview/mount-a-connect-link-token"},{"title":"List the tiles a Connect session offers","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect-link/sessions/{sessionId}/tiles","href":"/api-reference/connect-apps-preview/list-the-tiles-a-connect-session-offers"},{"title":"List a trader's provider connections","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect-link/sessions/{sessionId}/providers","href":"/api-reference/connect-apps-preview/list-a-traders-provider-connections"},{"title":"Open white-label paper in Connect","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/paper","href":"/api-reference/connect-apps-preview/open-white-label-paper-in-connect"},{"title":"Start a provider sign-in window","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/oauth/{provider}","href":"/api-reference/connect-apps-preview/start-a-provider-sign-in-window"},{"title":"Finish a provider sign-in window","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/oauth/{provider}/finish","href":"/api-reference/connect-apps-preview/finish-a-provider-sign-in-window"},{"title":"Complete a Connect provider login","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/complete","href":"/api-reference/connect-apps-preview/complete-a-connect-provider-login"},{"title":"End a hosted Connect session","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/connect-link/sessions/{sessionId}/frame","href":"/api-reference/connect-apps-preview/end-a-hosted-connect-session"}]}]},{"group":"Venues","pages":[{"group":"Venue details","pages":[{"title":"Read a venue","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}","href":"/api-reference/venue-platform-preview/read-a-venue"}]},{"group":"Branding and reference data","pages":[{"title":"Read the venue brand","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/brand","href":"/api-reference/venue-platform-preview/read-the-venue-brand"},{"title":"Update the venue brand","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/venues/{venueId}/brand","href":"/api-reference/venue-platform-preview/update-the-venue-brand"},{"title":"Upload the venue logo","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/brand/logo","href":"/api-reference/venue-platform-preview/upload-the-venue-logo"},{"title":"Read the venue instrument reference catalog","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/reference/instruments","href":"/api-reference/venue-platform-preview/read-the-venue-instrument-reference-catalog"},{"title":"Read registered contract facts for a new instrument","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/reference/contract","href":"/api-reference/venue-platform-preview/read-registered-contract-facts-for-a-new-instrument"},{"title":"Search the markets a venue can list","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/reference/symbols","href":"/api-reference/venue-platform-preview/search-the-markets-a-venue-can-list"}]},{"group":"Instruments","pages":[{"title":"List instrument candidates","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/instruments","href":"/api-reference/venue-platform-preview/list-instrument-candidates"},{"title":"List active instruments","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/instruments/active","href":"/api-reference/venue-platform-preview/list-active-instruments"},{"title":"Read an instrument candidate","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/instruments/{candidateId}","href":"/api-reference/venue-platform-preview/read-an-instrument-candidate"},{"title":"Save an instrument candidate","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/instruments","href":"/api-reference/venue-platform-preview/save-an-instrument-candidate"},{"title":"Activate an instrument version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/instruments/active","href":"/api-reference/venue-platform-preview/activate-an-instrument-version"}]},{"group":"Conditions and groups","pages":[{"title":"List account groups","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conditions/groups","href":"/api-reference/venue-platform-preview/list-account-groups"},{"title":"List condition profiles","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conditions/profiles","href":"/api-reference/venue-platform-preview/list-condition-profiles"},{"title":"Apply a condition profile","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/active","href":"/api-reference/venue-platform-preview/apply-a-condition-profile"},{"title":"Create or update an account group","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/groups","href":"/api-reference/venue-platform-preview/create-or-update-an-account-group"},{"title":"Preview a conditions change","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/preview","href":"/api-reference/venue-platform-preview/preview-a-conditions-change"},{"title":"Publish a condition profile","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/profiles","href":"/api-reference/venue-platform-preview/publish-a-condition-profile"},{"title":"Point a group at a route","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/groups/{groupId}/route","href":"/api-reference/venue-platform-preview/point-a-group-at-a-route"}]},{"group":"Routes","pages":[{"title":"List routes","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/routes","href":"/api-reference/venue-platform-preview/list-routes"},{"title":"Create or update a route","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/routes","href":"/api-reference/venue-platform-preview/create-or-update-a-route"}]},{"group":"Providers and connections","pages":[{"title":"List provider connections","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections","href":"/api-reference/venue-platform-preview/list-provider-connections"},{"title":"List discovered provider accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections/{connectionId}/accounts","href":"/api-reference/venue-platform-preview/list-discovered-provider-accounts"},{"title":"Read provider validation status","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections/{connectionId}/validations/{jobId}","href":"/api-reference/venue-platform-preview/read-provider-validation-status"},{"title":"List provider versions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/providers","href":"/api-reference/venue-platform-preview/list-provider-versions"},{"title":"Create a provider connection draft","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections","href":"/api-reference/venue-platform-preview/create-a-provider-connection-draft"},{"title":"Queue read-only provider validation","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/validate","href":"/api-reference/venue-platform-preview/queue-read-only-provider-validation"},{"title":"Register a public provider version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/providers","href":"/api-reference/venue-platform-preview/register-a-public-provider-version"},{"title":"Show or hide a plugged-in provider to this venue's traders","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/expose","href":"/api-reference/venue-platform-preview/show-or-hide-a-plugged-in-provider-to-this-venues-traders"},{"title":"Browse public provider integrations","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/provider-catalog/directory","href":"/api-reference/venue-platform-preview/browse-public-provider-integrations"},{"title":"Read your maintained integrations","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/provider-catalog/mine","href":"/api-reference/venue-platform-preview/read-your-maintained-integrations"},{"title":"Create a private provider profile","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles","href":"/api-reference/venue-platform-preview/create-a-private-provider-profile"},{"title":"Update provider profile","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}","href":"/api-reference/venue-platform-preview/update-provider-profile"},{"title":"Upload a provider logo","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/logo","href":"/api-reference/venue-platform-preview/upload-a-provider-logo"},{"title":"Record an immutable provider release","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/releases","href":"/api-reference/venue-platform-preview/record-an-immutable-provider-release"},{"title":"Preview, submit or withdraw a provider release","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/preview-submit-or-withdraw-a-provider-release"},{"title":"Pin a published release to your venue","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/releases/{releaseId}/install","href":"/api-reference/venue-platform-preview/pin-a-published-release-to-your-venue"}]},{"group":"Risk policies","pages":[{"title":"List the venue's risk policies","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/risk-policies","href":"/api-reference/venue-platform-preview/list-the-venues-risk-policies"},{"title":"Store a risk policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/risk-policies","href":"/api-reference/venue-platform-preview/store-a-risk-policy-version"},{"title":"Read one risk policy","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/risk-policies/{policyId}","href":"/api-reference/venue-platform-preview/read-one-risk-policy"},{"title":"Publish a risk policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/risk-policies/{policyId}/publications","href":"/api-reference/venue-platform-preview/publish-a-risk-policy-version"}]},{"group":"Stages","pages":[{"title":"Read an account's stage eligibility","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/stages/{stageId}/eligibility","href":"/api-reference/venue-platform-preview/read-an-accounts-stage-eligibility"},{"title":"List stage policies","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/stages/policies","href":"/api-reference/venue-platform-preview/list-stage-policies"},{"title":"Advance an account past a stage","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/stages/{stageId}/advance","href":"/api-reference/venue-platform-preview/advance-an-account-past-a-stage"},{"title":"Put a stage policy in force","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/stages/active","href":"/api-reference/venue-platform-preview/put-a-stage-policy-in-force"},{"title":"Publish a stage policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/stages/policies","href":"/api-reference/venue-platform-preview/publish-a-stage-policy"}]},{"group":"Retired account controls","pages":[{"title":"Retired account risk controls","deprecated":true,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/risk-controls","href":"/api-reference/venue-platform-preview/retired-account-risk-controls"},{"title":"Retired account risk controls write","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/risk-controls","href":"/api-reference/venue-platform-preview/retired-account-risk-controls-write"}]},{"group":"Venue accounts","pages":[{"title":"List a venue's accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts","href":"/api-reference/venue-platform-preview/list-a-venues-accounts"},{"title":"List existing accounts with original rules","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/existing-accounts","href":"/api-reference/venue-platform-preview/list-existing-accounts-with-original-rules"},{"title":"Issue an account into a group","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts","href":"/api-reference/venue-platform-preview/issue-an-account-into-a-group"},{"title":"Bind a discovered external account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/bind","href":"/api-reference/venue-platform-preview/bind-a-discovered-external-account"},{"title":"Credit, debit or adjust an account's balance","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/balance","href":"/api-reference/venue-platform-preview/credit-debit-or-adjust-an-accounts-balance"},{"title":"Quote an account payout","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/payout","href":"/api-reference/venue-platform-preview/quote-an-account-payout"},{"title":"Record an account payout","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/payout","href":"/api-reference/venue-platform-preview/record-an-account-payout"},{"title":"Reset an account to its starting balance","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/reset","href":"/api-reference/venue-platform-preview/reset-an-account-to-its-starting-balance"},{"title":"Halt trading on an account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/halt","href":"/api-reference/venue-platform-preview/halt-trading-on-an-account"},{"title":"Resume trading on an account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/resume","href":"/api-reference/venue-platform-preview/resume-trading-on-an-account"},{"title":"Read an account's analytics","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/analytics","href":"/api-reference/venue-platform-preview/read-an-accounts-analytics"},{"title":"Revoke an account grant","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/accounts/{accountId}/grants/{grantId}","href":"/api-reference/venue-platform-preview/revoke-an-account-grant"},{"title":"Read account invitation status","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/grants/{grantId}","href":"/api-reference/venue-platform-preview/read-account-invitation-status"},{"title":"Read an account's open liquidation","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/incident","href":"/api-reference/venue-platform-preview/read-an-accounts-open-liquidation"},{"title":"Read what one account may trade","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/instruments","href":"/api-reference/venue-platform-preview/read-what-one-account-may-trade"},{"title":"Read a customer account's books","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/ledger","href":"/api-reference/venue-platform-preview/read-a-customer-accounts-books"},{"title":"Read one account's effective conditions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conditions/accounts/{accountId}/effective","href":"/api-reference/venue-platform-preview/read-one-accounts-effective-conditions"},{"title":"Invite an account recipient","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/grants","href":"/api-reference/venue-platform-preview/invite-an-account-recipient"},{"title":"Move an account between groups","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/accounts/{accountId}/group","href":"/api-reference/venue-platform-preview/move-an-account-between-groups"},{"title":"Set per-account safety limits","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/accounts/{accountId}/risk","href":"/api-reference/venue-platform-preview/set-per-account-safety-limits"}]},{"group":"Venue traders","pages":[{"title":"Send a trader to the trading platform","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/handoffs","href":"/api-reference/venue-platform-preview/send-a-trader-to-the-trading-platform"},{"title":"Suspend a trader","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/venues/{venueId}/traders/{trader}/suspension","href":"/api-reference/venue-platform-preview/suspend-a-trader"},{"title":"Lift a trader's suspension","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/traders/{trader}/suspension","href":"/api-reference/venue-platform-preview/lift-a-traders-suspension"}]},{"group":"Hedging","pages":[{"title":"Read venue hedge state","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/hedges","href":"/api-reference/venue-platform-preview/read-venue-hedge-state"},{"title":"Publish a hedge policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/policies","href":"/api-reference/venue-platform-preview/publish-a-hedge-policy"},{"title":"Activate, pause or stop a hedge policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/activation","href":"/api-reference/venue-platform-preview/activate-pause-or-stop-a-hedge-policy"},{"title":"Preview or persist the next hedge target","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/calculate","href":"/api-reference/venue-platform-preview/preview-or-persist-the-next-hedge-target"},{"title":"Dispatch one prepared hedge intent","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/intents/{intentId}/dispatch","href":"/api-reference/venue-platform-preview/dispatch-one-prepared-hedge-intent"},{"title":"Reconcile an uncertain hedge intent","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/intents/{intentId}/reconcile","href":"/api-reference/venue-platform-preview/reconcile-an-uncertain-hedge-intent"},{"title":"Stop every hedge policy for this venue","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/emergency-stop","href":"/api-reference/venue-platform-preview/stop-every-hedge-policy-for-this-venue"},{"title":"Flatten a hedge destination","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/flatten","href":"/api-reference/venue-platform-preview/flatten-a-hedge-destination"},{"title":"Unbind a hedge account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/unbind","href":"/api-reference/venue-platform-preview/unbind-a-hedge-account"},{"title":"Read risk across the venue's accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/risk","href":"/api-reference/venue-platform-preview/read-risk-across-the-venues-accounts"}]},{"group":"Venue rules","pages":[{"title":"Turn venue rules on or off","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/rules","href":"/api-reference/venue-platform-preview/turn-venue-rules-on-or-off"}]},{"group":"Usage and webhooks","pages":[{"title":"Read the venue's metered usage for a month","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/usage","href":"/api-reference/venue-platform-preview/read-the-venues-metered-usage-for-a-month"},{"title":"Read the accounts behind the venue's usage","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/usage/accounts","href":"/api-reference/venue-platform-preview/read-the-accounts-behind-the-venues-usage"},{"title":"Read the receipt of one balance operation","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/balance-ops/{referenceId}","href":"/api-reference/venue-platform-preview/read-the-receipt-of-one-balance-operation"},{"title":"List the venue's webhooks","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/webhooks","href":"/api-reference/venue-platform-preview/list-the-venues-webhooks"},{"title":"Register a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/webhooks","href":"/api-reference/venue-platform-preview/register-a-webhook"},{"title":"Remove a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/webhooks/{webhookId}","href":"/api-reference/venue-platform-preview/remove-a-webhook"},{"title":"Send a signed test ping to a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/webhooks/{webhookId}/test","href":"/api-reference/venue-platform-preview/send-a-signed-test-ping-to-a-webhook"},{"title":"Read a webhook's delivery log","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/webhooks/{webhookId}/deliveries","href":"/api-reference/venue-platform-preview/read-a-webhooks-delivery-log"}]},{"group":"Pre-registration","pages":[{"title":"Pre-register a trader’s account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/pre-registration/registrations","href":"/api-reference/connect/pre-register-a-trader’s-account"},{"title":"List pre-registered accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/pre-registration/registrations","href":"/api-reference/connect/list-pre-registered-accounts"},{"title":"Cancel a pre-registration","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/pre-registration/registrations","href":"/api-reference/connect/cancel-a-pre-registration"}]},{"group":"Pre-registration conformance (sandbox)","pages":[{"title":"Start a sandbox conformance run","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/pre-registration/conformance/runs","href":"/api-reference/connect/start-a-sandbox-conformance-run"},{"title":"Read conformance run results","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/pre-registration/conformance/runs/{id}","href":"/api-reference/connect/read-conformance-run-results"},{"title":"Finish a sandbox conformance run","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/pre-registration/conformance/runs/{id}/close","href":"/api-reference/connect/finish-a-sandbox-conformance-run"}]}]}]}]},{"tab":"SDKs and tools","dropdowns":[{"dropdown":"Overview","icon":"flag-checkered","description":"Choose a tool for your integration","pages":[{"title":"SDKs and tools","sidebarTitle":"Overview","href":"/sdks"}]},{"dropdown":"Connect","icon":"link","description":"Embed hosted Connect with the Connect SDK","pages":[{"title":"Connect SDK","sidebarTitle":"Connect SDK","href":"/sdks/connect"}]},{"dropdown":"TypeScript","icon":"cube","description":"Read about the TypeScript SDK and its availability","pages":[{"title":"TypeScript SDK","sidebarTitle":"TypeScript SDK (unavailable)","href":"/sdks/typescript"}]},{"dropdown":"Charting","icon":"chart-line","description":"Build charts with Quick Charts","pages":[{"title":"Charting","href":"/chart-integration"}]},{"dropdown":"CLI","icon":"terminal","description":"Read about the CLI and its availability","pages":[{"title":"CLI","sidebarTitle":"CLI (unavailable)","href":"/cli"}]},{"dropdown":"AI","icon":"robot","description":"Build and check an integration with a coding agent","groups":[{"group":"Start here","pages":[{"title":"Build with AI","href":"/ai"}]},{"group":"Prompts","pages":[{"title":"Agent prompts","href":"/sdks/agent-prompts"}]}]}]}]},"title":"Get symbol details - trdrs Engine API","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}