Polymarket-CLOB-compat alias for X-API-Key (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. X-API-Key takes precedence when both are provided.
PM-CLOB-compat dashed-form alias for X-API-Key. Same value semantics as POLY_API_KEY but with HTTP-conventional dash separators. Both spellings are accepted end-to-end.
PM-CLOB-compat: Authorization: Bearer ps_live_... (or ps_test_...) is accepted as an alias for X-API-Key so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"PolySimulator","description":"Virtual prediction market trading API — practice with real Polymarket data and simulated money.","colors":{"primary":"#00d26a","light":"#e6fff2","dark":"#0a0f1c"},"logo":{"light":"https://mintcdn.com/polysimulator/g3hLzzd62nMdIToN/logo/polysim-light.svg?fit=max\u0026auto=format\u0026n=g3hLzzd62nMdIToN\u0026q=85\u0026s=510d6e93b34b84b254f2ff702c7f2f11","dark":"https://mintcdn.com/polysimulator/g3hLzzd62nMdIToN/logo/polysim-dark.svg?fit=max\u0026auto=format\u0026n=g3hLzzd62nMdIToN\u0026q=85\u0026s=66470ef617df21d00b93aa5818ac88cb","href":"https://polysimulator.com"},"favicon":"https://mintcdn.com/polysimulator/G-TcC615M002Bemd/favicon.svg?fit=max\u0026auto=format\u0026n=G-TcC615M002Bemd\u0026q=85\u0026s=ea27fd1461a89daeb2375031fae575e4","api":{"playground":{}},"navbar":{"links":[{"href":"https://polysimulator.com/markets","label":"Dashboard"},{"href":"https://github.com/Bavariance/polysimulator-docs","label":"GitHub"}],"primary":{"type":"button","label":"Get API Key","href":"https://polysimulator.com/profile"}},"footer":{"socials":{"github":"https://github.com/Bavariance/polysimulator-docs","x":"https://x.com/PolySimulatorHQ"},"links":[{"header":"Product","items":[{"label":"Markets","href":"https://polysimulator.com/markets"},{"label":"Leaderboard","href":"https://polysimulator.com/leaderboard"}]},{"header":"Developers","items":[{"label":"API Reference","href":"/api-reference"},{"label":"GitHub","href":"https://github.com/Bavariance/polysimulator-docs"}]}]},"seo":{},"errors":{"404":{"redirect":true,"title":"Page Not Found","description":"The page you're looking for doesn't exist. Check the sidebar or search for what you need."}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"polysimulator","hasAudioNarration":false,"actualSubdomain":"polysimulator","customDomains":["docs.polysimulator.com"],"gitSource":{"type":"github","owner":"bavariance","repo":"polysimulator","deployBranch":"staging","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2b3c3997fc3d7b2d0f62d","collectionId":"6b44fd4c-86e3-4a78-9943-6cdf1f9efdc4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2b3c3997fc3d7b2d0f62d"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6aeb280a245c712a705a482d","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":146},{"language":"default","tag":"Endpoints","count":135},{"language":"default","tag":"Documentation","count":46},{"language":"default","tag":"CLOB Read (Public)","count":17},{"language":"default","tag":"Market Data","count":13},{"language":"default","tag":"Simulation","count":13},{"language":"default","tag":"Account","count":13},{"language":"default","tag":"API Keys","count":9},{"language":"default","tag":"CLOB Compat","count":9},{"language":"default","tag":"Developer Webhooks","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/trading/batch-orders","slug":"/api-reference/trading/batch-orders","pageMetadata":{"title":"Batch Orders","description":null,"deprecated":null,"version":null,"openapi":"/openapi.json post /v1/orders/batch","href":"/api-reference/trading/batch-orders","autogeneratedByOpenApi":true},"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":"Batch Orders","description":null,"deprecated":null,"version":null,"openapi":"/openapi.json post /v1/orders/batch","href":"/api-reference/trading/batch-orders","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Trading","Trading"],"summary":"Batch Orders","operationId":"placeBatch","parameters":["83cf7b54-201c-48cf-9144-3e1d70ec5b69","dc7c5da0-6180-450b-8945-ee0079fd56ef","04790478-3aa1-4b88-b8f1-e03b1d6e5df6","123ad44a-be0d-4fb0-b659-4e198cce7137"],"requestBody":"d06ad29e-28bb-43a7-bdf9-52c6652460e7","responses":{"200":"b7c66fb9-e0a7-4fda-af8d-66d00bc0d9fc","401":"2cd6a579-7c18-49ef-9fb9-45c66e51c966","403":"3cc7cf70-c402-4793-9293-cf55c56f06fe","404":"b3042fc4-0eb6-4773-9ed2-46ebf1d365d3","422":"8a7fe213-8fb2-4b55-9dec-d7d62d8e31c3","429":"f0928b7a-1462-4ffb-97e6-139081df9a31"},"method":"post","type":"path","servers":["431ff564-91e2-4aad-b4f5-293c93a4432c","4c86d600-7a98-4c1b-9524-2b542282e88b"],"security":["8d5875e9-074a-47bc-b0fb-aaeb46778b14"],"path":"/v1/orders/batch","baseUrlOptions":["https://api.polysimulator.com","https://staging-api.polysimulator.com"],"title":"Batch Orders","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"83cf7b54-201c-48cf-9144-3e1d70ec5b69":{"name":"X-API-Key","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"X-Api-Key","description":"Your PolySimulator API key","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"X-Api-Key","description":"Your PolySimulator API key","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"Your PolySimulator API key"},"dc7c5da0-6180-450b-8945-ee0079fd56ef":{"name":"POLY_API_KEY","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"Poly Api Key","description":"Polymarket-CLOB-compat alias for ``X-API-Key`` (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. ``X-API-Key`` takes precedence when both are provided.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Poly Api Key","description":"Polymarket-CLOB-compat alias for ``X-API-Key`` (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. ``X-API-Key`` takes precedence when both are provided.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"Polymarket-CLOB-compat alias for ``X-API-Key`` (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. ``X-API-Key`` takes precedence when both are provided."},"04790478-3aa1-4b88-b8f1-e03b1d6e5df6":{"name":"Poly-API-Key","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"Poly-Api-Key","description":"PM-CLOB-compat dashed-form alias for ``X-API-Key``. Same value semantics as ``POLY_API_KEY`` but with HTTP-conventional dash separators. Both spellings are accepted end-to-end.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Poly-Api-Key","description":"PM-CLOB-compat dashed-form alias for ``X-API-Key``. Same value semantics as ``POLY_API_KEY`` but with HTTP-conventional dash separators. Both spellings are accepted end-to-end.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"PM-CLOB-compat dashed-form alias for ``X-API-Key``. Same value semantics as ``POLY_API_KEY`` but with HTTP-conventional dash separators. Both spellings are accepted end-to-end."},"123ad44a-be0d-4fb0-b659-4e198cce7137":{"name":"authorization","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"Authorization","description":"PM-CLOB-compat: ``Authorization: Bearer ps_live_...`` (or ``ps_test_...``) is accepted as an alias for ``X-API-Key`` so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Authorization","description":"PM-CLOB-compat: ``Authorization: Bearer ps_live_...`` (or ``ps_test_...``) is accepted as an alias for ``X-API-Key`` so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"PM-CLOB-compat: ``Authorization: Bearer ps_live_...`` (or ``ps_test_...``) is accepted as an alias for ``X-API-Key`` so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"orders":{"items":{"properties":{"market_id":{"type":"string","maxLength":256,"title":"Market Id","description":"Polymarket condition_id","isRequired":true,"uniqueKey":"orders.items.[INDEX].market_id","typeLabel":"string"},"side":{"type":"string","enum":["BUY","SELL"],"title":"Side","isRequired":true,"uniqueKey":"orders.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"outcome":{"type":"string","maxLength":200,"title":"Outcome","description":"Outcome label, e.g., Yes or No","isRequired":true,"uniqueKey":"orders.items.[INDEX].outcome","typeLabel":"string"},"quantity":{"oneOf":[{"type":"string","title":"Quantity","description":"Number of shares as decimal string, e.g. '10.5'. Required UNLESS ``amount`` is provided (BUY market orders only — Polymarket convention).","uniqueKey":"orders.items.[INDEX].quantity.oneOf.0","typeLabel":"string"},{"type":"null","title":"Quantity","description":"Number of shares as decimal string, e.g. '10.5'. Required UNLESS ``amount`` is provided (BUY market orders only — Polymarket convention).","uniqueKey":"orders.items.[INDEX].quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].quantity","typeLabel":"string | null"},"amount":{"oneOf":[{"type":"string","title":"Amount","description":"USD amount to spend, as decimal string (e.g. '10.50'). Polymarket convention for BUY market orders: ``amount=5`` means 'spend $5' (versus our ``quantity=5`` which means 'buy 5 shares ≈ $5 × current_price'). Only valid when ``side=BUY`` and ``order_type=market``; the handler derives ``quantity = floor4(amount / price)`` using the caller-supplied **worst-price limit** in the ``price`` field (NOT the eventual fill price). This is conservative: the trade can't spend more than ``amount`` USD even at the worst acceptable price; a better fill means more shares. The result is rounded down to 4 decimal places (the matching engine's share quantum) and capped at the per-trade share limit. For SELL or limit orders, use ``quantity`` (shares). Mutually exclusive with ``quantity`` — supplying both is a 400 error.","uniqueKey":"orders.items.[INDEX].amount.oneOf.0","typeLabel":"string"},{"type":"null","title":"Amount","description":"USD amount to spend, as decimal string (e.g. '10.50'). Polymarket convention for BUY market orders: ``amount=5`` means 'spend $5' (versus our ``quantity=5`` which means 'buy 5 shares ≈ $5 × current_price'). Only valid when ``side=BUY`` and ``order_type=market``; the handler derives ``quantity = floor4(amount / price)`` using the caller-supplied **worst-price limit** in the ``price`` field (NOT the eventual fill price). This is conservative: the trade can't spend more than ``amount`` USD even at the worst acceptable price; a better fill means more shares. The result is rounded down to 4 decimal places (the matching engine's share quantum) and capped at the per-trade share limit. For SELL or limit orders, use ``quantity`` (shares). Mutually exclusive with ``quantity`` — supplying both is a 400 error.","uniqueKey":"orders.items.[INDEX].amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].amount","typeLabel":"string | null"},"order_type":{"type":"string","enum":["market","limit"],"title":"Order Type","description":"Order type","default":"market","uniqueKey":"orders.items.[INDEX].order_type","typeLabel":"enum\u003cstring>"},"price":{"oneOf":[{"type":"string","title":"Price","description":"For limit orders: the limit price (0.01-0.99, required). For market orders: the worst acceptable price — Polymarket-style slippage protection (required). BUY won't fill above this price; SELL won't fill below it. All market orders are effectively marketable limit orders, matching Polymarket's execution model.","uniqueKey":"orders.items.[INDEX].price.oneOf.0","typeLabel":"string"},{"type":"null","title":"Price","description":"For limit orders: the limit price (0.01-0.99, required). For market orders: the worst acceptable price — Polymarket-style slippage protection (required). BUY won't fill above this price; SELL won't fill below it. All market orders are effectively marketable limit orders, matching Polymarket's execution model.","uniqueKey":"orders.items.[INDEX].price.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].price","typeLabel":"string | null"},"time_in_force":{"type":"string","enum":["GTC","FOK","FAK","IOC","GTD"],"title":"Time In Force","description":"GTC = Good-Til-Cancel (default for limit orders, persists until filled/cancelled; on a market order it is replaced by IOC), FOK = Fill-Or-Kill (all-or-nothing: fills only if displayed depth within the limit covers the full size), FAK = Fill-And-Kill (Polymarket term for partial fill, cancel remainder — equivalent to IOC), IOC = Immediate-Or-Cancel (partial fill, cancel remainder; the default for market orders), GTD = Good-Til-Date (limit orders only; resting limit auto-expiring at `expiration`; live on production, gated by the `ORDER_SEMANTICS_PM_V2_ENABLED` rollout flag — where that flag is off, GTD is rejected as an invalid value)","default":"GTC","uniqueKey":"orders.items.[INDEX].time_in_force","typeLabel":"enum\u003cstring>"},"client_order_id":{"oneOf":[{"type":"string","title":"Client Order Id","description":"Idempotency key","maxLength":256,"uniqueKey":"orders.items.[INDEX].client_order_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Client Order Id","description":"Idempotency key","uniqueKey":"orders.items.[INDEX].client_order_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].client_order_id","typeLabel":"string | null"},"expiration":{"oneOf":[{"type":"string","title":"Expiration","description":"Unix-seconds expiration timestamp — required for time_in_force=GTD (PM convention: the order auto-cancels once the timestamp passes), ignored for every other TIF. Rolling out behind ORDER_SEMANTICS_PM_V2_ENABLED.","uniqueKey":"orders.items.[INDEX].expiration.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expiration","description":"Unix-seconds expiration timestamp — required for time_in_force=GTD (PM convention: the order auto-cancels once the timestamp passes), ignored for every other TIF. Rolling out behind ORDER_SEMANTICS_PM_V2_ENABLED.","uniqueKey":"orders.items.[INDEX].expiration.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].expiration","typeLabel":"string | null"},"post_only":{"oneOf":[{"type":"boolean","title":"Post Only","description":"Polymarket's postOnly: the order must REST on the book — if it would cross the spread (marketable at placement) it is rejected with 400 INVALID_POST_ONLY_ORDER instead of executing, guaranteeing maker-side execution. Only valid for limit orders with GTC/GTD time-in-force (FOK/FAK/IOC/market combinations are rejected with INVALID_POST_ONLY_ORDER_TYPE, matching PM). Rolling out behind ORDER_SEMANTICS_PM_V2_ENABLED; advisory (ignored) until the flag is on.","default":false,"uniqueKey":"orders.items.[INDEX].post_only.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Post Only","description":"Polymarket's postOnly: the order must REST on the book — if it would cross the spread (marketable at placement) it is rejected with 400 INVALID_POST_ONLY_ORDER instead of executing, guaranteeing maker-side execution. Only valid for limit orders with GTC/GTD time-in-force (FOK/FAK/IOC/market combinations are rejected with INVALID_POST_ONLY_ORDER_TYPE, matching PM). Rolling out behind ORDER_SEMANTICS_PM_V2_ENABLED; advisory (ignored) until the flag is on.","default":false,"uniqueKey":"orders.items.[INDEX].post_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].post_only","typeLabel":"boolean | null"},"wallet_id":{"oneOf":[{"type":"integer","title":"Wallet Id","description":"Multi-wallet (May 8 launch). When set to a SANDBOX wallet the user owns, the trade debits/credits Wallet.balance directly and the resulting Order is tagged with trade_source='ui_sandbox' (excluded from the public leaderboard). When set to a MAIN/API wallet the user owns, the cash flow is routed to that explicit wallet (otherwise we default to API for /v1/orders). Omit for legacy back-compat behaviour: cash flows to the user's API wallet.","uniqueKey":"orders.items.[INDEX].wallet_id.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Wallet Id","description":"Multi-wallet (May 8 launch). When set to a SANDBOX wallet the user owns, the trade debits/credits Wallet.balance directly and the resulting Order is tagged with trade_source='ui_sandbox' (excluded from the public leaderboard). When set to a MAIN/API wallet the user owns, the cash flow is routed to that explicit wallet (otherwise we default to API for /v1/orders). Omit for legacy back-compat behaviour: cash flows to the user's API wallet.","uniqueKey":"orders.items.[INDEX].wallet_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].wallet_id","typeLabel":"integer | null"},"magic":{"oneOf":[{"type":"integer","title":"Magic","description":"Bot / strategy identifier (MetaTrader 5 style magic number), 0..9223372036854775807. Not unique: every order a bot places can share it, so the bot can later filter GET /v1/orders, export trades and cancel-all with ?magic=\u003cn> without touching other bots on the same account. Omitted: the API key's default_magic applies, if configured.","maximum":9223372036854776000,"minimum":0,"uniqueKey":"orders.items.[INDEX].magic.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Magic","description":"Bot / strategy identifier (MetaTrader 5 style magic number), 0..9223372036854775807. Not unique: every order a bot places can share it, so the bot can later filter GET /v1/orders, export trades and cancel-all with ?magic=\u003cn> without touching other bots on the same account. Omitted: the API key's default_magic applies, if configured.","uniqueKey":"orders.items.[INDEX].magic.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].magic","typeLabel":"integer | null"},"magic_label":{"oneOf":[{"type":"string","title":"Magic Label","description":"Optional human-readable bot name shown next to the magic number (max 32 printable characters, trimmed; blank means none), e.g. 'arb-v1'. Omitted: the API key's default_magic_label applies, if configured.","maxLength":32,"uniqueKey":"orders.items.[INDEX].magic_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Magic Label","description":"Optional human-readable bot name shown next to the magic number (max 32 printable characters, trimmed; blank means none), e.g. 'arb-v1'. Omitted: the API key's default_magic_label applies, if configured.","uniqueKey":"orders.items.[INDEX].magic_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].magic_label","typeLabel":"string | null"}},"type":"object","required":["market_id","side","outcome"],"title":"PlaceOrderRequest","uniqueKey":"orders.items.[INDEX]","typeLabel":"PlaceOrderRequest · object"},"type":"array","maxItems":100,"minItems":1,"title":"Orders","isRequired":true,"uniqueKey":"orders","typeLabel":"PlaceOrderRequest · object[]"}},"type":"object","required":["orders"],"title":"BatchOrderRequest","uniqueKey":"","typeLabel":"BatchOrderRequest · object"},"examples":{"Example":{"title":"Example","value":{"orders":[{"market_id":"\u003cstring>","outcome":"\u003cstring>","quantity":"\u003cstring>","amount":"\u003cstring>","order_type":"market","price":"\u003cstring>","time_in_force":"GTC","client_order_id":"\u003cstring>","expiration":"\u003cstring>","post_only":false,"wallet_id":123,"magic":4611686018427388000,"magic_label":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"b7c66fb9-e0a7-4fda-af8d-66d00bc0d9fc":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"results":{"items":{"properties":{"order_id":{"type":"integer","title":"Order Id","isRequired":true,"uniqueKey":"results.items.[INDEX].order_id","typeLabel":"integer"},"status":{"type":"string","title":"Status","isRequired":true,"uniqueKey":"results.items.[INDEX].status","typeLabel":"string"},"order_type":{"type":"string","title":"Order Type","isRequired":true,"uniqueKey":"results.items.[INDEX].order_type","typeLabel":"string"},"side":{"type":"string","title":"Side","isRequired":true,"uniqueKey":"results.items.[INDEX].side","typeLabel":"string"},"outcome":{"type":"string","title":"Outcome","isRequired":true,"uniqueKey":"results.items.[INDEX].outcome","typeLabel":"string"},"price":{"type":"string","title":"Price","isRequired":true,"uniqueKey":"results.items.[INDEX].price","typeLabel":"string"},"quantity":{"type":"string","title":"Quantity","isRequired":true,"uniqueKey":"results.items.[INDEX].quantity","typeLabel":"string"},"notional":{"type":"string","title":"Notional","isRequired":true,"uniqueKey":"results.items.[INDEX].notional","typeLabel":"string"},"fee":{"type":"string","title":"Fee","isRequired":true,"uniqueKey":"results.items.[INDEX].fee","typeLabel":"string"},"filled_at":{"oneOf":[{"type":"string","title":"Filled At","uniqueKey":"results.items.[INDEX].filled_at.oneOf.0","typeLabel":"string"},{"type":"null","title":"Filled At","uniqueKey":"results.items.[INDEX].filled_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].filled_at","typeLabel":"string | null"},"cancelled_reason":{"oneOf":[{"type":"string","title":"Cancelled Reason","description":"Why a CANCELLED order was cancelled - a stable snake_case machine tag. An order cancelled inside the request that created it (a marketable IOC/FAK that could not fill) reports the no-fill cause, for example 'price_did_not_cross', 'fok_insufficient_depth', 'book_depleted', 'depth_required', 'no_live_price' or 'no_book_price'. An order cancelled while resting on the book reports for example 'gtd_expired', 'stale_market', 'stale_or_mismatched_book' or 'reset'. Null on non-cancelled statuses and on legacy rows, so branch on `status` to detect cancellation and on this field to learn the cause.","uniqueKey":"results.items.[INDEX].cancelled_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Cancelled Reason","description":"Why a CANCELLED order was cancelled - a stable snake_case machine tag. An order cancelled inside the request that created it (a marketable IOC/FAK that could not fill) reports the no-fill cause, for example 'price_did_not_cross', 'fok_insufficient_depth', 'book_depleted', 'depth_required', 'no_live_price' or 'no_book_price'. An order cancelled while resting on the book reports for example 'gtd_expired', 'stale_market', 'stale_or_mismatched_book' or 'reset'. Null on non-cancelled statuses and on legacy rows, so branch on `status` to detect cancellation and on this field to learn the cause.","uniqueKey":"results.items.[INDEX].cancelled_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].cancelled_reason","typeLabel":"string | null"},"price_source":{"oneOf":[{"type":"string","title":"Price Source","uniqueKey":"results.items.[INDEX].price_source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Price Source","uniqueKey":"results.items.[INDEX].price_source.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].price_source","typeLabel":"string | null"},"fill_source":{"oneOf":[{"type":"string","title":"Fill Source","uniqueKey":"results.items.[INDEX].fill_source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Fill Source","uniqueKey":"results.items.[INDEX].fill_source.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].fill_source","typeLabel":"string | null"},"slippage_bps":{"oneOf":[{"type":"integer","title":"Slippage Bps","uniqueKey":"results.items.[INDEX].slippage_bps.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Slippage Bps","uniqueKey":"results.items.[INDEX].slippage_bps.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].slippage_bps","typeLabel":"integer | null"},"quote_age_ms":{"oneOf":[{"type":"integer","title":"Quote Age Ms","uniqueKey":"results.items.[INDEX].quote_age_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Quote Age Ms","uniqueKey":"results.items.[INDEX].quote_age_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].quote_age_ms","typeLabel":"integer | null"},"spread_bps":{"oneOf":[{"type":"integer","title":"Spread Bps","uniqueKey":"results.items.[INDEX].spread_bps.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Spread Bps","uniqueKey":"results.items.[INDEX].spread_bps.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].spread_bps","typeLabel":"integer | null"},"impact_bps":{"oneOf":[{"type":"integer","title":"Impact Bps","uniqueKey":"results.items.[INDEX].impact_bps.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Impact Bps","uniqueKey":"results.items.[INDEX].impact_bps.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].impact_bps","typeLabel":"integer | null"},"book_walk_levels":{"oneOf":[{"type":"integer","title":"Book Walk Levels","uniqueKey":"results.items.[INDEX].book_walk_levels.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Book Walk Levels","uniqueKey":"results.items.[INDEX].book_walk_levels.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].book_walk_levels","typeLabel":"integer | null"},"account_balance":{"oneOf":[{"type":"string","title":"Account Balance","uniqueKey":"results.items.[INDEX].account_balance.oneOf.0","typeLabel":"string"},{"type":"null","title":"Account Balance","uniqueKey":"results.items.[INDEX].account_balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].account_balance","typeLabel":"string | null"},"position":{"oneOf":[{"type":"object","title":"Position","additionalProperties":true,"uniqueKey":"results.items.[INDEX].position.oneOf.0","typeLabel":"Position · object"},{"type":"null","title":"Position","uniqueKey":"results.items.[INDEX].position.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].position","typeLabel":"Position · object | null"},"client_order_id":{"oneOf":[{"type":"string","title":"Client Order Id","uniqueKey":"results.items.[INDEX].client_order_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Client Order Id","uniqueKey":"results.items.[INDEX].client_order_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].client_order_id","typeLabel":"string | null"},"magic":{"oneOf":[{"type":"integer","title":"Magic","uniqueKey":"results.items.[INDEX].magic.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Magic","uniqueKey":"results.items.[INDEX].magic.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].magic","typeLabel":"integer | null"},"magic_label":{"oneOf":[{"type":"string","title":"Magic Label","uniqueKey":"results.items.[INDEX].magic_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Magic Label","uniqueKey":"results.items.[INDEX].magic_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].magic_label","typeLabel":"string | null"},"error":{"oneOf":[{"type":"string","title":"Error","uniqueKey":"results.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error","uniqueKey":"results.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].error","typeLabel":"string | null"},"error_message":{"oneOf":[{"type":"string","title":"Error Message","uniqueKey":"results.items.[INDEX].error_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error Message","uniqueKey":"results.items.[INDEX].error_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].error_message","typeLabel":"string | null"},"amount_interpreted_as":{"oneOf":[{"type":"string","title":"Amount Interpreted As","uniqueKey":"results.items.[INDEX].amount_interpreted_as.oneOf.0","typeLabel":"string"},{"type":"null","title":"Amount Interpreted As","uniqueKey":"results.items.[INDEX].amount_interpreted_as.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].amount_interpreted_as","typeLabel":"string | null"},"is_replay":{"oneOf":[{"type":"boolean","title":"Is Replay","uniqueKey":"results.items.[INDEX].is_replay.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Replay","uniqueKey":"results.items.[INDEX].is_replay.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].is_replay","typeLabel":"boolean | null"},"warnings":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"results.items.[INDEX].warnings.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Warnings","uniqueKey":"results.items.[INDEX].warnings.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Warnings","uniqueKey":"results.items.[INDEX].warnings.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].warnings","typeLabel":"string[] | null"}},"type":"object","required":["order_id","status","order_type","side","outcome","price","quantity","notional","fee"],"title":"OrderResponse","uniqueKey":"results.items.[INDEX]","typeLabel":"OrderResponse · object"},"type":"array","title":"Results","isRequired":true,"uniqueKey":"results","typeLabel":"OrderResponse · object[]"},"succeeded":{"type":"integer","title":"Succeeded","isRequired":true,"uniqueKey":"succeeded","typeLabel":"integer"},"failed":{"type":"integer","title":"Failed","isRequired":true,"uniqueKey":"failed","typeLabel":"integer"}},"type":"object","required":["results","succeeded","failed"],"title":"BatchOrderResponse","uniqueKey":"","typeLabel":"BatchOrderResponse · object"},"examples":{"Example":{"title":"Example","value":{"results":[{"order_id":123,"status":"\u003cstring>","order_type":"\u003cstring>","side":"\u003cstring>","outcome":"\u003cstring>","price":"\u003cstring>","quantity":"\u003cstring>","notional":"\u003cstring>","fee":"\u003cstring>","filled_at":"\u003cstring>","cancelled_reason":"\u003cstring>","price_source":"\u003cstring>","fill_source":"\u003cstring>","slippage_bps":123,"quote_age_ms":123,"spread_bps":123,"impact_bps":123,"book_walk_levels":123,"account_balance":"\u003cstring>","position":{},"client_order_id":"\u003cstring>","magic":123,"magic_label":"\u003cstring>","error":"\u003cstring>","error_message":"\u003cstring>","amount_interpreted_as":"\u003cstring>","is_replay":true,"warnings":["\u003cstring>"]}],"succeeded":123,"failed":123}}},"exampleType":"generated"}},"headers":{"X-RateLimit-Limit":{"description":"Requests permitted in the current minute window for this key's tier.","schema":{"type":"string"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current minute window.","schema":{"type":"string"}},"X-RateLimit-Reset":{"description":"Unix-seconds timestamp when the current minute window resets.","schema":{"type":"string"}},"X-RateLimit-Limit-Per-Second":{"description":"Requests permitted per second for this key's tier.","schema":{"type":"string"}},"X-RateLimit-Remaining-Per-Second":{"description":"Requests remaining in the current one-second window.","schema":{"type":"string"}},"X-RateLimit-Tier":{"description":"Rate-limit tier name applied to this request (free, pro, ...).","schema":{"type":"string"}},"X-Polysim-RateLimit-Limit":{"description":"Alias of X-RateLimit-Limit (requests per minute for this tier).","schema":{"type":"string"}},"X-Polysim-RateLimit-Remaining":{"description":"Alias of X-RateLimit-Remaining (requests remaining this minute).","schema":{"type":"string"}},"X-Polysim-RateLimit-Reset":{"description":"Alias of X-RateLimit-Reset (minute-window reset, unix seconds).","schema":{"type":"string"}},"X-Polysim-RateLimit-Limit-Per-Second":{"description":"Alias of X-RateLimit-Limit-Per-Second.","schema":{"type":"string"}},"X-Polysim-RateLimit-Remaining-Per-Second":{"description":"Alias of X-RateLimit-Remaining-Per-Second.","schema":{"type":"string"}},"X-Polysim-RateLimit-Tier":{"description":"Alias of X-RateLimit-Tier (tier name applied to this request).","schema":{"type":"string"}},"X-Request-Id":{"description":"Request id for log correlation. Echoes the caller's ``X-Request-Id`` when supplied, otherwise a server-minted UUID. Stamped on every response (success and error).","schema":{"type":"string"}}},"exampleType":"generated"},"2cd6a579-7c18-49ef-9fb9-45c66e51c966":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable error code; also returned in X-Polysim-Code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message","typeLabel":"string | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Additional context populated for verbose responses.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional context populated for verbose responses.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ApiError","description":"Structured error response for all API v1 endpoints.\n\n``error`` is the stable machine-readable code and ``message`` is human\nprose. SDK consumers must branch on ``error`` (or the identical\n``X-Polysim-Code`` header), never on ``message``. Diagnostic ``details``\nand the in-body ``request_id`` are added only when callers opt in with\n``X-Polysim-Verbose: true``; ``X-Request-Id`` is always present.","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Polysim-Code":{"description":"Stable short code identifying the error class. SDK consumers should branch on this header rather than the body text. Domain codes (INVALID_KEY, MARKET_NOT_FOUND, RATE_LIMIT_EXCEEDED, …) are preferred; HTTP_\u003cstatus> fallbacks ship when no domain code applies. The full list is mirrored in /llms.txt under ‘Error Format’.","schema":{"type":"string","enum":["INVALID_KEY","MISSING_API_KEY","INSUFFICIENT_PERMISSION","INSUFFICIENT_BALANCE","MARKET_CLOSED","INVALID_ORDER_MIN_TICK_SIZE","MARKET_NOT_FOUND","ORDER_NOT_FOUND","RATE_LIMIT_EXCEEDED","BOOK_UNAVAILABLE","INVALID_TOKEN_ID","VALIDATION_FAILED","UPGRADE_REQUIRED","ACCESS_RESTRICTED","COHORT_FULL","AUTH_STATE_INCOMPLETE","INTERNAL_ERROR","TOKEN_NOT_FOUND","INVALID_CURSOR","UPSTREAM_UNAVAILABLE","UNSUPPORTED_ORDER_TYPE","DUPLICATE_CLIENT_ORDER_ID","ORDER_EXECUTION_FAILED","DEADLINE_OVERSHOT_BUT_PERSISTED","PERSISTENCE_UNKNOWN","INVALID_BODY","INVALID_SOURCE","CLOSED_BETA","API_PRO_COMING_SOON","TIER_KEY_LIMIT_EXCEEDED","INVALID_REQUEST","INVALID_WINDOW","BACKTEST_MONTHLY_CAP","BACKTEST_MARKET_CAP","BACKTEST_WINDOW_CAP","SIMULATION_HOURS_EXCEEDED","METERING_UNAVAILABLE","JOB_STORE_UNAVAILABLE","CONDITION_HOUR_NOT_COVERED","ARCHIVE_UNAVAILABLE","ARCHIVE_NOT_FOUND","UNIVERSE_EXCLUDED","IDEMPOTENCY_KEY_REUSE","IDEMPOTENCY_CONFLICT_PENDING","NOT_FOUND","HTTP_400","HTTP_401","HTTP_403","HTTP_404","HTTP_409","HTTP_422","HTTP_429","HTTP_500","HTTP_502","HTTP_503"]}},"X-Request-Id":{"description":"Request id for log correlation. Echoes the caller's ``X-Request-Id`` when supplied, otherwise a server-minted UUID. Stamped on every response (success and error).","schema":{"type":"string"}}},"exampleType":"generated"},"3cc7cf70-c402-4793-9293-cf55c56f06fe":{"description":"Insufficient permission or access restricted.","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable error code; also returned in X-Polysim-Code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message","typeLabel":"string | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Additional context populated for verbose responses.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional context populated for verbose responses.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ApiError","description":"Structured error response for all API v1 endpoints.\n\n``error`` is the stable machine-readable code and ``message`` is human\nprose. SDK consumers must branch on ``error`` (or the identical\n``X-Polysim-Code`` header), never on ``message``. Diagnostic ``details``\nand the in-body ``request_id`` are added only when callers opt in with\n``X-Polysim-Verbose: true``; ``X-Request-Id`` is always present.","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Polysim-Code":{"description":"Stable short code identifying the error class. SDK consumers should branch on this header rather than the body text. Domain codes (INVALID_KEY, MARKET_NOT_FOUND, RATE_LIMIT_EXCEEDED, …) are preferred; HTTP_\u003cstatus> fallbacks ship when no domain code applies. The full list is mirrored in /llms.txt under ‘Error Format’.","schema":{"type":"string","enum":["INVALID_KEY","MISSING_API_KEY","INSUFFICIENT_PERMISSION","INSUFFICIENT_BALANCE","MARKET_CLOSED","INVALID_ORDER_MIN_TICK_SIZE","MARKET_NOT_FOUND","ORDER_NOT_FOUND","RATE_LIMIT_EXCEEDED","BOOK_UNAVAILABLE","INVALID_TOKEN_ID","VALIDATION_FAILED","UPGRADE_REQUIRED","ACCESS_RESTRICTED","COHORT_FULL","AUTH_STATE_INCOMPLETE","INTERNAL_ERROR","TOKEN_NOT_FOUND","INVALID_CURSOR","UPSTREAM_UNAVAILABLE","UNSUPPORTED_ORDER_TYPE","DUPLICATE_CLIENT_ORDER_ID","ORDER_EXECUTION_FAILED","DEADLINE_OVERSHOT_BUT_PERSISTED","PERSISTENCE_UNKNOWN","INVALID_BODY","INVALID_SOURCE","CLOSED_BETA","API_PRO_COMING_SOON","TIER_KEY_LIMIT_EXCEEDED","INVALID_REQUEST","INVALID_WINDOW","BACKTEST_MONTHLY_CAP","BACKTEST_MARKET_CAP","BACKTEST_WINDOW_CAP","SIMULATION_HOURS_EXCEEDED","METERING_UNAVAILABLE","JOB_STORE_UNAVAILABLE","CONDITION_HOUR_NOT_COVERED","ARCHIVE_UNAVAILABLE","ARCHIVE_NOT_FOUND","UNIVERSE_EXCLUDED","IDEMPOTENCY_KEY_REUSE","IDEMPOTENCY_CONFLICT_PENDING","NOT_FOUND","HTTP_400","HTTP_401","HTTP_403","HTTP_404","HTTP_409","HTTP_422","HTTP_429","HTTP_500","HTTP_502","HTTP_503"]}},"X-Request-Id":{"description":"Request id for log correlation. Echoes the caller's ``X-Request-Id`` when supplied, otherwise a server-minted UUID. Stamped on every response (success and error).","schema":{"type":"string"}}},"exampleType":"generated"},"b3042fc4-0eb6-4773-9ed2-46ebf1d365d3":{"description":"Resource not found (market / order / token).","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable error code; also returned in X-Polysim-Code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message","typeLabel":"string | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Additional context populated for verbose responses.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional context populated for verbose responses.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ApiError","description":"Structured error response for all API v1 endpoints.\n\n``error`` is the stable machine-readable code and ``message`` is human\nprose. SDK consumers must branch on ``error`` (or the identical\n``X-Polysim-Code`` header), never on ``message``. Diagnostic ``details``\nand the in-body ``request_id`` are added only when callers opt in with\n``X-Polysim-Verbose: true``; ``X-Request-Id`` is always present.","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Polysim-Code":{"description":"Stable short code identifying the error class. SDK consumers should branch on this header rather than the body text. Domain codes (INVALID_KEY, MARKET_NOT_FOUND, RATE_LIMIT_EXCEEDED, …) are preferred; HTTP_\u003cstatus> fallbacks ship when no domain code applies. The full list is mirrored in /llms.txt under ‘Error Format’.","schema":{"type":"string","enum":["INVALID_KEY","MISSING_API_KEY","INSUFFICIENT_PERMISSION","INSUFFICIENT_BALANCE","MARKET_CLOSED","INVALID_ORDER_MIN_TICK_SIZE","MARKET_NOT_FOUND","ORDER_NOT_FOUND","RATE_LIMIT_EXCEEDED","BOOK_UNAVAILABLE","INVALID_TOKEN_ID","VALIDATION_FAILED","UPGRADE_REQUIRED","ACCESS_RESTRICTED","COHORT_FULL","AUTH_STATE_INCOMPLETE","INTERNAL_ERROR","TOKEN_NOT_FOUND","INVALID_CURSOR","UPSTREAM_UNAVAILABLE","UNSUPPORTED_ORDER_TYPE","DUPLICATE_CLIENT_ORDER_ID","ORDER_EXECUTION_FAILED","DEADLINE_OVERSHOT_BUT_PERSISTED","PERSISTENCE_UNKNOWN","INVALID_BODY","INVALID_SOURCE","CLOSED_BETA","API_PRO_COMING_SOON","TIER_KEY_LIMIT_EXCEEDED","INVALID_REQUEST","INVALID_WINDOW","BACKTEST_MONTHLY_CAP","BACKTEST_MARKET_CAP","BACKTEST_WINDOW_CAP","SIMULATION_HOURS_EXCEEDED","METERING_UNAVAILABLE","JOB_STORE_UNAVAILABLE","CONDITION_HOUR_NOT_COVERED","ARCHIVE_UNAVAILABLE","ARCHIVE_NOT_FOUND","UNIVERSE_EXCLUDED","IDEMPOTENCY_KEY_REUSE","IDEMPOTENCY_CONFLICT_PENDING","NOT_FOUND","HTTP_400","HTTP_401","HTTP_403","HTTP_404","HTTP_409","HTTP_422","HTTP_429","HTTP_500","HTTP_502","HTTP_503"]}},"X-Request-Id":{"description":"Request id for log correlation. Echoes the caller's ``X-Request-Id`` when supplied, otherwise a server-minted UUID. Stamped on every response (success and error).","schema":{"type":"string"}}},"exampleType":"generated"},"8a7fe213-8fb2-4b55-9dec-d7d62d8e31c3":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable error code; also returned in X-Polysim-Code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message","typeLabel":"string | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Additional context populated for verbose responses.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional context populated for verbose responses.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ApiError","description":"Structured error response for all API v1 endpoints.\n\n``error`` is the stable machine-readable code and ``message`` is human\nprose. SDK consumers must branch on ``error`` (or the identical\n``X-Polysim-Code`` header), never on ``message``. Diagnostic ``details``\nand the in-body ``request_id`` are added only when callers opt in with\n``X-Polysim-Verbose: true``; ``X-Request-Id`` is always present.","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Polysim-Code":{"description":"Stable short code identifying the error class. SDK consumers should branch on this header rather than the body text. Domain codes (INVALID_KEY, MARKET_NOT_FOUND, RATE_LIMIT_EXCEEDED, …) are preferred; HTTP_\u003cstatus> fallbacks ship when no domain code applies. The full list is mirrored in /llms.txt under ‘Error Format’.","schema":{"type":"string","enum":["INVALID_KEY","MISSING_API_KEY","INSUFFICIENT_PERMISSION","INSUFFICIENT_BALANCE","MARKET_CLOSED","INVALID_ORDER_MIN_TICK_SIZE","MARKET_NOT_FOUND","ORDER_NOT_FOUND","RATE_LIMIT_EXCEEDED","BOOK_UNAVAILABLE","INVALID_TOKEN_ID","VALIDATION_FAILED","UPGRADE_REQUIRED","ACCESS_RESTRICTED","COHORT_FULL","AUTH_STATE_INCOMPLETE","INTERNAL_ERROR","TOKEN_NOT_FOUND","INVALID_CURSOR","UPSTREAM_UNAVAILABLE","UNSUPPORTED_ORDER_TYPE","DUPLICATE_CLIENT_ORDER_ID","ORDER_EXECUTION_FAILED","DEADLINE_OVERSHOT_BUT_PERSISTED","PERSISTENCE_UNKNOWN","INVALID_BODY","INVALID_SOURCE","CLOSED_BETA","API_PRO_COMING_SOON","TIER_KEY_LIMIT_EXCEEDED","INVALID_REQUEST","INVALID_WINDOW","BACKTEST_MONTHLY_CAP","BACKTEST_MARKET_CAP","BACKTEST_WINDOW_CAP","SIMULATION_HOURS_EXCEEDED","METERING_UNAVAILABLE","JOB_STORE_UNAVAILABLE","CONDITION_HOUR_NOT_COVERED","ARCHIVE_UNAVAILABLE","ARCHIVE_NOT_FOUND","UNIVERSE_EXCLUDED","IDEMPOTENCY_KEY_REUSE","IDEMPOTENCY_CONFLICT_PENDING","NOT_FOUND","HTTP_400","HTTP_401","HTTP_403","HTTP_404","HTTP_409","HTTP_422","HTTP_429","HTTP_500","HTTP_502","HTTP_503"]}},"X-Request-Id":{"description":"Request id for log correlation. Echoes the caller's ``X-Request-Id`` when supplied, otherwise a server-minted UUID. Stamped on every response (success and error).","schema":{"type":"string"}}},"exampleType":"generated"},"f0928b7a-1462-4ffb-97e6-139081df9a31":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable error code; also returned in X-Polysim-Code.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"Human-readable error description. Never branch on this value.","uniqueKey":"message.oneOf.1","typeLabel":"null"}],"uniqueKey":"message","typeLabel":"string | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Additional context populated for verbose responses.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional context populated for verbose responses.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Support correlation id; always returned in X-Request-Id.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ApiError","description":"Structured error response for all API v1 endpoints.\n\n``error`` is the stable machine-readable code and ``message`` is human\nprose. SDK consumers must branch on ``error`` (or the identical\n``X-Polysim-Code`` header), never on ``message``. Diagnostic ``details``\nand the in-body ``request_id`` are added only when callers opt in with\n``X-Polysim-Verbose: true``; ``X-Request-Id`` is always present.","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{},"request_id":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Polysim-Code":{"description":"Stable short code identifying the error class. SDK consumers should branch on this header rather than the body text. Domain codes (INVALID_KEY, MARKET_NOT_FOUND, RATE_LIMIT_EXCEEDED, …) are preferred; HTTP_\u003cstatus> fallbacks ship when no domain code applies. The full list is mirrored in /llms.txt under ‘Error Format’.","schema":{"type":"string","enum":["INVALID_KEY","MISSING_API_KEY","INSUFFICIENT_PERMISSION","INSUFFICIENT_BALANCE","MARKET_CLOSED","INVALID_ORDER_MIN_TICK_SIZE","MARKET_NOT_FOUND","ORDER_NOT_FOUND","RATE_LIMIT_EXCEEDED","BOOK_UNAVAILABLE","INVALID_TOKEN_ID","VALIDATION_FAILED","UPGRADE_REQUIRED","ACCESS_RESTRICTED","COHORT_FULL","AUTH_STATE_INCOMPLETE","INTERNAL_ERROR","TOKEN_NOT_FOUND","INVALID_CURSOR","UPSTREAM_UNAVAILABLE","UNSUPPORTED_ORDER_TYPE","DUPLICATE_CLIENT_ORDER_ID","ORDER_EXECUTION_FAILED","DEADLINE_OVERSHOT_BUT_PERSISTED","PERSISTENCE_UNKNOWN","INVALID_BODY","INVALID_SOURCE","CLOSED_BETA","API_PRO_COMING_SOON","TIER_KEY_LIMIT_EXCEEDED","INVALID_REQUEST","INVALID_WINDOW","BACKTEST_MONTHLY_CAP","BACKTEST_MARKET_CAP","BACKTEST_WINDOW_CAP","SIMULATION_HOURS_EXCEEDED","METERING_UNAVAILABLE","JOB_STORE_UNAVAILABLE","CONDITION_HOUR_NOT_COVERED","ARCHIVE_UNAVAILABLE","ARCHIVE_NOT_FOUND","UNIVERSE_EXCLUDED","IDEMPOTENCY_KEY_REUSE","IDEMPOTENCY_CONFLICT_PENDING","NOT_FOUND","HTTP_400","HTTP_401","HTTP_403","HTTP_404","HTTP_409","HTTP_422","HTTP_429","HTTP_500","HTTP_502","HTTP_503"]}},"X-Request-Id":{"description":"Request id for log correlation. Echoes the caller's ``X-Request-Id`` when supplied, otherwise a server-minted UUID. Stamped on every response (success and error).","schema":{"type":"string"}}},"exampleType":"generated"}},"security":{"8d5875e9-074a-47bc-b0fb-aaeb46778b14":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Issue from /v1/keys (or admin-issued for enterprise tier).","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"431ff564-91e2-4aad-b4f5-293c93a4432c":{"url":"https://api.polysimulator.com","description":"Production"},"4c86d600-7a98-4c1b-9524-2b542282e88b":{"url":"https://staging-api.polysimulator.com","description":"Staging"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Issue from /v1/keys (or admin-issued for enterprise tier).","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"Issue from /v1/keys (or admin-issued for enterprise tier).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"polysimulator","siteName":"PolySimulator","title":"Batch Orders - PolySimulator","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T12:41:59.239Z","originalFileLocation":"api-reference/trading/batch-orders.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=\"system\"}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=\"application-name\" content=\"PolySimulator\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_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/polysimulator/Z7O8VINNN1g3IFN9/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Batch Orders - PolySimulator\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PolySimulator\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.polysimulator.com/api-reference/trading/batch-orders\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://polysimulator.mintlify.app/_mintlify/api/og/v2?division=Trading\u0026amp;title=Batch+Orders\u0026amp;theme=836fae47dd9286134dc806ca\u0026amp;signature=071d1fa4a6438b88d4681337a7638e4b8fa6a47161da0386429f73236f3bb1c2\">\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=\"Batch Orders - PolySimulator\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polysimulator.mintlify.app/_mintlify/api/og/v2?division=Trading\u0026amp;title=Batch+Orders\u0026amp;theme=836fae47dd9286134dc806ca\u0026amp;signature=071d1fa4a6438b88d4681337a7638e4b8fa6a47161da0386429f73236f3bb1c2\">\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/polysimulator/Z7O8VINNN1g3IFN9/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PolySimulator\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00d26a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.polysimulator.com/api-reference/trading/batch-orders\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/trading/batch-orders.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.polysimulator.com/#organization\",\"name\":\"PolySimulator\",\"url\":\"https://docs.polysimulator.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/polysimulator/g3hLzzd62nMdIToN/logo/polysim-light.svg?fit=max\u0026auto=format\u0026n=g3hLzzd62nMdIToN\u0026q=85\u0026s=510d6e93b34b84b254f2ff702c7f2f11\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.polysimulator.com#website\",\"name\":\"PolySimulator\",\"url\":\"https://docs.polysimulator.com\",\"publisher\":{\"@id\":\"https://docs.polysimulator.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders#webpage\",\"url\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders\",\"name\":\"Batch Orders\",\"dateModified\":\"2026-11-04T12:41:59.239Z\",\"isPartOf\":{\"@id\":\"https://docs.polysimulator.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.polysimulator.com/api-reference/health/health-check\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trading\",\"item\":\"https://docs.polysimulator.com/api-reference/trading/list-user-orders-polysimulator-shape-%E2%80%94-see-also:-v1dataorders-for-pm-shape\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Batch Orders\",\"item\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders#apireference\",\"headline\":\"Batch Orders\",\"name\":\"Batch Orders\",\"url\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders\",\"mainEntityOfPage\":{\"@id\":\"https://docs.polysimulator.com/api-reference/trading/batch-orders#webpage\"},\"dateModified\":\"2026-11-04T12:41:59.239Z\",\"publisher\":{\"@id\":\"https://docs.polysimulator.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.polysimulator.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PolySimulator\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PolySimulator","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"API Reference","sidebarTitle":"Overview","href":"/api-reference/overview"}]},{"group":"Endpoints","icon":"code","pages":[{"group":"Health","pages":[{"title":"Health Check","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/health","href":"/api-reference/health/health-check"},{"title":"Liveness Check","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/health/live","href":"/api-reference/health/liveness-check"},{"title":"Readiness Check","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/health/ready","href":"/api-reference/health/readiness-check"},{"title":"System Status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/status","href":"/api-reference/health/system-status"},{"title":"Get Api Me","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me","href":"/api-reference/health/get-api-me"},{"title":"Version Check","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/version","href":"/api-reference/health/version-check"}]},{"group":"Market Data","pages":[{"title":"List markets (bare array; opt-in PM-shape envelope).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets","href":"/api-reference/market-data/list-markets-bare-array;-opt-in-pm-shape-envelope"},{"title":"Get Market","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{condition_id}","href":"/api-reference/market-data/get-market"},{"title":"Get Market By Slug","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/by-slug/{slug}","href":"/api-reference/market-data/get-market-by-slug"},{"title":"Get Order Book","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{condition_id}/book","href":"/api-reference/market-data/get-order-book"},{"title":"Batch Prices","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/prices/batch","href":"/api-reference/market-data/batch-prices"},{"title":"Get Candles","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{condition_id}/candles","href":"/api-reference/market-data/get-candles"}]},{"group":"API Reference","pages":[{"title":"List Updown Intervals","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/updown/intervals","href":"/api-reference/list-updown-intervals"},{"title":"List Up Or Down Markets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/updown","href":"/api-reference/list-up-or-down-markets"},{"title":"Get Market Series Siblings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{condition_id}/series-siblings","href":"/api-reference/get-market-series-siblings"},{"title":"Get Archive Price History Endpoint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/prices-history/archive","href":"/api-reference/get-archive-price-history-endpoint"},{"title":"List Email Preferences","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/integrations/email/preferences","href":"/api-reference/list-email-preferences"},{"title":"Update Email Preferences","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/integrations/email/preferences","href":"/api-reference/update-email-preferences"},{"title":"Integrations Email Test","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations/email/test","href":"/api-reference/integrations-email-test"},{"title":"Email Unsubscribe","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/email/unsubscribe","href":"/api-reference/email-unsubscribe"},{"title":"Email Unsubscribe Post","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/email/unsubscribe","href":"/api-reference/email-unsubscribe-post"},{"title":"Preview Alert","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/preview/alert","href":"/api-reference/preview-alert"}]},{"group":"CLOB Read (Public)","pages":[{"title":"Get Price","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/price","href":"/api-reference/clob-read-public/get-price"},{"title":"Get Prices Batch","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/prices","href":"/api-reference/clob-read-public/get-prices-batch"},{"title":"Get Midpoint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/midpoint","href":"/api-reference/clob-read-public/get-midpoint"},{"title":"Get Spread","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/spread","href":"/api-reference/clob-read-public/get-spread"},{"title":"Get Book By Token","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/book","href":"/api-reference/clob-read-public/get-book-by-token"},{"title":"Get Clob Book By Path","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/clob/book/{token_id}","href":"/api-reference/clob-read-public/get-clob-book-by-path"},{"title":"Price history (PM wire shape — {history: [{t, p}]}).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/prices-history","href":"/api-reference/clob-read-public/price-history-pm-wire-shape-—-]"},{"title":"Get Server Time","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/time","href":"/api-reference/clob-read-public/get-server-time"},{"title":"Get Last Trade Price","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/last-trade-price","href":"/api-reference/clob-read-public/get-last-trade-price"},{"title":"Get Tick Size Query","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tick-size","href":"/api-reference/clob-read-public/get-tick-size-query"},{"title":"Get Tick Size","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tick-size/{token_id}","href":"/api-reference/clob-read-public/get-tick-size"},{"title":"Get Neg Risk Query","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/neg-risk","href":"/api-reference/clob-read-public/get-neg-risk-query"},{"title":"Get Neg Risk","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/neg-risk/{token_id}","href":"/api-reference/clob-read-public/get-neg-risk"},{"title":"Get Market By Token","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets-by-token/{token_id}","href":"/api-reference/clob-read-public/get-market-by-token"},{"title":"Post Midpoints Batch","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/midpoints","href":"/api-reference/clob-read-public/post-midpoints-batch"},{"title":"Post Spreads Batch","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/spreads","href":"/api-reference/clob-read-public/post-spreads-batch"},{"title":"Post Books Batch","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/books","href":"/api-reference/clob-read-public/post-books-batch"}]},{"group":"Events","pages":[{"title":"List events with their markets (event-first shape).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/events","href":"/api-reference/events/list-events-with-their-markets-event-first-shape"}]},{"group":"Trading","pages":[{"title":"List user orders (Polysimulator-shape — see also: /v1/data/orders for PM-shape).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/orders","href":"/api-reference/trading/list-user-orders-polysimulator-shape-—-see-also:-v1dataorders-for-pm-shape"},{"title":"Place Order Dispatcher","description":null,"deprecated":null,"version":null,"openapi":"/openapi.json post /v1/orders","href":"/api-reference/trading/place-order-dispatcher"},{"title":"Batch Orders","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/orders/batch","href":"/api-reference/trading/batch-orders"},{"title":"Get a single order by ID (polysim-shape row).","description":"Returns one order row in the same Polysimulator shape as ``GET /v1/orders``. The ``order_id`` path param is the integer ID from an order row or returned by ``POST /v1/orders`` / ``POST /v1/clob/order``.\n\n**ID space caveat:** ``PendingOrder.id`` (limit orders) and ``Order.id`` (fills) are independent auto-increment sequences — the same integer can refer to different rows in each table. The default lookup precedence is ``PendingOrder`` first (matches ``DELETE`` semantics and the common limit-order polling case), then ``Order`` on miss. Every row returned by this endpoint and ``GET /v1/orders`` carries ``source``: pass that value as ``?source=`` to fetch the exact row again. ``?source=filled`` forces the Order table; ``?source=pending`` forces PendingOrder.\n\nWhen ``parent_order_id`` is present on a fill row, it identifies the parent PendingOrder. Fetch that parent with ``GET /v1/orders/{parent_order_id}?source=pending``.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/orders/{order_id}","href":"/api-reference/trading/get-a-single-order-by-id-polysim-shape-row"},{"title":"Cancel Order","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/orders/{order_id}","href":"/api-reference/trading/cancel-order"},{"title":"Clob Order","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/clob/order","href":"/api-reference/trading/clob-order"},{"title":"Cancel all pending limit orders (canonical verb).","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/cancel-all","href":"/api-reference/trading/cancel-all-pending-limit-orders-canonical-verb"},{"title":"Cancel all pending limit orders (legacy DELETE alias).","deprecated":true,"version":null,"openapi":"/openapi.json delete /v1/cancel-all","href":"/api-reference/trading/cancel-all-pending-limit-orders-legacy-delete-alias"},{"title":"Cancel Market Orders","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/cancel-market-orders","href":"/api-reference/trading/cancel-market-orders"}]},{"group":"CLOB Compat","pages":[{"title":"Polymarket-compat bulk-cancel by id list.","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/orders","href":"/api-reference/clob-compat/polymarket-compat-bulk-cancel-by-id-list"},{"title":"List user orders (Polymarket-shape — recommended for SDK clients).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data/orders","href":"/api-reference/clob-compat/list-user-orders-polymarket-shape-—-recommended-for-sdk-clients"},{"title":"Polymarket-compat single-order lookup (legacy top-level path).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/order/{order_id}","href":"/api-reference/clob-compat/polymarket-compat-single-order-lookup-legacy-top-level-path"},{"title":"Polymarket-compat single-order lookup (PM-shape /data/ path).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data/order/{order_id}","href":"/api-reference/clob-compat/polymarket-compat-single-order-lookup-pm-shape-data-path"},{"title":"Polymarket-compat single order placement.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/order","href":"/api-reference/clob-compat/polymarket-compat-single-order-placement"},{"title":"Polymarket-compat single-order cancel (body-payload).","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/order","href":"/api-reference/clob-compat/polymarket-compat-single-order-cancel-body-payload"},{"title":"Get trade fee rate (PM-compat base_fee + polysim fee_rate_bps)","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/fee-rate","href":"/api-reference/clob-compat/get-trade-fee-rate-pm-compat-base_fee-+-polysim-fee_rate_bps"},{"title":"Get USDC + conditional-token balance/allowance (PM keys — paper trading: huge)","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/balance-allowance","href":"/api-reference/clob-compat/get-usdc-+-conditional-token-balanceallowance-pm-keys-—-paper-trading:-huge"},{"title":"List user trades (PM-compat — reads from filled orders).","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data/trades","href":"/api-reference/clob-compat/list-user-trades-pm-compat-—-reads-from-filled-orders"}]},{"group":"Account","pages":[{"title":"Get Balance","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/balance","href":"/api-reference/account/get-balance"},{"title":"Get Positions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/positions","href":"/api-reference/account/get-positions"},{"title":"Get Portfolio","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/portfolio","href":"/api-reference/account/get-portfolio"},{"title":"Get Trade History","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/history","href":"/api-reference/account/get-trade-history"},{"title":"Get Equity Curve","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/equity","href":"/api-reference/account/get-equity-curve"},{"title":"Reset Api Balance","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/account/reset-api-balance","href":"/api-reference/account/reset-api-balance"},{"title":"Get Entitlements","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/me/entitlements","href":"/api-reference/account/get-entitlements"},{"title":"List Settlements","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/settlements","href":"/api-reference/account/list-settlements"},{"title":"Create Wallet Auth Challenge","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/auth/wallet/challenge","href":"/api-reference/account/create-wallet-auth-challenge"},{"title":"Verify Wallet Auth Challenge","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/auth/wallet/verify","href":"/api-reference/account/verify-wallet-auth-challenge"},{"title":"Logout Wallet Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/auth/wallet/logout","href":"/api-reference/account/logout-wallet-session"},{"title":"List My Wallet Identities","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me/wallet-identities","href":"/api-reference/account/list-my-wallet-identities"},{"title":"Update My Wallet Identity Visibility","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/me/wallet-identities/{identity_id}/visibility","href":"/api-reference/account/update-my-wallet-identity-visibility"}]},{"group":"Profile Analysis","pages":[{"title":"Full profile analysis for LLM/MCP consumption","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/account/profile-analysis","href":"/api-reference/profile-analysis/full-profile-analysis-for-llmmcp-consumption"}]},{"group":"API Keys","pages":[{"title":"List Keys","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/keys","href":"/api-reference/api-keys/list-keys"},{"title":"Create Key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys","href":"/api-reference/api-keys/create-key"},{"title":"Bootstrap first API key via Bearer JWT (advanced / headless)","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/bootstrap","href":"/api-reference/api-keys/bootstrap-first-api-key-via-bearer-jwt-advanced-headless"},{"title":"Revoke Key","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/keys/{key_id}","href":"/api-reference/api-keys/revoke-key"},{"title":"Rename Key","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/keys/{key_id}","href":"/api-reference/api-keys/rename-key"},{"title":"Rotate an API key with a zero-downtime overlap window","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/{key_id}/rotate","href":"/api-reference/api-keys/rotate-an-api-key-with-a-zero-downtime-overlap-window"},{"title":"List Tiers","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/keys/tiers","href":"/api-reference/api-keys/list-tiers"},{"title":"Get Key Usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/keys/usage","href":"/api-reference/api-keys/get-key-usage"},{"title":"Get Ws Token","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/ws-token","href":"/api-reference/api-keys/get-ws-token"}]},{"group":"Wallets","pages":[{"title":"List My Wallets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me/wallets","href":"/api-reference/wallets/list-my-wallets"},{"title":"Create Wallet","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/me/wallets","href":"/api-reference/wallets/create-wallet"},{"title":"Get Wallet","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/me/wallets/{wallet_id}","href":"/api-reference/wallets/get-wallet"},{"title":"Archive Wallet","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/me/wallets/{wallet_id}","href":"/api-reference/wallets/archive-wallet"},{"title":"Patch Wallet","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/me/wallets/{wallet_id}","href":"/api-reference/wallets/patch-wallet"},{"title":"Reset Wallet","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/me/wallets/{wallet_id}/reset","href":"/api-reference/wallets/reset-wallet"}]},{"group":"Export","pages":[{"title":"Export Trades Csv","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/export/trades.csv","href":"/api-reference/export/export-trades-csv"},{"title":"Export Positions Csv","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/export/positions.csv","href":"/api-reference/export/export-positions-csv"},{"title":"Export Settlements Csv","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/export/settlements.csv","href":"/api-reference/export/export-settlements-csv"}]},{"group":"WebSocket","pages":[{"title":"Ws Prices Upgrade Hint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/ws/prices","href":"/api-reference/websocket/ws-prices-upgrade-hint"},{"title":"Ws Executions Upgrade Hint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/ws/executions","href":"/api-reference/websocket/ws-executions-upgrade-hint"}]},{"group":"WebSocket (PM-compat)","pages":[{"title":"Ws Market Upgrade Hint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/ws/market","href":"/api-reference/websocket-pm-compat/ws-market-upgrade-hint"},{"title":"Ws User Upgrade Hint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/ws/user","href":"/api-reference/websocket-pm-compat/ws-user-upgrade-hint"}]},{"group":"Status","pages":[{"title":"Status Uptime","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/status/uptime","href":"/api-reference/status/status-uptime"}]},{"group":"Heartbeats","pages":[{"title":"Heartbeat dead-man's-switch — auto-cancel orders on missed pings.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/heartbeats","href":"/api-reference/heartbeats/heartbeat-dead-mans-switch-—-auto-cancel-orders-on-missed-pings"}]},{"group":"Football","pages":[{"title":"Football Fixtures","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/fixtures","href":"/api-reference/football/football-fixtures"},{"title":"Football Match","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/match/{match_id}","href":"/api-reference/football/football-match"},{"title":"Football Standings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/standings","href":"/api-reference/football/football-standings"},{"title":"Football Bracket","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/bracket","href":"/api-reference/football/football-bracket"},{"title":"Football H2H","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/h2h","href":"/api-reference/football/football-h2h"},{"title":"Football Scorers","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/scorers","href":"/api-reference/football/football-scorers"},{"title":"Football Squads","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/squads","href":"/api-reference/football/football-squads"},{"title":"Football Api Lineups","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/lineups","href":"/api-reference/football/football-api-lineups"},{"title":"Football Api Injuries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/football/injuries","href":"/api-reference/football/football-api-injuries"}]},{"group":"Simulation","pages":[{"title":"Simulate Fill","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/simulation/fill","href":"/api-reference/simulation/simulate-fill"},{"title":"Get Archive Coverage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/coverage","href":"/api-reference/simulation/get-archive-coverage"},{"title":"List Fill Models","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/fill-models","href":"/api-reference/simulation/list-fill-models"},{"title":"Replay Book","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/book","href":"/api-reference/simulation/replay-book"},{"title":"List Backtests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/backtests","href":"/api-reference/simulation/list-backtests"},{"title":"Create Backtest","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/simulation/backtests","href":"/api-reference/simulation/create-backtest"},{"title":"Get Backtest","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/backtests/{job_id}","href":"/api-reference/simulation/get-backtest"},{"title":"Cancel Backtest","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/simulation/backtests/{job_id}","href":"/api-reference/simulation/cancel-backtest"},{"title":"List Backtest Trades","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/backtests/{job_id}/trades","href":"/api-reference/simulation/list-backtest-trades"},{"title":"Get Backtest Equity","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/backtests/{job_id}/equity","href":"/api-reference/simulation/get-backtest-equity"},{"title":"Create Export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/simulation/exports","href":"/api-reference/simulation/create-export"},{"title":"Get Simulation Quota","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/simulation/quota","href":"/api-reference/simulation/get-simulation-quota"}]},{"group":"Developer Webhooks","pages":[{"title":"List Event Types","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/developer/webhooks/event-types","href":"/api-reference/developer-webhooks/list-event-types"},{"title":"List Endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/developer/webhooks","href":"/api-reference/developer-webhooks/list-endpoints"},{"title":"Create Endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/developer/webhooks","href":"/api-reference/developer-webhooks/create-endpoint"},{"title":"Get Endpoint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/developer/webhooks/{endpoint_id}","href":"/api-reference/developer-webhooks/get-endpoint"},{"title":"Delete Endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/developer/webhooks/{endpoint_id}","href":"/api-reference/developer-webhooks/delete-endpoint"},{"title":"Update Endpoint","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/developer/webhooks/{endpoint_id}","href":"/api-reference/developer-webhooks/update-endpoint"},{"title":"Rotate Secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/developer/webhooks/{endpoint_id}/rotate-secret","href":"/api-reference/developer-webhooks/rotate-secret"},{"title":"Test Endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/developer/webhooks/{endpoint_id}/test","href":"/api-reference/developer-webhooks/test-endpoint"},{"title":"List Deliveries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/developer/webhooks/{endpoint_id}/deliveries","href":"/api-reference/developer-webhooks/list-deliveries"}]},{"group":"Billing","pages":[{"title":"Create Checkout","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/billing/checkout","href":"/api-reference/billing/create-checkout"},{"title":"Create Portal","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/billing/portal","href":"/api-reference/billing/create-portal"},{"title":"Get Subscription","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/billing/subscription","href":"/api-reference/billing/get-subscription"},{"title":"List Billing Plans","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/billing/plans","href":"/api-reference/billing/list-billing-plans"},{"title":"Create Topup Checkout","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/billing/topup/checkout","href":"/api-reference/billing/create-topup-checkout"}]},{"group":"Integrations","pages":[{"title":"Discord List","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/integrations/discord","href":"/api-reference/integrations/discord-list"},{"title":"Discord Create","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations/discord","href":"/api-reference/integrations/discord-create"},{"title":"Discord Delete","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/integrations/discord/{subscription_id}","href":"/api-reference/integrations/discord-delete"},{"title":"Discord Test","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations/discord/{subscription_id}/test","href":"/api-reference/integrations/discord-test"}]}]}]}]},"basePath":"","title":"Batch Orders - PolySimulator","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}