Since August 2026, each row is one CALENDAR-MONTH charge for one user (billingMonth = first day of the month it covers, full month, no proration). A charge is created when:
The trader’s first account is created (trigger: account_created)
A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: auto_renewal)
Rows with billingMonth: null are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in.
Statuses:
Status
Meaning
active
Covers the current period (expiresAt in the future)
expired
Period ended
cancelled
Manually cancelled
Billing: Each row is an invoice line item. The price is locked in at creation — if your rate changes, only new months use the new rate.
Price breakdown: every row also carries platformPrice (the Hyperprop platform fee) and marketDataPrice (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). platformPrice + marketDataPrice = price always holds, including for historical rows from earlier pricing eras.
Same user, multiple rows: each billed month is a separate row — a complete billing history per trader.
Paging: rows are newest first. Offset paging works as before; for long histories pass pagination.nextCursor back as cursor to fetch the next page without counting through the earlier ones. total always counts every matching row.
Access: read-only and full-access API keys. Dashboard members need view access to Billing & purchases revenue.
GET
/
v1
/
organization
/
billing
/
cycles
List billing cycles
curl --request GET \ --url https://api.hyperprop.com/platform/v1/organization/billing/cycles \ --header 'X-API-Key: <api-key>'
{
"success": false,
"statusCode": 403,
"error": "Forbidden",
"message": "Your role does not have view access to \"Traders & accounts\"",
"code": "INSUFFICIENT_PERMISSIONS"
}
{
"statusCode": 504,
"error": "Gateway Timeout",
"message": "The request did not complete within 25 seconds. Try again, or narrow it (for example a shorter date range).",
"code": "REQUEST_TIMEOUT"
}
Organization API key (hp_live_...), sent in the X-API-Key header. Create, rotate and restrict keys in the dashboard or with the API keys endpoints; an organization can have two active keys, so you can rotate without downtime. A full-access key can call every endpoint in this reference. A read-only key can call GET endpoints (and create a trading stream token); any other request returns 403 READ_ONLY_KEY. A key with an IP allowlist returns 403 IP_NOT_ALLOWED from any other address. Each endpoint lists which keys can call it under Access.
Cursor for pagination. Pass the nextCursor value from the previous response to get the next page. When using cursor, do not send offset — it will be ignored.
How it works: The cursor is an opaque string that points to the last item you received. The server uses it to efficiently fetch the next set of results without scanning previous pages.
Backwards compatible: If you don't send a cursor, offset/limit pagination works as before.
A cursor that was not returned by this endpoint, or one from a request with a different sort, is rejected with 400.
{
"success": false,
"statusCode": 403,
"error": "Forbidden",
"message": "Your role does not have view access to \"Traders & accounts\"",
"code": "INSUFFICIENT_PERMISSIONS"
}
{
"statusCode": 504,
"error": "Gateway Timeout",
"message": "The request did not complete within 25 seconds. Try again, or narrow it (for example a shorter date range).",
"code": "REQUEST_TIMEOUT"
}
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Hyperprop Platform API","colors":{"primary":"#253CFF","light":"#253CFF","dark":"#253CFF"},"logo":{"light":"https://mintcdn.com/hyperprop-401fc39d/snMIX7SYzcFqAv9j/logo/light.svg?fit=max\u0026auto=format\u0026n=snMIX7SYzcFqAv9j\u0026q=85\u0026s=e3a0a071fb4ba3ae53ef978c23cc38a3","dark":"https://mintcdn.com/hyperprop-401fc39d/snMIX7SYzcFqAv9j/logo/dark.svg?fit=max\u0026auto=format\u0026n=snMIX7SYzcFqAv9j\u0026q=85\u0026s=1e52fc25e71c2a6a9e047b4fbd60dae4","href":"https://hyperprop.com"},"favicon":"https://mintcdn.com/hyperprop-401fc39d/snMIX7SYzcFqAv9j/favicon.svg?fit=max\u0026auto=format\u0026n=snMIX7SYzcFqAv9j\u0026q=85\u0026s=760656e341413d4cd9dae53925c04cf6","navbar":{"primary":{"type":"button","label":"Open Dashboard","href":"https://portal.hyperprop.com"}},"footer":{"socials":{"x":"https://x.com/hyperpropcom","github":"https://github.com/Hyperprop-LLC-FZ"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hyperprop-401fc39d","hasAudioNarration":false,"actualSubdomain":"hyperprop-401fc39d","customDomains":["docs.hyperprop.com"],"gitSource":{"type":"github","owner":"hyperprop-llc-fz","repo":"hyperprop-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae9211fcd686ebdc04a95d3","collectionId":"ba5f2b25-9c82-4a56-bcdd-f176053fd645","liveDeploymentHistoryId":"6ae9211fcd686ebdc04a95d3","schemaVersion":"v3"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9211fcd686ebdc04a95d3","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":206},{"language":"default","tag":"Platform API","count":164},{"language":"default","tag":"Trade API","count":42},{"language":"default","tag":"Documentation","count":36},{"language":"default","tag":"Trading accounts","count":28},{"language":"default","tag":"Mass credit","count":23},{"language":"default","tag":"Billing and invoices","count":16},{"language":"default","tag":"Guides","count":13},{"language":"default","tag":"Webhooks","count":13},{"language":"default","tag":"Orders","count":12}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#navbar nav-logo img,nav-logo img{height:2rem!important;width:auto}@media (max-width:640px){pre{max-width:100%;overflow-x:auto}pre code{white-space:pre;word-break:normal}#content-area table,.prose table{display:block;max-width:100%;overflow-x:auto}}html.dark pre.shiki.shiki-themes,html[data-theme=dark] pre.shiki.shiki-themes{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important}html.dark pre.shiki.shiki-themes span,html[data-theme=dark] pre.shiki.shiki-themes span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}"}],"page":{"pagePath":"platform-api/billing-and-invoices/list-billing-cycles","slug":"/platform-api/billing-and-invoices/list-billing-cycles","pageMetadata":{"title":"List billing cycles","description":"View all billing charges for your organization.\n\nSince August 2026, each row is one CALENDAR-MONTH charge for one user (`billingMonth` = first day of the month it covers, full month, no proration). A charge is created when:\n- The trader's first account is created (trigger: `account_created`)\n- A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: `auto_renewal`)\n\nRows with `billingMonth: null` are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in.\n\n**Statuses:**\n| Status | Meaning |\n|--------|---------|\n| `active` | Covers the current period (`expiresAt` in the future) |\n| `expired` | Period ended |\n| `cancelled` | Manually cancelled |\n\n**Billing:** Each row is an invoice line item. The `price` is locked in at creation — if your rate changes, only new months use the new rate.\n\n**Price breakdown:** every row also carries `platformPrice` (the Hyperprop platform fee) and `marketDataPrice` (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). `platformPrice + marketDataPrice = price` always holds, including for historical rows from earlier pricing eras.\n\n**Same user, multiple rows:** each billed month is a separate row — a complete billing history per trader.\n\n**Paging:** rows are newest first. Offset paging works as before; for long histories pass `pagination.nextCursor` back as `cursor` to fetch the next page without counting through the earlier ones. `total` always counts every matching row.\n\n**Access:** read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/cycles","href":"/platform-api/billing-and-invoices/list-billing-cycles","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"View all billing charges for your organization.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Since August 2026, each row is one CALENDAR-MONTH charge for one user (\", _jsx(_components.code, {\n children: \"billingMonth\"\n }), \" = first day of the month it covers, full month, no proration). A charge is created when:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"The trader’s first account is created (trigger: \", _jsx(_components.code, {\n children: \"account_created\"\n }), \")\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: \", _jsx(_components.code, {\n children: \"auto_renewal\"\n }), \")\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Rows with \", _jsx(_components.code, {\n children: \"billingMonth: null\"\n }), \" are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Statuses:\"\n })\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Status\"\n }), _jsx(_components.th, {\n children: \"Meaning\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"active\"\n })\n }), _jsxs(_components.td, {\n children: [\"Covers the current period (\", _jsx(_components.code, {\n children: \"expiresAt\"\n }), \" in the future)\"]\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"expired\"\n })\n }), _jsx(_components.td, {\n children: \"Period ended\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"cancelled\"\n })\n }), _jsx(_components.td, {\n children: \"Manually cancelled\"\n })]\n })]\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Billing:\"\n }), \" Each row is an invoice line item. The \", _jsx(_components.code, {\n children: \"price\"\n }), \" is locked in at creation — if your rate changes, only new months use the new rate.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Price breakdown:\"\n }), \" every row also carries \", _jsx(_components.code, {\n children: \"platformPrice\"\n }), \" (the Hyperprop platform fee) and \", _jsx(_components.code, {\n children: \"marketDataPrice\"\n }), \" (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). \", _jsx(_components.code, {\n children: \"platformPrice + marketDataPrice = price\"\n }), \" always holds, including for historical rows from earlier pricing eras.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Same user, multiple rows:\"\n }), \" each billed month is a separate row — a complete billing history per trader.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Paging:\"\n }), \" rows are newest first. Offset paging works as before; for long histories pass \", _jsx(_components.code, {\n children: \"pagination.nextCursor\"\n }), \" back as \", _jsx(_components.code, {\n children: \"cursor\"\n }), \" to fetch the next page without counting through the earlier ones. \", _jsx(_components.code, {\n children: \"total\"\n }), \" always counts every matching row.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Access:\"\n }), \" read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List billing cycles","description":"View all billing charges for your organization.\n\nSince August 2026, each row is one CALENDAR-MONTH charge for one user (`billingMonth` = first day of the month it covers, full month, no proration). A charge is created when:\n- The trader's first account is created (trigger: `account_created`)\n- A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: `auto_renewal`)\n\nRows with `billingMonth: null` are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in.\n\n**Statuses:**\n| Status | Meaning |\n|--------|---------|\n| `active` | Covers the current period (`expiresAt` in the future) |\n| `expired` | Period ended |\n| `cancelled` | Manually cancelled |\n\n**Billing:** Each row is an invoice line item. The `price` is locked in at creation — if your rate changes, only new months use the new rate.\n\n**Price breakdown:** every row also carries `platformPrice` (the Hyperprop platform fee) and `marketDataPrice` (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). `platformPrice + marketDataPrice = price` always holds, including for historical rows from earlier pricing eras.\n\n**Same user, multiple rows:** each billed month is a separate row — a complete billing history per trader.\n\n**Paging:** rows are newest first. Offset paging works as before; for long histories pass `pagination.nextCursor` back as `cursor` to fetch the next page without counting through the earlier ones. `total` always counts every matching row.\n\n**Access:** read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/cycles","href":"/platform-api/billing-and-invoices/list-billing-cycles","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"List billing cycles","operationId":"getV1OrganizationBillingCycles","description":"View all billing charges for your organization.\n\nSince August 2026, each row is one CALENDAR-MONTH charge for one user (`billingMonth` = first day of the month it covers, full month, no proration). A charge is created when:\n- The trader's first account is created (trigger: `account_created`)\n- A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: `auto_renewal`)\n\nRows with `billingMonth: null` are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in.\n\n**Statuses:**\n| Status | Meaning |\n|--------|---------|\n| `active` | Covers the current period (`expiresAt` in the future) |\n| `expired` | Period ended |\n| `cancelled` | Manually cancelled |\n\n**Billing:** Each row is an invoice line item. The `price` is locked in at creation — if your rate changes, only new months use the new rate.\n\n**Price breakdown:** every row also carries `platformPrice` (the Hyperprop platform fee) and `marketDataPrice` (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). `platformPrice + marketDataPrice = price` always holds, including for historical rows from earlier pricing eras.\n\n**Same user, multiple rows:** each billed month is a separate row — a complete billing history per trader.\n\n**Paging:** rows are newest first. Offset paging works as before; for long histories pass `pagination.nextCursor` back as `cursor` to fetch the next page without counting through the earlier ones. `total` always counts every matching row.\n\n**Access:** read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.","parameters":["3810bb47-acef-4285-8198-4ca5a0fde757","89a37add-0af1-4c8d-9522-d737959f54cf","c657e853-12ee-40e8-98e7-7c725b1a7404","2a1256f9-3f67-44cb-a465-3c9ec12ded6b"],"tags":["Billing and invoices"],"security":["e9a70598-8e6d-4dfd-992d-3c58ef302caa"],"responses":{"200":"1906f340-6bb6-4a9c-a152-58b24ec18bc0","400":"b0527391-f29c-459e-b44c-9de890182f77","401":"cf79b85f-c974-4260-a406-d7dd92b42647","403":"4caa169f-5b7d-4ede-80df-82ee580a1cd7","500":"7dd0463c-8f26-4def-91e6-355c03291783","504":"6837d0a0-baf8-471e-9042-fd65a48fe7d3"},"method":"get","type":"path","servers":["ad32a7c6-6860-44da-9b6b-ccd585b81fc0"],"path":"/v1/organization/billing/cycles","baseUrlOptions":["https://api.hyperprop.com/platform"],"title":"List billing cycles","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3810bb47-acef-4285-8198-4ca5a0fde757":{"description":"Filter by cycle status","name":"status","in":"query","required":false,"schema":{"type":"string","enum":["active","expired","cancelled"],"isRequired":false,"description":"Filter by cycle status","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"89a37add-0af1-4c8d-9522-d737959f54cf":{"description":"Results per page","name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Results per page","uniqueKey":"","typeLabel":"integer"}},"c657e853-12ee-40e8-98e7-7c725b1a7404":{"description":"Pagination offset","name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0,"description":"Pagination offset","uniqueKey":"","typeLabel":"integer"}},"2a1256f9-3f67-44cb-a465-3c9ec12ded6b":{"description":"Cursor for pagination. Pass the `nextCursor` value from the previous response to get the next page. When using cursor, do not send `offset` — it will be ignored.\n\n**How it works:** The cursor is an opaque string that points to the last item you received. The server uses it to efficiently fetch the next set of results without scanning previous pages.\n\n**Backwards compatible:** If you don't send a cursor, offset/limit pagination works as before.\n\nA cursor that was not returned by this endpoint, or one from a request with a different `sort`, is rejected with 400.","name":"cursor","in":"query","required":false,"example":"ZXhhbXBsZS1jdXJzb3ItNi1vcGFxdWUtZG8tbm90LXBhcnNl","schema":{"type":"string","maxLength":512,"isRequired":false,"description":"Cursor for pagination. Pass the `nextCursor` value from the previous response to get the next page. When using cursor, do not send `offset` — it will be ignored.\n\n**How it works:** The cursor is an opaque string that points to the last item you received. The server uses it to efficiently fetch the next set of results without scanning previous pages.\n\n**Backwards compatible:** If you don't send a cursor, offset/limit pagination works as before.\n\nA cursor that was not returned by this endpoint, or one from a request with a different `sort`, is rejected with 400.","uniqueKey":"","typeLabel":"string"}}},"responses":{"1906f340-6bb6-4a9c-a152-58b24ec18bc0":{"description":"Billing cycles retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true,"uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","example":{"organizationId":"55555555-5555-4555-8555-555555555555","organizationName":"FakePropFirm","cycles":[{"id":"b1c2d3e4-f5a6-7890-abcd-ef1234567890","userId":"11111111-1111-4111-8111-111111111111","userEmail":"trader@example.com","cycleNumber":3,"status":"active","startedAt":"2026-03-01T10:00:00.000Z","expiresAt":"2026-03-31T10:00:00.000Z","price":17,"platformPrice":14,"marketDataPrice":3,"currency":"USD","triggerType":"auto_renewal","triggerAccountId":null}],"pagination":{"total":150,"limit":50,"offset":0,"hasMore":true,"nextCursor":"ZXhhbXBsZS1jdXJzb3ItNS1vcGFxdWUtZG8tbm90LXBhcnNl"}},"properties":{"organizationId":{"type":"string","uniqueKey":"data.organizationId","typeLabel":"string"},"organizationName":{"type":"string","uniqueKey":"data.organizationName","typeLabel":"string"},"cycles":{"type":"array","items":{"type":"string","uniqueKey":"data.cycles.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.cycles","typeLabel":"string[]"},"pagination":{"type":"object","properties":{"total":{"type":"number","uniqueKey":"data.pagination.total","typeLabel":"number"},"limit":{"type":"number","uniqueKey":"data.pagination.limit","typeLabel":"number"},"offset":{"type":"number","uniqueKey":"data.pagination.offset","typeLabel":"number"},"hasMore":{"type":"boolean","uniqueKey":"data.pagination.hasMore","typeLabel":"boolean"},"nextCursor":{"type":"string","uniqueKey":"data.pagination.nextCursor","typeLabel":"string"}},"uniqueKey":"data.pagination","typeLabel":"object"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"organizationId":"55555555-5555-4555-8555-555555555555","organizationName":"FakePropFirm","cycles":[{"id":"b1c2d3e4-f5a6-7890-abcd-ef1234567890","userId":"11111111-1111-4111-8111-111111111111","userEmail":"trader@example.com","cycleNumber":3,"status":"active","startedAt":"2026-03-01T10:00:00.000Z","expiresAt":"2026-03-31T10:00:00.000Z","price":17,"platformPrice":14,"marketDataPrice":3,"currency":"USD","triggerType":"auto_renewal","triggerAccountId":null}],"pagination":{"total":150,"limit":50,"offset":0,"hasMore":true,"nextCursor":"ZXhhbXBsZS1jdXJzb3ItNS1vcGFxdWUtZG8tbm90LXBhcnNl"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"b0527391-f29c-459e-b44c-9de890182f77":{"description":"The request does not match the documented parameters or body; `message` names the field","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false on errors","example":false,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","example":400,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"string","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"\"limit\" must be less than or equal to 100","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","enum":["VALIDATION_ERROR"],"example":"VALIDATION_ERROR","description":"Machine-readable error code — switch on this, not on message text","uniqueKey":"code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":400,"error":"Bad Request","message":"\"limit\" must be less than or equal to 100","code":"VALIDATION_ERROR"}}},"exampleType":"generated"}},"exampleType":"generated"},"cf79b85f-c974-4260-a406-d7dd92b42647":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false on errors","example":false,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"number","example":401,"uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","example":"Unauthorized","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Authentication required","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code — switch on this, not on message text","example":"UNAUTHORIZED","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":401,"error":"Unauthorized","message":"Authentication required","code":"UNAUTHORIZED"}}},"exampleType":"generated"}},"exampleType":"generated"},"4caa169f-5b7d-4ede-80df-82ee580a1cd7":{"description":"The API key may not make this request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false on errors","example":false,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"integer","example":403,"uniqueKey":"statusCode","typeLabel":"integer"},"error":{"type":"string","example":"Forbidden","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Your role does not have view access to \"Traders \u0026 accounts\"","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"`INSUFFICIENT_PERMISSIONS` = the role or key lacks the permission this endpoint needs; `READ_ONLY_KEY` = a read-only API key sent a request that changes data; `IP_NOT_ALLOWED` = the request came from an address outside the key's IP allowlist; `ORG_INACTIVE` = the organization is not active","example":"INSUFFICIENT_PERMISSIONS","enum":["INSUFFICIENT_PERMISSIONS","READ_ONLY_KEY","IP_NOT_ALLOWED","ORG_INACTIVE"],"uniqueKey":"code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":403,"error":"Forbidden","message":"Your role does not have view access to \"Traders \u0026 accounts\"","code":"INSUFFICIENT_PERMISSIONS"}}},"exampleType":"generated"}},"exampleType":"generated"},"7dd0463c-8f26-4def-91e6-355c03291783":{"description":"An unexpected error occurred","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false on errors","example":false,"uniqueKey":"success","typeLabel":"boolean"},"statusCode":{"type":"number","example":500,"uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","example":"Internal Server Error","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"An unexpected error occurred","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code — switch on this, not on message text","example":"INTERNAL_ERROR","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"statusCode":500,"error":"Internal Server Error","message":"An unexpected error occurred","code":"INTERNAL_ERROR"}}},"exampleType":"generated"}},"exampleType":"generated"},"6837d0a0-baf8-471e-9042-fd65a48fe7d3":{"description":"Gateway Timeout - The request did not complete within 25 seconds (`REQUEST_TIMEOUT`). Nothing was changed; retry, or narrow the request (for example a shorter date range).","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","example":504,"uniqueKey":"statusCode","typeLabel":"number"},"error":{"type":"string","example":"Gateway Timeout","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"The request did not complete within 25 seconds. Try again, or narrow it (for example a shorter date range).","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code — switch on this, not on message text","example":"REQUEST_TIMEOUT","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":504,"error":"Gateway Timeout","message":"The request did not complete within 25 seconds. Try again, or narrow it (for example a shorter date range).","code":"REQUEST_TIMEOUT"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e9a70598-8e6d-4dfd-992d-3c58ef302caa":{"X-API-Key":{"type":"apiKey","name":"X-API-Key","in":"header","description":"Organization API key (`hp_live_...`), sent in the `X-API-Key` header. Create, rotate and restrict keys in the dashboard or with the API keys endpoints; an organization can have two active keys, so you can rotate without downtime. A **full-access** key can call every endpoint in this reference. A **read-only** key can call `GET` endpoints (and create a trading stream token); any other request returns `403 READ_ONLY_KEY`. A key with an IP allowlist returns `403 IP_NOT_ALLOWED` from any other address. Each endpoint lists which keys can call it under **Access**.","scopes":[],"schemeName":"X-API-Key"}}},"servers":{"ad32a7c6-6860-44da-9b6b-ccd585b81fc0":{"url":"https://api.hyperprop.com/platform","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","name":"X-API-Key","in":"header","description":"Organization API key (`hp_live_...`), sent in the `X-API-Key` header. Create, rotate and restrict keys in the dashboard or with the API keys endpoints; an organization can have two active keys, so you can rotate without downtime. A **full-access** key can call every endpoint in this reference. A **read-only** key can call `GET` endpoints (and create a trading stream token); any other request returns `403 READ_ONLY_KEY`. A key with an IP allowlist returns `403 IP_NOT_ALLOWED` from any other address. Each endpoint lists which keys can call it under **Access**.","scopes":[],"schemeName":"X-API-Key"},"schema":{"title":"X-API-Key","type":"string","description":"Organization API key (`hp_live_...`), sent in the `X-API-Key` header. Create, rotate and restrict keys in the dashboard or with the API keys endpoints; an organization can have two active keys, so you can rotate without downtime. A **full-access** key can call every endpoint in this reference. A **read-only** key can call `GET` endpoints (and create a trading stream token); any other request returns `403 READ_ONLY_KEY`. A key with an IP allowlist returns `403 IP_NOT_ALLOWED` from any other address. Each endpoint lists which keys can call it under **Access**.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"X-API-Key","name":"X-API-Key"}],"title":"X-API-Key"}]},"originalFileLocation":"https://api.hyperprop.com/platform/openapi.json"},"subdomain":"hyperprop-401fc39d","siteName":"Hyperprop Platform API","title":"List billing cycles - Hyperprop Platform API","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T23:47:52.631Z","originalFileLocation":"platform-api/billing-and-invoices/list-billing-cycles.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=\"View all billing charges for your organization. Since August 2026, each row is one CALENDAR-MONTH charge for one user (billingMonth = first day of the month it covers, full month, no proration). A charge is created when: - The trader\u0026#x27;s first account is created (trigger: account_created) - A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: auto_renewal) Rows with billingMonth: null are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in. Statuses: | Status | Meaning | |--------|---------| | active | Covers the current period (expiresAt in the future) | | expired | Period ended | | cancelled | Manually cancelled | Billing: Each row is an invoice line item. The price is locked in at creation — if your rate changes, only new months use the new rate. Price breakdown: every row also carries platformPrice (the Hyperprop platform fee) and marketDataPrice (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). platformPrice + marketDataPrice = price always holds, including for historical rows from earlier pricing eras. Same user, multiple rows: each billed month is a separate row — a complete billing history per trader. Paging: rows are newest first. Offset paging works as before; for long histories pass pagination.nextCursor back as cursor to fetch the next page without counting through the earlier ones. total always counts every matching row. Access: read-only and full-access API keys. Dashboard members need view access to Billing \u0026amp; purchases revenue.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hyperprop Platform API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List billing cycles - Hyperprop Platform API\">\u003cmeta data-mint-head property=\"og:description\" content=\"View all billing charges for your organization. Since August 2026, each row is one CALENDAR-MONTH charge for one user (billingMonth = first day of the month it covers, full month, no proration). A charge is created when: - The trader\u0026#x27;s first account is created (trigger: account_created) - A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: auto_renewal) Rows with billingMonth: null are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in. Statuses: | Status | Meaning | |--------|---------| | active | Covers the current period (expiresAt in the future) | | expired | Period ended | | cancelled | Manually cancelled | Billing: Each row is an invoice line item. The price is locked in at creation — if your rate changes, only new months use the new rate. Price breakdown: every row also carries platformPrice (the Hyperprop platform fee) and marketDataPrice (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). platformPrice + marketDataPrice = price always holds, including for historical rows from earlier pricing eras. Same user, multiple rows: each billed month is a separate row — a complete billing history per trader. Paging: rows are newest first. Offset paging works as before; for long histories pass pagination.nextCursor back as cursor to fetch the next page without counting through the earlier ones. total always counts every matching row. Access: read-only and full-access API keys. Dashboard members need view access to Billing \u0026amp; purchases revenue.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hyperprop Platform API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hyperprop-401fc39d.mintlify.app/_mintlify/api/og/v2?division=Billing+and+invoices\u0026amp;title=List+billing+cycles\u0026amp;description=View+all+billing+charges+for+your+organization.%0A%0ASince+August+2026%2C+each+row+is+one+CALENDAR-MONTH+charge+for+one+user+%28%60billingMonth%60+%3D+first+day+of+the+month+\u0026amp;theme=35ed8de89d541f079451cc52\u0026amp;signature=d0e9220412951b200a6ee8147cc5520f5333ed2f78a40e774098d9db5e58241b\">\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=\"List billing cycles - Hyperprop Platform API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"View all billing charges for your organization. Since August 2026, each row is one CALENDAR-MONTH charge for one user (billingMonth = first day of the month it covers, full month, no proration). A charge is created when: - The trader\u0026#x27;s first account is created (trigger: account_created) - A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: auto_renewal) Rows with billingMonth: null are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in. Statuses: | Status | Meaning | |--------|---------| | active | Covers the current period (expiresAt in the future) | | expired | Period ended | | cancelled | Manually cancelled | Billing: Each row is an invoice line item. The price is locked in at creation — if your rate changes, only new months use the new rate. Price breakdown: every row also carries platformPrice (the Hyperprop platform fee) and marketDataPrice (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). platformPrice + marketDataPrice = price always holds, including for historical rows from earlier pricing eras. Same user, multiple rows: each billed month is a separate row — a complete billing history per trader. Paging: rows are newest first. Offset paging works as before; for long histories pass pagination.nextCursor back as cursor to fetch the next page without counting through the earlier ones. total always counts every matching row. Access: read-only and full-access API keys. Dashboard members need view access to Billing \u0026amp; purchases revenue.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hyperprop-401fc39d.mintlify.app/_mintlify/api/og/v2?division=Billing+and+invoices\u0026amp;title=List+billing+cycles\u0026amp;description=View+all+billing+charges+for+your+organization.%0A%0ASince+August+2026%2C+each+row+is+one+CALENDAR-MONTH+charge+for+one+user+%28%60billingMonth%60+%3D+first+day+of+the+month+\u0026amp;theme=35ed8de89d541f079451cc52\u0026amp;signature=d0e9220412951b200a6ee8147cc5520f5333ed2f78a40e774098d9db5e58241b\">\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/hyperprop-401fc39d/E21rb6hoYD-Zo_QV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hyperprop Platform API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#253CFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/platform-api/billing-and-invoices/list-billing-cycles.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hyperprop.com/#organization\",\"name\":\"Hyperprop Platform API\",\"url\":\"https://docs.hyperprop.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hyperprop-401fc39d/snMIX7SYzcFqAv9j/logo/light.svg?fit=max\u0026auto=format\u0026n=snMIX7SYzcFqAv9j\u0026q=85\u0026s=e3a0a071fb4ba3ae53ef978c23cc38a3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hyperprop.com#website\",\"name\":\"Hyperprop Platform API\",\"url\":\"https://docs.hyperprop.com\",\"publisher\":{\"@id\":\"https://docs.hyperprop.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles#webpage\",\"url\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles\",\"name\":\"List billing cycles\",\"description\":\"View all billing charges for your organization. Since August 2026, each row is one CALENDAR-MONTH charge for one user (billingMonth = first day of the month it covers, full month, no proration). A charge is created when: - The trader's first account is created (trigger: account_created) - A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: auto_renewal) Rows with billingMonth: null are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in. Statuses: | Status | Meaning | |--------|---------| | active | Covers the current period (expiresAt in the future) | | expired | Period ended | | cancelled | Manually cancelled | Billing: Each row is an invoice line item. The price is locked in at creation — if your rate changes, only new months use the new rate. Price breakdown: every row also carries platformPrice (the Hyperprop platform fee) and marketDataPrice (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). platformPrice + marketDataPrice = price always holds, including for historical rows from earlier pricing eras. Same user, multiple rows: each billed month is a separate row — a complete billing history per trader. Paging: rows are newest first. Offset paging works as before; for long histories pass pagination.nextCursor back as cursor to fetch the next page without counting through the earlier ones. total always counts every matching row. Access: read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.\",\"dateModified\":\"2026-11-02T23:47:52.631Z\",\"isPartOf\":{\"@id\":\"https://docs.hyperprop.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Platform API\",\"item\":\"https://docs.hyperprop.com/platform-api/trading-accounts/list-close-all-runs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Billing and invoices\",\"item\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/get-daily-billing-activity\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List billing cycles\",\"item\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles#apireference\",\"headline\":\"List billing cycles\",\"name\":\"List billing cycles\",\"description\":\"View all billing charges for your organization. Since August 2026, each row is one CALENDAR-MONTH charge for one user (billingMonth = first day of the month it covers, full month, no proration). A charge is created when: - The trader's first account is created (trigger: account_created) - A new month starts while the trader still holds in_progress accounts, or an account creation is their first billing trigger of the month (trigger: auto_renewal) Rows with billingMonth: null are historical 30-day cycles from before August 2026 — the old rolling model. They count toward the month they started in. Statuses: | Status | Meaning | |--------|---------| | active | Covers the current period (expiresAt in the future) | | expired | Period ended | | cancelled | Manually cancelled | Billing: Each row is an invoice line item. The price is locked in at creation — if your rate changes, only new months use the new rate. Price breakdown: every row also carries platformPrice (the Hyperprop platform fee) and marketDataPrice (the CME Group market data bundle — CME, CBOT, NYMEX, COMEX, always billed as one bundle). platformPrice + marketDataPrice = price always holds, including for historical rows from earlier pricing eras. Same user, multiple rows: each billed month is a separate row — a complete billing history per trader. Paging: rows are newest first. Offset paging works as before; for long histories pass pagination.nextCursor back as cursor to fetch the next page without counting through the earlier ones. total always counts every matching row. Access: read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.\",\"url\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hyperprop.com/platform-api/billing-and-invoices/list-billing-cycles#webpage\"},\"dateModified\":\"2026-11-02T23:47:52.631Z\",\"publisher\":{\"@id\":\"https://docs.hyperprop.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hyperprop.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hyperprop Platform API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hyperprop Platform API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Platform API","pages":[{"group":"Trading accounts","pages":[{"title":"List close-all runs","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/flatten-runs","href":"/platform-api/trading-accounts/list-close-all-runs"},{"title":"Get trading accounts for your organization","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts","href":"/platform-api/trading-accounts/get-trading-accounts-for-your-organization"},{"title":"Create a trading account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts","href":"/platform-api/trading-accounts/create-a-trading-account"},{"title":"Get bulk operation details","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/bulk-operations/{batchId}","href":"/platform-api/trading-accounts/get-bulk-operation-details"},{"title":"Get a close-all run","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/flatten-runs/{runId}","href":"/platform-api/trading-accounts/get-a-close-all-run"},{"title":"Get daily account and trader activity","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/activity","href":"/platform-api/trading-accounts/get-daily-account-and-trader-activity"},{"title":"Bulk-create unlinked accounts with import keys","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/bulk","href":"/platform-api/trading-accounts/bulk-create-unlinked-accounts-with-import-keys"},{"title":"Bulk update trading accounts","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/bulk-update","href":"/platform-api/trading-accounts/bulk-update-trading-accounts"},{"title":"Close all positions across accounts","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/flatten","href":"/platform-api/trading-accounts/close-all-positions-across-accounts"},{"title":"Get open positions and equity for many accounts","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/positions","href":"/platform-api/trading-accounts/get-open-positions-and-equity-for-many-accounts"},{"title":"Get a specific trading account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}","href":"/platform-api/trading-accounts/get-a-specific-trading-account"},{"title":"Update a trading account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/trading-accounts/{accountId}","href":"/platform-api/trading-accounts/update-a-trading-account"},{"title":"Get an account's event log and session history","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/activity","href":"/platform-api/trading-accounts/get-an-accounts-event-log-and-session-history"},{"title":"List an account's balance adjustments","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/balance-adjustments","href":"/platform-api/trading-accounts/list-an-accounts-balance-adjustments"},{"title":"Credit or debit a trading account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/balance-adjustments","href":"/platform-api/trading-accounts/credit-or-debit-a-trading-account"},{"title":"Get account change history","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/changes","href":"/platform-api/trading-accounts/get-account-change-history"},{"title":"Get an account's daily P\u0026L","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/daily-pnl","href":"/platform-api/trading-accounts/get-an-accounts-daily-p\u0026l"},{"title":"Turn an account off (pause)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/deactivate","href":"/platform-api/trading-accounts/turn-an-account-off-pause"},{"title":"Get an account's equity and unrealized P\u0026L","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/equity","href":"/platform-api/trading-accounts/get-an-accounts-equity-and-unrealized-p\u0026l"},{"title":"Close all positions on an account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/flatten","href":"/platform-api/trading-accounts/close-all-positions-on-an-account"},{"title":"Get an account's order event timeline","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/order-events","href":"/platform-api/trading-accounts/get-an-accounts-order-event-timeline"},{"title":"Get an account's order history","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/orders","href":"/platform-api/trading-accounts/get-an-accounts-order-history"},{"title":"Get an account's open positions","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/positions","href":"/platform-api/trading-accounts/get-an-accounts-open-positions"},{"title":"Turn an account back on","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/reactivate","href":"/platform-api/trading-accounts/turn-an-account-back-on"},{"title":"Unlink a trader (issues a fresh import key)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/unlink","href":"/platform-api/trading-accounts/unlink-a-trader-issues-a-fresh-import-key"},{"title":"Get a balance adjustment by reference","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-accounts/{accountId}/balance-adjustments/{reference}","href":"/platform-api/trading-accounts/get-a-balance-adjustment-by-reference"},{"title":"Cancel working orders on an account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/orders/cancel","href":"/platform-api/trading-accounts/cancel-working-orders-on-an-account"},{"title":"Close one position on an account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/{accountId}/positions/{contract}/close","href":"/platform-api/trading-accounts/close-one-position-on-an-account"}]},{"group":"Traders","pages":[{"title":"List trader identity bindings (customer ⇄ Hyperprop login)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trader-bindings","href":"/platform-api/traders/list-trader-identity-bindings-customer-⇄-hyperprop-login"},{"title":"Get traders for your organization","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/traders","href":"/platform-api/traders/get-traders-for-your-organization"},{"title":"Get a specific trader","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/traders/{traderId}","href":"/platform-api/traders/get-a-specific-trader"},{"title":"Update a trader","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/traders/{traderId}","href":"/platform-api/traders/update-a-trader"},{"title":"Rebind a customer to a new Hyperprop login (support flow)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trader-bindings/{bindingId}/rebind","href":"/platform-api/traders/rebind-a-customer-to-a-new-hyperprop-login-support-flow"}]},{"group":"Trading plans","pages":[{"title":"Get trading plans for your organization","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-plans","href":"/platform-api/trading-plans/get-trading-plans-for-your-organization"},{"title":"Create a new trading plan","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-plans","href":"/platform-api/trading-plans/create-a-new-trading-plan"},{"title":"Get a specific trading plan","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-plans/{planId}","href":"/platform-api/trading-plans/get-a-specific-trading-plan"},{"title":"Delete a trading plan","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/trading-plans/{planId}","href":"/platform-api/trading-plans/delete-a-trading-plan"},{"title":"Update a trading plan","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/trading-plans/{planId}","href":"/platform-api/trading-plans/update-a-trading-plan"}]},{"group":"Trading rules","pages":[{"title":"Get trading rules for your organization","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-rules","href":"/platform-api/trading-rules/get-trading-rules-for-your-organization"},{"title":"Create a new trading rule","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-rules","href":"/platform-api/trading-rules/create-a-new-trading-rule"},{"title":"Get a specific trading rule","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/trading-rules/{ruleId}","href":"/platform-api/trading-rules/get-a-specific-trading-rule"},{"title":"Delete a trading rule","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/trading-rules/{ruleId}","href":"/platform-api/trading-rules/delete-a-trading-rule"},{"title":"Update a trading rule","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/trading-rules/{ruleId}","href":"/platform-api/trading-rules/update-a-trading-rule"}]},{"group":"Instruments","pages":[{"title":"List instruments","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/instruments","href":"/platform-api/instruments/list-instruments"}]},{"group":"Lockouts","pages":[{"title":"List all active lockouts","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/lockouts","href":"/platform-api/lockouts/list-all-active-lockouts"},{"title":"Create admin lockout","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/lockouts","href":"/platform-api/lockouts/create-admin-lockout"},{"title":"Get daily lockout activity","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/lockouts/activity","href":"/platform-api/lockouts/get-daily-lockout-activity"},{"title":"Get lockout status for account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/lockouts/{accountId}","href":"/platform-api/lockouts/get-lockout-status-for-account"},{"title":"Remove lockout from account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/lockouts/{accountId}","href":"/platform-api/lockouts/remove-lockout-from-account"},{"title":"Update active lockout","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/lockouts/{accountId}","href":"/platform-api/lockouts/update-active-lockout"}]},{"group":"Payouts","pages":[{"title":"Payout queue — bulk payout eligibility","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/payout-eligibility","href":"/platform-api/payouts/payout-queue-—-bulk-payout-eligibility"},{"title":"Get daily payout activity","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/payouts/activity","href":"/platform-api/payouts/get-daily-payout-activity"},{"title":"Check payout eligibility","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/accounts/{accountId}/payout-eligibility","href":"/platform-api/payouts/check-payout-eligibility"},{"title":"List payouts for an account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/accounts/{accountId}/payouts","href":"/platform-api/payouts/list-payouts-for-an-account"},{"title":"Execute a payout (balance withdrawal)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/accounts/{accountId}/payouts","href":"/platform-api/payouts/execute-a-payout-balance-withdrawal"},{"title":"Reverse a payout (restore the withdrawn balance)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/accounts/{accountId}/payouts/{payoutId}/reverse","href":"/platform-api/payouts/reverse-a-payout-restore-the-withdrawn-balance"}]},{"group":"Purchases","pages":[{"title":"Get purchases for your organization","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/purchases","href":"/platform-api/purchases/get-purchases-for-your-organization"},{"title":"Get a specific purchase","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/purchases/{purchaseId}","href":"/platform-api/purchases/get-a-specific-purchase"}]},{"group":"Time Machine","pages":[{"title":"List revert batches","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/revert-batches","href":"/platform-api/time-machine/list-revert-batches"},{"title":"Get revert settings","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/time-machine-settings","href":"/platform-api/time-machine/get-revert-settings"},{"title":"Update revert settings","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json put /v1/organization/time-machine-settings","href":"/platform-api/time-machine/update-revert-settings"},{"title":"Bulk revert accounts to a trading day or an instant","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/accounts/revert-trading-day","href":"/platform-api/time-machine/bulk-revert-accounts-to-a-trading-day-or-an-instant"},{"title":"Inspect a revert batch","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/revert-batches/{batchId}","href":"/platform-api/time-machine/inspect-a-revert-batch"},{"title":"Revert an account to a trading day or an instant","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/accounts/{accountId}/revert-trading-day","href":"/platform-api/time-machine/revert-an-account-to-a-trading-day-or-an-instant"},{"title":"Cancel a background run","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/revert-batches/{batchId}/cancel","href":"/platform-api/time-machine/cancel-a-background-run"},{"title":"List the accounts of a background run","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/revert-batches/{batchId}/items","href":"/platform-api/time-machine/list-the-accounts-of-a-background-run"},{"title":"Retry the failed accounts of a background run","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/revert-batches/{batchId}/retry-failed","href":"/platform-api/time-machine/retry-the-failed-accounts-of-a-background-run"},{"title":"Undo a revert batch","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/revert-batches/{batchId}/undo","href":"/platform-api/time-machine/undo-a-revert-batch"},{"title":"List the fills a revert voided on an account","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/revert-batches/{batchId}/accounts/{accountId}/voided-fills","href":"/platform-api/time-machine/list-the-fills-a-revert-voided-on-an-account"}]},{"group":"Mass credit","pages":[{"title":"List balance adjustment batches","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/balance-adjustments","href":"/platform-api/mass-credit/list-balance-adjustment-batches"},{"title":"Credit back an incident window's losses","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments","href":"/platform-api/mass-credit/credit-back-an-incident-windows-losses"},{"title":"List bulk jobs","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/jobs","href":"/platform-api/mass-credit/list-bulk-jobs"},{"title":"Preview a balance credit","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/preview","href":"/platform-api/mass-credit/preview-a-balance-credit"},{"title":"Preview a mass credit","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/previews","href":"/platform-api/mass-credit/preview-a-mass-credit"},{"title":"List mass credit templates","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/balance-adjustments/templates","href":"/platform-api/mass-credit/list-mass-credit-templates"},{"title":"Create a mass credit template","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/templates","href":"/platform-api/mass-credit/create-a-mass-credit-template"},{"title":"Get a balance adjustment batch","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/balance-adjustments/{batchId}","href":"/platform-api/mass-credit/get-a-balance-adjustment-batch"},{"title":"Get a bulk job","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/jobs/{jobId}","href":"/platform-api/mass-credit/get-a-bulk-job"},{"title":"Delete a mass credit template","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/balance-adjustments/templates/{templateId}","href":"/platform-api/mass-credit/delete-a-mass-credit-template"},{"title":"Update a mass credit template","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/balance-adjustments/templates/{templateId}","href":"/platform-api/mass-credit/update-a-mass-credit-template"},{"title":"Retry a balance adjustment batch","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/{batchId}/retry","href":"/platform-api/mass-credit/retry-a-balance-adjustment-batch"},{"title":"Reverse a balance credit","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/{batchId}/reverse","href":"/platform-api/mass-credit/reverse-a-balance-credit"},{"title":"Cancel a bulk job","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/jobs/{jobId}/cancel","href":"/platform-api/mass-credit/cancel-a-bulk-job"},{"title":"Export a bulk job's items as CSV","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/jobs/{jobId}/export","href":"/platform-api/mass-credit/export-a-bulk-jobs-items-as-csv"},{"title":"List a bulk job's items","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/jobs/{jobId}/items","href":"/platform-api/mass-credit/list-a-bulk-jobs-items"},{"title":"Pause a bulk job","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/jobs/{jobId}/pause","href":"/platform-api/mass-credit/pause-a-bulk-job"},{"title":"Resume a bulk job","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/jobs/{jobId}/resume","href":"/platform-api/mass-credit/resume-a-bulk-job"},{"title":"Retry a bulk job's failed items","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/jobs/{jobId}/retry","href":"/platform-api/mass-credit/retry-a-bulk-jobs-failed-items"},{"title":"Reverse a mass credit","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/jobs/{jobId}/reverse","href":"/platform-api/mass-credit/reverse-a-mass-credit"},{"title":"Confirm a mass credit","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/previews/{jobId}/confirm","href":"/platform-api/mass-credit/confirm-a-mass-credit"},{"title":"Add accounts to a draft preview","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/previews/{jobId}/inputs","href":"/platform-api/mass-credit/add-accounts-to-a-draft-preview"},{"title":"Start a draft preview","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/balance-adjustments/previews/{jobId}/start","href":"/platform-api/mass-credit/start-a-draft-preview"}]},{"group":"Webhooks","pages":[{"title":"View webhook delivery history","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/webhook-deliveries","href":"/platform-api/webhooks/view-webhook-delivery-history"},{"title":"List all webhooks","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/webhooks","href":"/platform-api/webhooks/list-all-webhooks"},{"title":"Register a webhook endpoint","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/webhooks","href":"/platform-api/webhooks/register-a-webhook-endpoint"},{"title":"Get daily webhook delivery activity","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/webhook-deliveries/activity","href":"/platform-api/webhooks/get-daily-webhook-delivery-activity"},{"title":"Inspect a webhook event and all delivery attempts","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/webhook-deliveries/{deliveryId}","href":"/platform-api/webhooks/inspect-a-webhook-event-and-all-delivery-attempts"},{"title":"Get webhook details","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/webhooks/{webhookId}","href":"/platform-api/webhooks/get-webhook-details"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json put /v1/organization/webhooks/{webhookId}","href":"/platform-api/webhooks/update-a-webhook"},{"title":"Delete a webhook","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/webhooks/{webhookId}","href":"/platform-api/webhooks/delete-a-webhook"},{"title":"Redeliver a webhook delivery","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/webhook-deliveries/{deliveryId}/redeliver","href":"/platform-api/webhooks/redeliver-a-webhook-delivery"},{"title":"Get webhook endpoint delivery and latency metrics","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/webhooks/{webhookId}/metrics","href":"/platform-api/webhooks/get-webhook-endpoint-delivery-and-latency-metrics"},{"title":"Rotate signing secret","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/webhooks/{webhookId}/rotate-secret","href":"/platform-api/webhooks/rotate-signing-secret"},{"title":"Simulate any event type (QA fixture)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/webhooks/{webhookId}/simulate","href":"/platform-api/webhooks/simulate-any-event-type-qa-fixture"},{"title":"Send a test event","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/webhooks/{webhookId}/test","href":"/platform-api/webhooks/send-a-test-event"}]},{"group":"Events","pages":[{"title":"List all organization events","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/events","href":"/platform-api/events/list-all-organization-events"},{"title":"Inspect one event and all its webhook deliveries","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/events/{eventId}","href":"/platform-api/events/inspect-one-event-and-all-its-webhook-deliveries"}]},{"group":"Real-time streams","pages":[{"title":"Real-time event stream (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/events/stream","href":"/platform-api/real-time-streams/real-time-event-stream-websocket"},{"title":"Create a trading stream token","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/trading-accounts/stream-token","href":"/platform-api/real-time-streams/create-a-trading-stream-token"}]},{"group":"Reconciliation","pages":[{"title":"Get account balances (bulk, reconciliation-friendly)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/balances","href":"/platform-api/reconciliation/get-account-balances-bulk-reconciliation-friendly"},{"title":"Reconcile a trading day in one call","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/reconciliation","href":"/platform-api/reconciliation/reconcile-a-trading-day-in-one-call"},{"title":"Get end-of-day account snapshots","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/snapshots/accounts","href":"/platform-api/reconciliation/get-end-of-day-account-snapshots"},{"title":"Get fills for a trading day","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/snapshots/fills","href":"/platform-api/reconciliation/get-fills-for-a-trading-day"}]},{"group":"Analytics","pages":[{"title":"Get organization analytics","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/analytics","href":"/platform-api/analytics/get-organization-analytics"},{"title":"Get hourly activity by weekday","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/analytics/hourly","href":"/platform-api/analytics/get-hourly-activity-by-weekday"},{"title":"Get revenue breakdown","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/analytics/revenue","href":"/platform-api/analytics/get-revenue-breakdown"},{"title":"Get top traders over time","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/analytics/top-traders","href":"/platform-api/analytics/get-top-traders-over-time"}]},{"group":"Risk","pages":[{"title":"Get per-plan unit economics and sustainability flags","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/risk/plan-economics","href":"/platform-api/risk/get-per-plan-unit-economics-and-sustainability-flags"},{"title":"Get monthly firm P\u0026L (revenue vs payouts vs platform costs)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/risk/pnl","href":"/platform-api/risk/get-monthly-firm-p\u0026l-revenue-vs-payouts-vs-platform-costs"}]},{"group":"Billing and invoices","pages":[{"title":"Get daily billing activity","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/activity","href":"/platform-api/billing-and-invoices/get-daily-billing-activity"},{"title":"Get credits","description":"Your available credit balance and every credit grant and reversal. Credit is applied automatically to your next invoices when they are issued (`creditAppliedCents` on the invoice). Not paginated.\n\n**Access:** read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/credits","href":"/platform-api/billing-and-invoices/get-credits"},{"title":"List billing cycles","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/cycles","href":"/platform-api/billing-and-invoices/list-billing-cycles"},{"title":"Get your billing details","description":"The legal name, billing email, CC emails, address and tax ID Hyperprop invoices your organization with. No invoice can be issued until `complete` is true; `missing` lists what is still needed. Once complete details are saved they are `locked`.\n\n**Access:** read-only and full-access API keys. Dashboard members need view access to Billing \u0026 purchases revenue.","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/details","href":"/platform-api/billing-and-invoices/get-your-billing-details"},{"title":"Update your billing details","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json put /v1/organization/billing/details","href":"/platform-api/billing-and-invoices/update-your-billing-details"},{"title":"List all billing events","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/events","href":"/platform-api/billing-and-invoices/list-all-billing-events"},{"title":"Project next month's bill from the current state","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/forecast","href":"/platform-api/billing-and-invoices/project-next-months-bill-from-the-current-state"},{"title":"List invoices","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/invoices","href":"/platform-api/billing-and-invoices/list-invoices"},{"title":"Get all-months billing aggregates","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/monthly","href":"/platform-api/billing-and-invoices/get-all-months-billing-aggregates"},{"title":"Get monthly billing summary","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/summary","href":"/platform-api/billing-and-invoices/get-monthly-billing-summary"},{"title":"Get this month so far","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/usage","href":"/platform-api/billing-and-invoices/get-this-month-so-far"},{"title":"Get an invoice","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/invoices/{invoiceId}","href":"/platform-api/billing-and-invoices/get-an-invoice"},{"title":"Export a month's line items as CSV","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/line-items/export","href":"/platform-api/billing-and-invoices/export-a-months-line-items-as-csv"},{"title":"Get events for a billing cycle","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/cycles/{cycleId}/events","href":"/platform-api/billing-and-invoices/get-events-for-a-billing-cycle"},{"title":"Get bank transfer instructions","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/invoices/{invoiceId}/payment-instructions","href":"/platform-api/billing-and-invoices/get-bank-transfer-instructions"},{"title":"Download an invoice PDF","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/billing/invoices/{invoiceId}/pdf","href":"/platform-api/billing-and-invoices/download-an-invoice-pdf"}]},{"group":"Team and roles","pages":[{"title":"List roles (system presets + your custom roles)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/roles","href":"/platform-api/team-and-roles/list-roles-system-presets-+-your-custom-roles"},{"title":"Create a custom role","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/roles","href":"/platform-api/team-and-roles/create-a-custom-role"},{"title":"Get team members for your organization","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/team","href":"/platform-api/team-and-roles/get-team-members-for-your-organization"},{"title":"Add a team member with a role","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/team","href":"/platform-api/team-and-roles/add-a-team-member-with-a-role"},{"title":"Delete an unused custom role","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/roles/{roleId}","href":"/platform-api/team-and-roles/delete-an-unused-custom-role"},{"title":"Update a custom role","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/roles/{roleId}","href":"/platform-api/team-and-roles/update-a-custom-role"},{"title":"Remove a team member","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/team/{memberId}","href":"/platform-api/team-and-roles/remove-a-team-member"},{"title":"Change a team member's role","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/team/{memberId}","href":"/platform-api/team-and-roles/change-a-team-members-role"},{"title":"Reset a team member's password","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/team/{memberId}/reset-password","href":"/platform-api/team-and-roles/reset-a-team-members-password"}]},{"group":"API keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/api-keys","href":"/platform-api/api-keys/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/api-keys","href":"/platform-api/api-keys/create-an-api-key"},{"title":"Delete an API key","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/api-keys/{keyId}","href":"/platform-api/api-keys/delete-an-api-key"},{"title":"Update an API key","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json patch /v1/organization/api-keys/{keyId}","href":"/platform-api/api-keys/update-an-api-key"}]},{"group":"Logs and health","pages":[{"title":"List API request logs","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/api-logs","href":"/platform-api/logs-and-health/list-api-request-logs"},{"title":"Get organization audit log","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/audit-log","href":"/platform-api/logs-and-health/get-organization-audit-log"},{"title":"Get integration health (alerts, errors, insights)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/health","href":"/platform-api/logs-and-health/get-integration-health-alerts-errors-insights"},{"title":"Look up an idempotency key","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/idempotency-keys","href":"/platform-api/logs-and-health/look-up-an-idempotency-key"},{"title":"Release a stuck idempotency key","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/idempotency-keys/release","href":"/platform-api/logs-and-health/release-a-stuck-idempotency-key"}]},{"group":"Organization profile","pages":[{"title":"Get your organization profile","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/profile","href":"/platform-api/organization-profile/get-your-organization-profile"},{"title":"Update your organization profile","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json put /v1/organization/profile","href":"/platform-api/organization-profile/update-your-organization-profile"},{"title":"Upload organization logo","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/profile/logo","href":"/platform-api/organization-profile/upload-organization-logo"},{"title":"Delete organization logo","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json delete /v1/organization/profile/logo","href":"/platform-api/organization-profile/delete-organization-logo"}]},{"group":"Support","pages":[{"title":"List your support tickets","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/support/tickets","href":"/platform-api/support/list-your-support-tickets"},{"title":"Create a support ticket","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/support/tickets","href":"/platform-api/support/create-a-support-ticket"},{"title":"Get signed upload URLs for ticket attachments","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/support/uploads","href":"/platform-api/support/get-signed-upload-urls-for-ticket-attachments"},{"title":"Get a support ticket with its reply thread","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/organization/support/tickets/{ticketId}","href":"/platform-api/support/get-a-support-ticket-with-its-reply-thread"},{"title":"Reply on a support ticket","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json post /v1/organization/support/tickets/{ticketId}/comments","href":"/platform-api/support/reply-on-a-support-ticket"}]},{"group":"Partner access","pages":[{"title":"Get order history (keyset-paginated)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/user/trading/orders","href":"/platform-api/partner-access/get-order-history-keyset-paginated"},{"title":"Get completed round-trip trades (server-derived)","deprecated":null,"version":null,"openapi":"https://api.hyperprop.com/platform/openapi.json get /v1/user/trading/trades","href":"/platform-api/partner-access/get-completed-round-trip-trades-server-derived"}]}]},{"group":"Trade API","pages":[{"group":"Account","pages":[{"title":"Get current trading account with equity and P\u0026L","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/account","href":"/trade-api/account/get-current-trading-account-with-equity-and-p\u0026l"},{"title":"Get account lockout status","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/account/lockout","href":"/trade-api/account/get-account-lockout-status"},{"title":"Create or update account lockout","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/account/lockout","href":"/trade-api/account/create-or-update-account-lockout"},{"title":"Remove account lockout","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json delete /trade/account/lockout","href":"/trade-api/account/remove-account-lockout"},{"title":"Set or clear a trading account's display nickname.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/account/nickname","href":"/trade-api/account/set-or-clear-a-trading-accounts-display-nickname"},{"title":"Get all trading accounts for the authenticated user","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/accounts","href":"/trade-api/account/get-all-trading-accounts-for-the-authenticated-user"},{"title":"List the trader's API keys","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/partner/keys","href":"/trade-api/account/list-the-traders-api-keys"},{"title":"Generate a trader API key for third-party access","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/partner/keys","href":"/trade-api/account/generate-a-trader-api-key-for-third-party-access"},{"title":"Revoke one of the trader's API keys","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json delete /trade/partner/keys/{key_id}","href":"/trade-api/account/revoke-one-of-the-traders-api-keys"},{"title":"Create a partner session","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/partner/session","href":"/trade-api/account/create-a-partner-session"}]},{"group":"Risk","pages":[{"title":"Read the trader's personal risk settings for an account.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/account/risk-settings","href":"/trade-api/risk/read-the-traders-personal-risk-settings-for-an-account"},{"title":"Update personal risk settings.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/account/risk-settings","href":"/trade-api/risk/update-personal-risk-settings"}]},{"group":"Accounts","pages":[{"title":"Consistency status for one of the caller's accounts","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/accounts/{account_id}/consistency","href":"/trade-api/accounts/consistency-status-for-one-of-the-callers-accounts"}]},{"group":"Positions","pages":[{"title":"Close all open positions for an account","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/close-all","href":"/trade-api/positions/close-all-open-positions-for-an-account"},{"title":"Flatten account: close positions and cancel orders","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/flatten","href":"/trade-api/positions/flatten-account:-close-positions-and-cancel-orders"},{"title":"Add margin to an isolated perpetual position, or remove some.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/perp/isolated-margin","href":"/trade-api/positions/add-margin-to-an-isolated-perpetual-position-or-remove-some"},{"title":"Read the account's perpetual margin settings and position margins.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/perp/margin","href":"/trade-api/positions/read-the-accounts-perpetual-margin-settings-and-position-margins"},{"title":"Set a perpetual's margin mode and/or leverage.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/perp/margin","href":"/trade-api/positions/set-a-perpetuals-margin-mode-andor-leverage"},{"title":"Close a specific position by contract","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/position/close","href":"/trade-api/positions/close-a-specific-position-by-contract"},{"title":"Reverse a position (close + open opposite side)","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/position/reverse","href":"/trade-api/positions/reverse-a-position-close-+-open-opposite-side"},{"title":"Set TP/SL at the position level for one (account, contract) pair.","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/position/set-bracket","href":"/trade-api/positions/set-tpsl-at-the-position-level-for-one-account-contract-pair"},{"title":"Get open positions with real-time P\u0026L","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/positions","href":"/trade-api/positions/get-open-positions-with-real-time-p\u0026l"}]},{"group":"Orders","pages":[{"title":"Get command processing status by id","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/commands/{command_id}","href":"/trade-api/orders/get-command-processing-status-by-id"},{"title":"Submit a market, limit, or stop order","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/order","href":"/trade-api/orders/submit-a-market-limit-or-stop-order"},{"title":"Attach TP/SL bracket to an existing order","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/order/attach-bracket","href":"/trade-api/orders/attach-tpsl-bracket-to-an-existing-order"},{"title":"Cancel a pending order","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/order/cancel","href":"/trade-api/orders/cancel-a-pending-order"},{"title":"Detach TP/SL bracket leg from an order","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/order/detach-bracket","href":"/trade-api/orders/detach-tpsl-bracket-leg-from-an-order"},{"title":"Link a standalone order into the position's OCO group","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/order/link-oco","href":"/trade-api/orders/link-a-standalone-order-into-the-positions-oco-group"},{"title":"Modify price or quantity of a pending order","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/order/modify","href":"/trade-api/orders/modify-price-or-quantity-of-a-pending-order"},{"title":"Get all orders (filled, pending, cancelled)","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/orders","href":"/trade-api/orders/get-all-orders-filled-pending-cancelled"},{"title":"Cancel all pending orders for an account (keeps live position protection)","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/orders/cancel-all","href":"/trade-api/orders/cancel-all-pending-orders-for-an-account-keeps-live-position-protection"},{"title":"Get order history (append-only lifecycle events)","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/orders/history","href":"/trade-api/orders/get-order-history-append-only-lifecycle-events"},{"title":"Get active working orders","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/orders/pending","href":"/trade-api/orders/get-active-working-orders"},{"title":"Get trade execution history","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/trades","href":"/trade-api/orders/get-trade-execution-history"}]},{"group":"Copy Trading","pages":[{"title":"Get copy trading configuration","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/copy/config","href":"/trade-api/copy-trading/get-copy-trading-configuration"},{"title":"Create or update a copy trading config","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/copy/config","href":"/trade-api/copy-trading/create-or-update-a-copy-trading-config"},{"title":"Delete a copy trading config","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json delete /trade/copy/config","href":"/trade-api/copy-trading/delete-a-copy-trading-config"},{"title":"Toggle copy config active state","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/copy/config/active","href":"/trade-api/copy-trading/toggle-copy-config-active-state"},{"title":"Delete all copy trading configs","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json delete /trade/copy/config/all","href":"/trade-api/copy-trading/delete-all-copy-trading-configs"},{"title":"Bulk update copy trading group followers","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json post /trade/copy/group","href":"/trade-api/copy-trading/bulk-update-copy-trading-group-followers"},{"title":"Get copy trading status and positions","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/copy/status","href":"/trade-api/copy-trading/get-copy-trading-status-and-positions"}]},{"group":"WebSocket","pages":[{"title":"Real-time WebSocket for trading events","deprecated":null,"version":null,"openapi":"/api-reference/trade-openapi.json get /trade/ws","href":"/trade-api/websocket/real-time-websocket-for-trading-events"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"List billing cycles - Hyperprop Platform API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-Bevw23-4.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}