{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/developers/operations/getopennotionalbyticker","title":"Get current open interest by ticker","description":"GET /positions/{accountId}/{asset}/open-notional: Open notional the account currently holds on one market, summed per direction, fp9 raw.","kind":"api-operation","locale":"en","inLanguage":"en","lastModified":"2026-09-28T19:22:49.100Z","revision":"25c86f549328fcff320805d5945f4c9804e3927950d831e601d6e3b18c170f66","section":{"title":"Developers","url":"https://docs.upscale.trade/developers"},"representations":{"html":"https://docs.upscale.trade/developers/operations/getopennotionalbyticker","markdown":"https://docs.upscale.trade/developers/operations/getopennotionalbyticker.md","json":"https://docs.upscale.trade/developers/operations/getopennotionalbyticker.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getopennotionalbyticker","ru":"https://docs.upscale.trade/ru/developers/operations/getopennotionalbyticker","es":"https://docs.upscale.trade/es/developers/operations/getopennotionalbyticker"},"operation":{"id":"getOpenNotionalByTicker","method":"GET","path":"/positions/{accountId}/{asset}/open-notional","summary":"Get current open interest by ticker","description":"Open notional the account currently holds on one market, summed per direction, fp9 raw.\n\n- Useful before sizing an increase: the market caps open notional per direction, and an order that would breach the cap is rejected\n  with `order_exceeds_max_open_notional`.","tags":["Trading"],"deprecated":false,"parameters":[{"name":"accountId","location":"path","schema":{"type":"string · uuid","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]},"type":"string · uuid","required":true,"description":"Trader account identifier. Must belong to the caller.","example":"00000000-0000-4000-8000-000000000000"},{"name":"asset","location":"path","schema":{"type":"string","types":["string"],"example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"type":"string","required":true,"description":"Base asset ticker of the market, as returned by `GET /v2/markets`.","example":"BTC"}],"bodies":[],"responses":[{"status":"401","description":"Unauthorized","properties":[],"headers":[]},{"status":"403","description":"The account belongs to another user (`account_access_denied`), or the request is authenticated with an API key while `api_trading` is disabled on the account (`api_trading_not_enabled`).","properties":[],"headers":[]},{"status":"404","description":"No account with this identifier, or no market for this ticker.","properties":[],"headers":[]},{"status":"429","description":"Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`.","properties":[],"headers":[]},{"status":"default","description":"Response","mediaType":"application/json","properties":[{"name":"openNotionalLong","type":"string · int32","required":true,"description":"Open notional the account holds long on this market, summed across positions, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Open notional the account holds long on this market, summed across positions, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"openNotionalShort","type":"string · int32","required":true,"description":"Open notional the account holds short on this market, summed across positions, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Open notional the account holds short on this market, summed across positions, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}],"schema":{"type":"object","types":["object"],"reference":"#/components/schemas/PositionOpenNotionalResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"openNotionalLong","type":"string · int32","required":true,"description":"Open notional the account holds long on this market, summed across positions, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Open notional the account holds long on this market, summed across positions, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"openNotionalShort","type":"string · int32","required":true,"description":"Open notional the account holds short on this market, summed across positions, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Open notional the account holds short on this market, summed across positions, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}],"variants":[]},"example":"{\n  \"openNotionalLong\": \"1000000000\",\n  \"openNotionalShort\": \"1000000000\"\n}","headers":[]}],"security":[{"name":"bearer","type":"http · bearer","description":"Personal API key, prefixed with `usk_`.","required":true,"scopes":[]}],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.upscale.trade/positions/{accountId}/{asset}/open-notional' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.upscale.trade/positions/{accountId}/{asset}/open-notional\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/positions/{accountId}/{asset}/open-notional\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"What is Prop Trading","url":"https://docs.upscale.trade"},{"title":"Developers","url":"https://docs.upscale.trade/developers"},{"title":"Get current open interest by ticker","url":"https://docs.upscale.trade/developers/operations/getopennotionalbyticker"}],"headings":[{"depth":2,"id":"authorization","title":"Authorization"},{"depth":2,"id":"parameters","title":"Parameters"},{"depth":2,"id":"examples","title":"Examples"},{"depth":2,"id":"responses","title":"Responses"}],"markdown":"# Get current open interest by ticker\n\n`GET /positions/{accountId}/{asset}/open-notional`\n\nOpen notional the account currently holds on one market, summed per direction, fp9 raw.\n\n- Useful before sizing an increase: the market caps open notional per direction, and an order that would breach the cap is rejected\n  with `order_exceeds_max_open_notional`.\n\n## Authorization\n\nbearer: http · bearer (required). Personal API key, prefixed with `usk_`.\n\n## Parameters\n\n- path: accountId (string · uuid; required). Trader account identifier. Must belong to the caller.\n\nType: string · uuid\n\nformat: uuid\n\n- path: asset (string; required). Base asset ticker of the market, as returned by `GET /v2/markets`.\n\nType: string\n\nExample: \"BTC\"\n\n## Example · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/positions/{accountId}/{asset}/open-notional' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n## Example · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.upscale.trade/positions/{accountId}/{asset}/open-notional\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n## Example · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/positions/{accountId}/{asset}/open-notional\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n## Response 401\n\n**401**  — Unauthorized\n\n## Response 403\n\n**403**  — The account belongs to another user (`account_access_denied`), or the request is authenticated with an API key while `api_trading` is disabled on the account (`api_trading_not_enabled`).\n\n## Response 404\n\n**404**  — No account with this identifier, or no market for this ticker.\n\n## Response 429\n\n**429**  — Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`.\n\n## Response default · PositionOpenNotionalResponse\n\n**default** application/json — Response\n\nSchema: PositionOpenNotionalResponse\n\nType: object\n\nRequired fields: openNotionalLong, openNotionalShort\n\nRequired field types: openNotionalLong (string · int32; required), openNotionalShort (string · int32; required)\n\n- openNotionalLong (string · int32; required)\n\nopenNotionalLong example: 1000000000\n\nopenNotionalLong.Type: string · int32\n\nopenNotionalLong.Open notional the account holds long on this market, summed across positions, fp9 raw.\n\nopenNotionalLong.format: int32\n\nopenNotionalLong.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- openNotionalShort (string · int32; required)\n\nopenNotionalShort example: 1000000000\n\nopenNotionalShort.Type: string · int32\n\nopenNotionalShort.Open notional the account holds short on this market, summed across positions, fp9 raw.\n\nopenNotionalShort.format: int32\n\nopenNotionalShort.pattern: ^(?:-?[1-9][0-9]*|0)$\n\nExample\n\n\n\n```json\n{\n  \"openNotionalLong\": \"1000000000\",\n  \"openNotionalShort\": \"1000000000\"\n}\n```","text":"Get current open interest by ticker Open notional the account currently holds on one market, summed per direction, fp9 raw. - Useful before sizing an increase: the market caps open notional per direction, and an order that would breach the cap is rejected with `order_exceeds_max_open_notional`. GET /positions/{accountId}/{asset}/open-notional Trading accountId Trader account identifier. Must belong to the caller. string · uuid asset Base asset ticker of the market, as returned by `GET /v2/markets`. string 401 Unauthorized 403 The account belongs to another user (`account_access_denied`), or the request is authenticated with an API key while `api_trading` is disabled on the account (`api_trading_not_enabled`). 404 No account with this identifier, or no market for this ticker. 429 Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`. default Response openNotionalLong Open notional the account holds long on this market, summed across positions, fp9 raw. string · int32 openNotionalShort Open notional the account holds short on this market, summed across positions, fp9 raw. string · int32","api":{"title":"Upscale Public API","version":"d796ac9","documentation":"https://docs.upscale.trade/developers","playgroundServer":"https://api.upscale.trade"}}