The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex’s live feed for the market when one is running, otherwise fetched from the venue. No API key needed.
An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Plurex Docs","colors":{"primary":"#ba54f5","light":"#16C99D","dark":"#0C9473"},"logo":{"light":"https://mintcdn.com/plurex/55zZlLmLoaaEFioa/logo/light.svg?fit=max\u0026auto=format\u0026n=55zZlLmLoaaEFioa\u0026q=85\u0026s=e150115596b050b7a538e6f784ec2f44","dark":"https://mintcdn.com/plurex/55zZlLmLoaaEFioa/logo/dark.svg?fit=max\u0026auto=format\u0026n=55zZlLmLoaaEFioa\u0026q=85\u0026s=50700e3bf45d56130284da4e11ac0267"},"favicon":"https://mintcdn.com/plurex/55zZlLmLoaaEFioa/favicon.svg?fit=max\u0026auto=format\u0026n=55zZlLmLoaaEFioa\u0026q=85\u0026s=b75896d74b2a1f4042f455cecc2be909","navbar":{"links":[{"href":"https://support.plurex.io/portal/en/newticket","label":"Support"}],"primary":{"type":"button","label":"Platform","href":"https://platform.plurex.io"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"plurex","hasAudioNarration":false,"actualSubdomain":"plurex","customDomains":["docs.plurex.io"],"gitSource":{"type":"github","owner":"plurex","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade44ffd2e4fef472e0ac58","collectionId":"a7c51f46-4b8e-476f-8e36-fa538dccc3a7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade44ffd2e4fef472e0ac58"},"entitlements":{},"buildId":"6ade44ffd2e4fef472e0ac58","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API reference","count":46},{"language":"default","tag":"Trading","count":22},{"language":"default","tag":"Documentation","count":22},{"language":"default","tag":"Market data","count":10},{"language":"default","tag":"Orders","count":9},{"language":"default","tag":"Paper trading","count":8},{"language":"default","tag":"Accounts","count":6},{"language":"default","tag":"Prices and market statistics","count":5},{"language":"default","tag":"Concepts","count":5},{"language":"default","tag":"Leverage and position mode","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/platform/venues/get-open-interests","slug":"/api-reference/platform/venues/get-open-interests","pageMetadata":{"title":"Get open interests","description":"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex's live feed for the market when one is running, otherwise fetched from the venue. No API key needed.","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetOpenInterests","href":"/api-reference/platform/venues/get-open-interests"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex’s live feed for the market when one is running, otherwise fetched from the venue. No API key needed.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get open interests","description":"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex's live feed for the market when one is running, otherwise fetched from the venue. No API key needed.","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetOpenInterests","href":"/api-reference/platform/venues/get-open-interests"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"venuesGetOpenInterests","summary":"Get open interests","description":"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex's live feed for the market when one is running, otherwise fetched from the venue. No API key needed.","tags":["market-observations","public","optional","batch"],"security":[],"requestBody":"06a12386-28af-4264-9054-73ea7413efd9","responses":{"200":"8da32c97-c1d3-4277-a4c6-b457ce94e20b","400":"eae6aa06-aa0a-4a92-8186-a4e433d64880","404":"2364ab1f-4d98-4956-87c7-c19adf2a199c","415":"8753de12-f3de-4687-9a43-eebe45584f90","429":"7883f58e-5a86-4bc8-8581-355bbe9e66d7","500":"37cfade7-2323-47be-ad6f-924dc902456b","502":"4ae83585-5210-4b53-9027-0da4fc848cad","503":"ab38e187-c377-4be0-aaf2-17c6904c6f22","504":"5425cb01-77e5-498c-a7cb-9e85154696be"},"method":"post","type":"path","servers":["7bdeb600-191f-4ab2-ae0b-ca8270458bcb"],"path":"/api/v1/venues/query/GetOpenInterests","baseUrlOptions":["https://api.plurex.io"],"title":"Get open interests","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"venueId":{"type":"string","isRequired":true,"uniqueKey":"venueId","typeLabel":"string"},"instruments":{"type":"array","items":{"oneOf":[{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.0.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.0.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.0.expiry","typeLabel":"string\u003cdate>"},"type":{"type":"string","enum":["Future"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"instruments.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.1.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.1.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.1.expiry","typeLabel":"string\u003cdate>"},"type":{"type":"string","enum":["FutureInv"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"instruments.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry","strike","right"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.2.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.2.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.2.expiry","typeLabel":"string\u003cdate>"},"strike":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$","description":"Positive strike price in the quote asset, in canonical form so identity is exact; a plain decimal with no exponent and no trailing fractional zeros (50000, not 50000.0 or 5E4).","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.2.strike","typeLabel":"string"},"right":{"type":"string","enum":["Call","Put"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.2.right","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["Option"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"instruments.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.3.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.3.quote","typeLabel":"string"},"type":{"type":"string","enum":["Perp"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"instruments.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.4.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.4.quote","typeLabel":"string"},"type":{"type":"string","enum":["PerpInv"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"instruments.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.5.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.5.quote","typeLabel":"string"},"type":{"type":"string","enum":["Spot"],"isRequired":true,"uniqueKey":"instruments.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"instruments.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"instruments.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":50,"uniqueItems":true,"description":"Distinct instruments, at most 50.","isRequired":true,"uniqueKey":"instruments","typeLabel":"object[]"}},"required":["venueId","instruments"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"venueId":"\u003cstring>","instruments":[{"base":"\u003cstring>","quote":"\u003cstring>","expiry":"2023-12-25","type":"Future"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"8da32c97-c1d3-4277-a4c6-b457ce94e20b":{"description":"Successful result","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"oneOf":[{"type":"object","required":["type","instrument","value","observedAt","confirmedAt","receivedAt"],"properties":{"type":{"type":"string","enum":["Observed"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"instrument":{"oneOf":[{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.0.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.0.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.0.expiry","typeLabel":"string\u003cdate>"},"type":{"type":"string","enum":["Future"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.0","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.1.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.1.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.1.expiry","typeLabel":"string\u003cdate>"},"type":{"type":"string","enum":["FutureInv"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.1","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry","strike","right"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2.expiry","typeLabel":"string\u003cdate>"},"strike":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$","description":"Positive strike price in the quote asset, in canonical form so identity is exact; a plain decimal with no exponent and no trailing fractional zeros (50000, not 50000.0 or 5E4).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2.strike","typeLabel":"string"},"right":{"type":"string","enum":["Call","Put"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2.right","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["Option"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.2","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.3.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.3.quote","typeLabel":"string"},"type":{"type":"string","enum":["Perp"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.3.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.3","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.4.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.4.quote","typeLabel":"string"},"type":{"type":"string","enum":["PerpInv"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.4","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.5.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.5.quote","typeLabel":"string"},"type":{"type":"string","enum":["Spot"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.5.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument.oneOf.5","typeLabel":"object"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.instrument","typeLabel":"object"},"value":{"type":"object","properties":{"amount":{"oneOf":[{"type":"string","description":"Null when the venue stops reporting it.","pattern":"^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value.amount.oneOf.0","typeLabel":"string"},{"type":"null","description":"Null when the venue stops reporting it.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value.amount","typeLabel":"string | null"},"unit":{"type":"string","enum":["Contracts","BaseAsset","QuoteAsset"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value.unit","typeLabel":"enum\u003cstring>"}},"required":["amount","unit"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value","typeLabel":"object"},"observedAt":{"oneOf":[{"type":"string","format":"date-time","description":"Venue time of the value; null when the venue gives none.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.observedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Venue time of the value; null when the venue gives none.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.observedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.observedAt","typeLabel":"string\u003cdate-time> | null"},"confirmedAt":{"oneOf":[{"type":"string","format":"date-time","description":"Latest venue time at which a continuous live feed covered the value, even if it did not change; null without one. Judge freshness by confirmedAt, falling back to observedAt.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.confirmedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Latest venue time at which a continuous live feed covered the value, even if it did not change; null without one. Judge freshness by confirmedAt, falling back to observedAt.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.confirmedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.confirmedAt","typeLabel":"string\u003cdate-time> | null"},"receivedAt":{"type":"string","format":"date-time","description":"When Plurex received the value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.receivedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"No value for this instrument. The code is the one a single read would return.","required":["type","instrument","code","message"],"properties":{"type":{"type":"string","enum":["Unavailable"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"instrument":{"oneOf":[{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.0.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.0.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.0.expiry","typeLabel":"string\u003cdate>"},"type":{"type":"string","enum":["Future"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.0","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.1.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.1.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.1.expiry","typeLabel":"string\u003cdate>"},"type":{"type":"string","enum":["FutureInv"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.1","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote","expiry","strike","right"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2.quote","typeLabel":"string"},"expiry":{"type":"string","format":"date","description":"Contract expiry date (YYYY-MM-DD).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2.expiry","typeLabel":"string\u003cdate>"},"strike":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$","description":"Positive strike price in the quote asset, in canonical form so identity is exact; a plain decimal with no exponent and no trailing fractional zeros (50000, not 50000.0 or 5E4).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2.strike","typeLabel":"string"},"right":{"type":"string","enum":["Call","Put"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2.right","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["Option"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.2","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.3.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.3.quote","typeLabel":"string"},"type":{"type":"string","enum":["Perp"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.3.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.3","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.4.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.4.quote","typeLabel":"string"},"type":{"type":"string","enum":["PerpInv"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.4","typeLabel":"object"},{"type":"object","description":"An instrument, identified by its fields rather than a venue symbol: type, base, quote, and expiry, strike and right where they apply. type takes the InstrumentType values; unknown types are rejected. Market summaries also give its canonical symbol.","required":["type","base","quote"],"properties":{"base":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.5.base","typeLabel":"string"},"quote":{"type":"string","pattern":"^[A-Z0-9.]{1,32}$","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.5.quote","typeLabel":"string"},"type":{"type":"string","enum":["Spot"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.5.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument.oneOf.5","typeLabel":"object"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.instrument","typeLabel":"object"},"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"NotSupported when the market does not support this read, NotFound when the venue reported no value, UpstreamFailure when the venue read failed.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.message","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":[{"type":"Observed","instrument":{"base":"\u003cstring>","quote":"\u003cstring>","expiry":"2023-12-25","type":"Future"},"value":{"amount":"\u003cstring>","unit":"Contracts"},"observedAt":"2023-11-07T05:31:56Z","confirmedAt":"2023-11-07T05:31:56Z","receivedAt":"2023-11-07T05:31:56Z"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"eae6aa06-aa0a-4a92-8186-a4e433d64880":{"description":"400 BadRequest; code is InvalidRequest.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"2364ab1f-4d98-4956-87c7-c19adf2a199c":{"description":"404 NotFound; code is AccountNotFound, OrderNotFound or NotFound.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"8753de12-f3de-4687-9a43-eebe45584f90":{"description":"415 UnsupportedMediaType; code is UnsupportedMediaType.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"7883f58e-5a86-4bc8-8581-355bbe9e66d7":{"description":"429 RateLimited; code is RateLimited.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"37cfade7-2323-47be-ad6f-924dc902456b":{"description":"500 UnexpectedError; code is UnexpectedError.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4ae83585-5210-4b53-9027-0da4fc848cad":{"description":"502 UpstreamFailure; code is UpstreamFailure or CancelAllFailed.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"ab38e187-c377-4be0-aaf2-17c6904c6f22":{"description":"503 Unavailable; code is Unavailable.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"5425cb01-77e5-498c-a7cb-9e85154696be":{"description":"504 UpstreamTimeout; code is UpstreamTimeout.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","enum":["InvalidRequest","Unauthenticated","Forbidden","AccountNotFound","OrderNotFound","NotFound","MethodNotAllowed","DuplicateClientOrderId","OrderAlreadyClosed","Conflict","UnsupportedMediaType","InsufficientFunds","InvalidProviderCredentials","AccountLimit","NotSupported","Rejected","RateLimited","UnexpectedError","CancelAllFailed","UpstreamFailure","Unavailable","UpstreamTimeout"],"description":"Stable error reason. The HTTP status for each code is fixed: InvalidRequest (400): Malformed JSON, wrong types, unknown fields or enum values, or invalid values.; Unauthenticated (401): Missing or invalid API key headers.; Forbidden (403): Authenticated, but without access to the account or operation.; AccountNotFound (404): The accountId does not exist.; OrderNotFound (404): The account exists, but the order identifier does not.; NotFound (404): Unknown path, host or venue.; MethodNotAllowed (405): The path exists but only accepts POST.; DuplicateClientOrderId (409): An order with this clientOrderId already exists.; OrderAlreadyClosed (409): The order is already filled, cancelled or rejected.; Conflict (409): A unique value (for example an account name) is already used.; UnsupportedMediaType (415): The request is not Content-Type application/json.; InsufficientFunds (422): The account cannot fund the order.; InvalidProviderCredentials (422): The provider rejected the account credentials.; AccountLimit (422): An account or subscription limit was reached.; NotSupported (422): The host does not support this operation, variant or instrument.; Rejected (422): The host or validation rejected the command.; RateLimited (429): The provider rate limited the request.; UnexpectedError (500): Unexpected server failure.; CancelAllFailed (502): At least one sub-cancel failed; reconcile with ListOpenOrders.; UpstreamFailure (502): The provider failed or returned an unusable response.; Unavailable (503): The service or provider is temporarily unavailable.; UpstreamTimeout (504): The provider did not respond in time. New codes may be added; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"oneOf":[{"type":"string","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reserved for structured detail; currently always null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | null"}},"required":["code","message","error"],"description":"Every error has this shape, at every HTTP status, including unknown paths (404 NotFound) and wrong methods (405 MethodNotAllowed). code is the specific reason. Each operation describes when to retry and how to check the outcome; an error alone does not prove a command had no effect.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"InvalidRequest","message":"\u003cstring>","error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"7bdeb600-191f-4ab2-ae0b-ca8270458bcb":{"url":"https://api.plurex.io"}}},"originalFileLocation":"api-reference/platform/plurex-platform-api.yaml"},"subdomain":"plurex","siteName":"Plurex Docs","title":"Get open interests - Plurex Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T18:05:59.183Z","originalFileLocation":"api-reference/platform/venues/get-open-interests.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=\"description\" content=\"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex\u0026#x27;s live feed for the market when one is running, otherwise fetched from the venue. No API key needed.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Plurex Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_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/plurex/xiN9lOeJgzOgEDZE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get open interests - Plurex Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex\u0026#x27;s live feed for the market when one is running, otherwise fetched from the venue. No API key needed.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Plurex Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://plurex.mintlify.app/_mintlify/api/og/v2?division=Prices+and+market+statistics\u0026amp;title=Get+open+interests\u0026amp;description=The+current+open+interest+for+each+derivative.+One+result+per+requested+instrument%2C+in+request+order.+An+instrument+without+a+value+comes+back+as+an+Unavailable\u0026amp;theme=1267ba68e08c08afc9c8746c\u0026amp;signature=52146f61fd88e7334c353c6951f1f76c7c738b41f93daed1f68f71f7abc814af\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get open interests - Plurex Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex\u0026#x27;s live feed for the market when one is running, otherwise fetched from the venue. No API key needed.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://plurex.mintlify.app/_mintlify/api/og/v2?division=Prices+and+market+statistics\u0026amp;title=Get+open+interests\u0026amp;description=The+current+open+interest+for+each+derivative.+One+result+per+requested+instrument%2C+in+request+order.+An+instrument+without+a+value+comes+back+as+an+Unavailable\u0026amp;theme=1267ba68e08c08afc9c8746c\u0026amp;signature=52146f61fd88e7334c353c6951f1f76c7c738b41f93daed1f68f71f7abc814af\">\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/plurex/xiN9lOeJgzOgEDZE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Plurex Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ba54f5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/platform/venues/get-open-interests.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.plurex.io/#organization\",\"name\":\"Plurex Docs\",\"url\":\"https://docs.plurex.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/plurex/55zZlLmLoaaEFioa/logo/light.svg?fit=max\u0026auto=format\u0026n=55zZlLmLoaaEFioa\u0026q=85\u0026s=e150115596b050b7a538e6f784ec2f44\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.plurex.io#website\",\"name\":\"Plurex Docs\",\"url\":\"https://docs.plurex.io\",\"publisher\":{\"@id\":\"https://docs.plurex.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests#webpage\",\"url\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests\",\"name\":\"Get open interests\",\"description\":\"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex's live feed for the market when one is running, otherwise fetched from the venue. No API key needed.\",\"dateModified\":\"2026-10-25T18:05:59.183Z\",\"isPartOf\":{\"@id\":\"https://docs.plurex.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Market data\",\"item\":\"https://docs.plurex.io/api-reference/platform/venues/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prices and market statistics\",\"item\":\"https://docs.plurex.io/api-reference/platform/venues/get-prices\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get open interests\",\"item\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests#apireference\",\"headline\":\"Get open interests\",\"name\":\"Get open interests\",\"description\":\"The current open interest for each derivative. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex's live feed for the market when one is running, otherwise fetched from the venue. No API key needed.\",\"url\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests\",\"mainEntityOfPage\":{\"@id\":\"https://docs.plurex.io/api-reference/platform/venues/get-open-interests#webpage\"},\"dateModified\":\"2026-10-25T18:05:59.183Z\",\"publisher\":{\"@id\":\"https://docs.plurex.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.plurex.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Plurex Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Plurex Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API reference","groups":[{"group":"Getting started","pages":[{"title":"Platform API","href":"/api-reference/platform/overview"},{"title":"API conventions","href":"/api-reference/platform/conventions"},{"title":"Errors","href":"/api-reference/platform/errors"}]},{"group":"Market data","pages":[{"group":"Venues and markets","pages":[{"title":"List venues","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/List","href":"/api-reference/platform/venues/list"},{"title":"List venue markets","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/ListMarkets","href":"/api-reference/platform/venues/list-markets"}]},{"group":"Order books","pages":[{"title":"Get order book","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetOrderBook","href":"/api-reference/platform/venues/get-order-book"}]},{"group":"Public trades","pages":[{"title":"Get recent trades","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetRecentTrades","href":"/api-reference/platform/venues/get-recent-trades"}]},{"group":"Prices and market statistics","pages":[{"title":"Get prices","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetPrices","href":"/api-reference/platform/venues/get-prices"},{"title":"Get best quotes","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetBestQuotes","href":"/api-reference/platform/venues/get-best-quotes"},{"title":"Get market statistics","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetMarketStatistics","href":"/api-reference/platform/venues/get-market-statistics"},{"title":"Get indicative fundings","description":"The current indicative funding rate for each perpetual: an estimate, so the rate that settles can differ. One result per requested instrument, in request order. An instrument without a value comes back as an Unavailable result with its error code, so one instrument cannot fail the batch. Served from Plurex's live feed for the market when one is running, otherwise fetched from the venue. No API key needed.","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetIndicativeFundings","href":"/api-reference/platform/venues/get-indicative-fundings"},{"title":"Get open interests","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/GetOpenInterests","href":"/api-reference/platform/venues/get-open-interests"}]},{"group":"Candles","pages":[{"title":"List candles","description":"Closed candles for one market, price kind and interval, newest first across every page. The candle still forming is never included. A page has no gaps: one candle for every interval it spans. Follow nextCursor back in time until it is null. ByInstrument starts from the latest closed candle; ByInstrumentBefore starts from the candles that end at or before `before`. The market's candles entry says which of these it supports (list, listBefore); paging past the first page needs listBefore. 422 NotSupported for an unknown market, or a price kind, interval or variant the market does not list. No API key needed.","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/venues/query/ListCandles","href":"/api-reference/platform/venues/list-candles"}]}]},{"group":"Trading","pages":[{"group":"Hosts and markets","pages":[{"title":"List hosts","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/List","href":"/api-reference/platform/hosts/list"},{"title":"List host markets","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListMarkets","href":"/api-reference/platform/hosts/list-markets"}]},{"group":"Orders","pages":[{"title":"Get an order","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/GetOrder","href":"/api-reference/platform/hosts/get-order"},{"title":"Get orders","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/GetOrders","href":"/api-reference/platform/hosts/get-orders"},{"title":"List open orders","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListOpenOrders","href":"/api-reference/platform/hosts/list-orders"},{"title":"List closed orders","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListClosedOrders","href":"/api-reference/platform/hosts/list-closed-orders"},{"title":"Submit an order","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/command/SubmitOrder","href":"/api-reference/platform/hosts/submit-order"},{"title":"Cancel an order","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/command/CancelOrder","href":"/api-reference/platform/hosts/cancel-order"},{"title":"Cancel orders","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/command/CancelOrders","href":"/api-reference/platform/hosts/cancel-orders"},{"title":"Cancel all orders","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/command/CancelAllOrders","href":"/api-reference/platform/hosts/cancel-all-orders"},{"title":"Stream account orders","asyncapi":"api-reference/platform/plurex-platform-async-api.yaml hostsSubscribeToAccountOrders","href":"/api-reference/platform/hosts/subscribe-to-account-orders"}]},{"group":"Fills","pages":[{"title":"List fills","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListFills","href":"/api-reference/platform/hosts/list-fills"}]},{"group":"Balances and positions","pages":[{"title":"List wallets","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListWallets","href":"/api-reference/platform/hosts/list-wallets"},{"title":"List open positions","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListOpenPositions","href":"/api-reference/platform/hosts/list-positions"},{"title":"List margin states","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListAccountMarginStates","href":"/api-reference/platform/hosts/list-margin-states"},{"title":"Get market account state","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/GetAccountMarketState","href":"/api-reference/platform/hosts/get-market-state"}]},{"group":"Leverage and position mode","pages":[{"title":"Get market leverage","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/GetMarketLeverage","href":"/api-reference/platform/hosts/get-leverage"},{"title":"Get market position mode","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/GetMarketPositionMode","href":"/api-reference/platform/hosts/get-position-mode"},{"title":"Set market leverage","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/command/SetMarketLeverage","href":"/api-reference/platform/hosts/set-leverage"},{"title":"Set market position mode","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/command/SetMarketPositionMode","href":"/api-reference/platform/hosts/set-position-mode"}]},{"group":"Transactions","pages":[{"title":"List account transactions","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/hosts/query/ListTransactions","href":"/api-reference/platform/hosts/list-transactions"},{"title":"Stream account transactions","asyncapi":"api-reference/platform/plurex-platform-async-api.yaml hostsSubscribeToAccountTransactions","href":"/api-reference/platform/hosts/subscribe-to-account-transactions"}]}]},{"group":"Accounts","pages":[{"title":"Connect an exchange or broker account","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/accounts/command/Connect","href":"/api-reference/platform/accounts/connect"},{"title":"Update account credentials","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/accounts/command/UpdateConnection","href":"/api-reference/platform/accounts/update-connection"},{"title":"Rename an account","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/accounts/command/Rename","href":"/api-reference/platform/accounts/rename"},{"title":"Delete an account","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/accounts/command/Delete","href":"/api-reference/platform/accounts/delete"},{"title":"List accounts","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/accounts/query/List","href":"/api-reference/platform/accounts/list"},{"title":"Get an account","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/accounts/query/Get","href":"/api-reference/platform/accounts/get"}]},{"group":"Paper trading","pages":[{"group":"Paper accounts","pages":[{"title":"Create a paper account","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/paper/command/CreateAccount","href":"/api-reference/platform/paper/create"},{"title":"Deposit into a paper account","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/paper/command/Deposit","href":"/api-reference/platform/paper/deposit"}]},{"group":"Paper fees","pages":[{"title":"Set paper fee tier","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/paper/command/SetFeeTier","href":"/api-reference/platform/paper/set-fee-tier"},{"title":"Get paper fee settings","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/paper/query/GetFeeSettings","href":"/api-reference/platform/paper/get-fee-settings"},{"title":"Get effective paper fee rates","openapi":"api-reference/platform/plurex-platform-api.yaml POST /api/v1/paper/query/GetEffectiveFeeRates","href":"/api-reference/platform/paper/get-effective-fee-rates"}]}]}]}]},"title":"Get open interests - Plurex Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}