Selects the 2026-10 response contract. Send 2026-10-01; any dated version on or after it selects the same shapes. Without the header every response keeps its existing shape. With it:
The data quality routes, /v1/status/coverage and /v1/symbols answer the standard {success, data, meta} envelope.
Record times that are integer milliseconds by default become RFC 3339 UTC strings with millisecond precision, and the integer moves to a *_ms field: L4 resting-order timestamp (timestamp_ms), CVD buckets, HIP-3 oracle reads, Lighter and Lighter on Robinhood Chain liquidations and liquidation volume. Levels and trigger-levels snapshot_ts become RFC 3339 with snapshot_ts_ms.
Error bodies carry the contract error_code names: invalid_parameter instead of invalid_query_params and invalid_path_params, historical_depth_exceeded instead of history_window_exceeded, and historical_range_exceeded instead of request_range_exceeded; a malformed cursor that fails to parse answers 400 invalid_cursor instead of invalid_query_params. With 0xArchive-Version: 2026-10-01, malformed cursors on trades, liquidations, L2 and L4 diffs, order history, TP/SL and order-flow routes answer 400 invalid_cursor. Without the header, the first six route families treat a malformed cursor as no cursor and return the first page; order flow answers 400 invalid_query_params. Malformed trade time inputs answer 400 invalid_time_range with the header and 400 invalid_query_params without it.
The response echoes the selected version in its own 0xArchive-Version header.
Available options:
2026-10-01
Example:
"2026-10-01"
Response
Webhook plan limits and current usage
API response containing webhook plan limits and current usage.
What this plan allows and what is in use, in one call. Every number is read from the same place the caps are enforced from, so a refusal and this report cannot disagree.
Response metadata. Every 2xx JSON response carries meta.request_id; list payloads add count; cursor-paged routes add has_more and, when another page follows, next_cursor; per-symbol routes add symbol and venue. Fields that do not apply to a route are omitted.
Cursor-paged routes: whether another page follows. next_cursor is present exactly when this is true. A final page can be empty when the previous page was exactly full; has_more is false on it.
Opaque cursor for the next page, present exactly when has_more is true. Pass it back unchanged as cursor with the same filters. Do not parse or construct it.
Human-readable advisory about the response. Used when the requested window ends before coverage begins for the symbol, and on CVD responses that are one page of several; may carry other advisories in future.
Number of preliminary rows in this response, on routes that intentionally serve preliminary data (Lighter /recent).
Last modified on October 7, 2026
Was this page helpful?
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"0xArchive","description":"Hyperliquid and Lighter market data through the REST API, WebSocket, Webhook Alerts, and Bulk Exports. Start with your first request on the Free plan.","colors":{"primary":"#15803D","light":"#21C55E","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/0xarchive-e895b8e7/_8ck-oUq6ufsot88/logo-light.svg?fit=max\u0026auto=format\u0026n=_8ck-oUq6ufsot88\u0026q=85\u0026s=125ef51299181bd38460b33344f30ff5","dark":"https://mintcdn.com/0xarchive-e895b8e7/_8ck-oUq6ufsot88/logo-dark.svg?fit=max\u0026auto=format\u0026n=_8ck-oUq6ufsot88\u0026q=85\u0026s=829b1f9b3638e20a5c6bc6032ab00025","href":"https://0xarchive.io/?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=logo_home"},"favicon":"https://mintcdn.com/0xarchive-e895b8e7/_8ck-oUq6ufsot88/favicon.svg?fit=max\u0026auto=format\u0026n=_8ck-oUq6ufsot88\u0026q=85\u0026s=df84c8913362b83bdf0443dd4b49a717","api":{"openapi":{"source":"openapi.json","directory":"api-reference"},"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript","go"],"prefill":true,"autogenerate":true},"url":"full"},"appearance":{"default":"dark","strict":false},"navbar":{"links":[{"href":"https://0xarchive.io/pricing?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=navbar_pricing","label":"Pricing"},{"href":"https://0xarchive.io/status?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=navbar_status","label":"Status"},{"href":"https://0xarchive.io/changelog?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=navbar_changelog","label":"Changelog"},{"href":"https://github.com/0xArchiveIO","label":"GitHub"}],"primary":{"type":"button","label":"Dashboard","href":"https://0xarchive.io/dashboard?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=navbar_dashboard"}},"footer":{"socials":{"x":"https://x.com/0xarchiveIo","github":"https://github.com/0xArchiveIO","telegram":"https://t.me/archivedotio","linkedin":"https://www.linkedin.com/company/0xarchive"},"links":[{"header":"Product","items":[{"label":"Pricing","href":"https://0xarchive.io/pricing?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_pricing"},{"label":"Status","href":"https://0xarchive.io/status?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_status"},{"label":"Data Catalog","href":"https://0xarchive.io/data?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_data_catalog"},{"label":"Dashboard","href":"https://0xarchive.io/dashboard?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_dashboard"}]},{"header":"Developers","items":[{"label":"Data rights","href":"/data-rights"},{"label":"AI clients","href":"/ai-clients"},{"label":"Coding agents","href":"/coding-agents"},{"label":"Choose an interface","href":"/tooling"}]},{"header":"Resources","items":[{"label":"Reference","href":"/reference"},{"label":"OpenAPI","href":"/openapi"},{"label":"Recommendations","href":"/recommendations"},{"label":"Free crypto data API","href":"/free-crypto-data-api"},{"label":"Sitemap","href":"/sitemap"},{"label":"llms.txt","href":"/llms.txt"},{"label":"llms-full.txt","href":"/llms-full.txt"},{"label":"Resources","href":"https://0xarchive.io/resources?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_blog"}]},{"header":"Company","items":[{"label":"Home","href":"https://0xarchive.io/?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_home"},{"label":"Contact","href":"https://0xarchive.io/contact?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_contact"},{"label":"Terms","href":"https://0xarchive.io/terms?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_terms"},{"label":"Privacy","href":"https://0xarchive.io/privacy?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs_nav\u0026utm_content=footer_privacy"}]}]},"search":{"prompt":"Search routes, symbols, SDKs, WebSocket replay, and data quality"},"seo":{"metatags":{"canonical":"https://docs.0xarchive.io","og:site_name":"0xArchive Docs","og:type":"website","twitter:card":"summary_large_image","twitter:site":"@0xarchiveIo","google-site-verification":"Hpedp6bedqc3av1195euaGMwyFEVHcJhcyUY9YiMvTY"},"organization":{"id":"https://0xarchive.io/#organization","name":"0xArchive","legalName":"Archive Labs Inc.","url":"https://0xarchive.io/","logo":"https://0xarchive.io/logo-square-1024.png","sameAs":["https://x.com/0xarchiveIo","https://github.com/0xArchiveIO","https://t.me/archivedotio","https://www.linkedin.com/company/0xarchive/"]},"indexing":"all"},"fonts":{"family":"Geist","source":"fonts/geist-variable.woff2","format":"woff2"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":"github-dark"},"latex":true},"errors":{"404":{"redirect":false,"title":"Page not found","description":"Open the quickstart, REST reference, or search the docs for the route you need."}},"contextual":{"options":["copy","view","assistant","chatgpt","claude","perplexity","cursor","vscode","windsurf","grok","devin","aistudio"],"display":"header"},"thumbnails":{"background":"https://mintcdn.com/0xarchive-e895b8e7/ZmnWL31Kq8lGIdPW/images/og-background.svg?fit=max\u0026auto=format\u0026n=ZmnWL31Kq8lGIdPW\u0026q=85\u0026s=802efd004c3811d20f873d5f00c5ef32"},"metadata":{"timestamp":true},"markdown":{"schema":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"0xarchive-e895b8e7","hasAudioNarration":false,"actualSubdomain":"0xarchive-e895b8e7","customDomains":["docs.0xarchive.io"],"gitSource":{"type":"github","owner":"0xarchiveio","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea19b7fb19e826efc55a2b","collectionId":"d8b1f375-18ee-4c1c-9493-b62f9a952505","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea19b7fb19e826efc55a2b"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aea19b7fb19e826efc55a2b","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"REST API","count":478},{"language":"default","tag":"OpenAPI and schemas","count":230},{"language":"default","tag":"Operation schemas","count":225},{"language":"default","tag":"Endpoint reference","count":213},{"language":"default","tag":"HIP-3","count":94},{"language":"default","tag":"Hyperliquid core","count":90},{"language":"default","tag":"Terminal","count":84},{"language":"default","tag":"Lighter","count":60},{"language":"default","tag":"Webhook Alerts","count":53},{"language":"default","tag":"HIP-4","count":52}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"[email protected]","showHelpButton":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},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/0xarchive-e895b8e7/4b473e296a6c1d39/styles.css"}],"page":{"pagePath":"api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","slug":"/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","pageMetadata":{"title":"Get webhook plan limits and usage","description":"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/limits","href":"/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Info}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`API key required.`}),` Send `,_jsx(_components.code,{children:`X-API-Key`}),` with this request. See `,_jsx(_components.a,{href:`/rest-api/authentication`,children:`REST authentication`}),`.`]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`/schemas/operations/get-webhook-limits`,children:`Operation schema`})}),`\n`,_jsx(Accordion,{title:`Shared request rules`,id:`shared-request-rules`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/rate-limits`,children:`Rate limits and credits`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/responses`,children:`HTTP responses and status codes`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/errors`,children:`Errors and request IDs`})}),`\n`]})}),`\n`,_jsx(Accordion,{title:`Machine schema`,id:`machine-schema`,children:_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/schemas/operations/get-webhook-limits`,children:`Open the generated operation schema`}),` for machine-readable request and response details.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":"github-dark"},"config":{},"pageMetadata":{"title":"Get webhook plan limits and usage","description":"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/limits","href":"/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/0xarchive-e895b8e7/7de7178c454c8311/analytics-delayed.js","/_mintlify/custom/0xarchive-e895b8e7/64d76990ea4d1101/ahrefs-analytics.js","/_mintlify/custom/0xarchive-e895b8e7/9c04a5e34ef7363a/assistant-ui.js","/_mintlify/custom/0xarchive-e895b8e7/ae934b733ebeac03/single-public-docs.js","/_mintlify/custom/0xarchive-e895b8e7/ab832e8be54292e5/webhooks-anchors.js"],"openApiReferenceData":{"operation":{"tags":["Webhooks - Catalog and Limits"],"summary":"Get webhook plan limits and usage","description":"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.","operationId":"getWebhookLimits","responses":{"200":"e0590ae9-246c-4ce1-b3e9-e9bd0ea64406","401":"75f24bcb-3c4c-4646-b7a2-5de7f0a069ef","429":"0884b038-f541-46fb-b272-e13d764340b8","default":"d5f38220-e275-402f-9f5b-089d17f172fc"},"x-hidden":true,"x-mint":{"content":"\u003cInfo>\n **API key required.** Send `X-API-Key` with this request. See [REST authentication](/rest-api/authentication).\n\u003c/Info>\n\n[Operation schema](/schemas/operations/get-webhook-limits)\n\n\u003cAccordion title=\"Shared request rules\">\n - [Rate limits and credits](/rate-limits)\n - [HTTP responses and status codes](/responses)\n - [Errors and request IDs](/errors)\n\u003c/Accordion>\n\n\u003cAccordion title=\"Machine schema\">\n [Open the generated operation schema](/schemas/operations/get-webhook-limits) for machine-readable request and response details.\n\u003c/Accordion>","metadata":{"description":"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes."}},"method":"get","type":"path","servers":["afa1230c-1573-4566-9e9a-40f758adb7f2"],"security":["b5f63b2d-d545-4c2d-99b7-ab24e07d269d"],"path":"/v1/webhooks/limits","baseUrlOptions":["https://api.0xarchive.io"],"title":"Get webhook plan limits and usage","codeSamples":[],"requestExampleLanguages":["bash","python","javascript","go"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[],"urlDisplay":"full"},"dependencies":{"parameters":{"52cd68aa-fe4e-4656-8e62-b130831c92ae":{"name":"0xArchive-Version","in":"header","required":false,"description":"Selects the 2026-10 response contract. Send `2026-10-01`; any dated version on or after it selects the same shapes. Without the header every response keeps its existing shape. With it:\n\n- The data quality routes, `/v1/status/coverage` and `/v1/symbols` answer the standard `{success, data, meta}` envelope.\n- Record times that are integer milliseconds by default become RFC 3339 UTC strings with millisecond precision, and the integer moves to a `*_ms` field: L4 resting-order `timestamp` (`timestamp_ms`), CVD buckets, HIP-3 oracle reads, Lighter and Lighter on Robinhood Chain liquidations and liquidation volume. Levels and trigger-levels `snapshot_ts` become RFC 3339 with `snapshot_ts_ms`.\n- Error bodies carry the contract `error_code` names: `invalid_parameter` instead of `invalid_query_params` and `invalid_path_params`, `historical_depth_exceeded` instead of `history_window_exceeded`, and `historical_range_exceeded` instead of `request_range_exceeded`; a malformed cursor that fails to parse answers 400 `invalid_cursor` instead of `invalid_query_params`. With `0xArchive-Version: 2026-10-01`, malformed cursors on trades, liquidations, L2 and L4 diffs, order history, TP/SL and order-flow routes answer 400 `invalid_cursor`. Without the header, the first six route families treat a malformed cursor as no cursor and return the first page; order flow answers 400 `invalid_query_params`. Malformed trade time inputs answer 400 `invalid_time_range` with the header and 400 `invalid_query_params` without it.\n\nThe response echoes the selected version in its own `0xArchive-Version` header.","schema":{"type":"string","enum":["2026-10-01"],"example":"2026-10-01","isRequired":false,"description":"Selects the 2026-10 response contract. Send `2026-10-01`; any dated version on or after it selects the same shapes. Without the header every response keeps its existing shape. With it:\n\n- The data quality routes, `/v1/status/coverage` and `/v1/symbols` answer the standard `{success, data, meta}` envelope.\n- Record times that are integer milliseconds by default become RFC 3339 UTC strings with millisecond precision, and the integer moves to a `*_ms` field: L4 resting-order `timestamp` (`timestamp_ms`), CVD buckets, HIP-3 oracle reads, Lighter and Lighter on Robinhood Chain liquidations and liquidation volume. Levels and trigger-levels `snapshot_ts` become RFC 3339 with `snapshot_ts_ms`.\n- Error bodies carry the contract `error_code` names: `invalid_parameter` instead of `invalid_query_params` and `invalid_path_params`, `historical_depth_exceeded` instead of `history_window_exceeded`, and `historical_range_exceeded` instead of `request_range_exceeded`; a malformed cursor that fails to parse answers 400 `invalid_cursor` instead of `invalid_query_params`. With `0xArchive-Version: 2026-10-01`, malformed cursors on trades, liquidations, L2 and L4 diffs, order history, TP/SL and order-flow routes answer 400 `invalid_cursor`. Without the header, the first six route families treat a malformed cursor as no cursor and return the first page; order flow answers 400 `invalid_query_params`. Malformed trade time inputs answer 400 `invalid_time_range` with the header and 400 `invalid_query_params` without it.\n\nThe response echoes the selected version in its own `0xArchive-Version` header.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"e0590ae9-246c-4ce1-b3e9-e9bd0ea64406":{"description":"Webhook plan limits and current usage","content":{"application/json":{"schema":{"type":"object","description":"API response containing webhook plan limits and current usage.","properties":{"success":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","description":"What this plan allows and what is in use, in one call. Every number is read from the same place the caps are enforced from, so a refusal and this report cannot disagree.","required":["plan","included","preview_included","endpoints","subscriptions","watched_addresses","deliveries_per_day","paused_subscriptions"],"properties":{"plan":{"type":"string","description":"The plan webhook decisions are priced at.","example":"pro","isRequired":true,"uniqueKey":"data.plan","typeLabel":"string"},"included":{"type":"boolean","description":"Whether the plan has webhook delivery at all. False on Free, where every cap is zero.","example":true,"isRequired":true,"uniqueKey":"data.included","typeLabel":"boolean"},"preview_included":{"type":"boolean","description":"Whether the estimate and the dry-run are available. True on every plan, including Free.","example":true,"isRequired":true,"uniqueKey":"data.preview_included","typeLabel":"boolean"},"endpoints":{"type":"object","description":"One cap: what the plan allows, what is in use, and what is left.","required":["used","limit","remaining"],"properties":{"used":{"type":"integer","format":"int64","description":"In use now.","example":1,"isRequired":true,"uniqueKey":"data.endpoints.used","typeLabel":"integer\u003cint64>"},"limit":{"type":"integer","format":"int64","description":"What the plan allows. Zero on a plan without webhook delivery.","example":4,"isRequired":true,"uniqueKey":"data.endpoints.limit","typeLabel":"integer\u003cint64>"},"remaining":{"type":"integer","format":"int64","description":"What is left, never below zero. A plan change can leave an account legitimately over a cap.","example":3,"isRequired":true,"uniqueKey":"data.endpoints.remaining","typeLabel":"integer\u003cint64>"}},"isRequired":true,"uniqueKey":"data.endpoints","typeLabel":"object"},"subscriptions":{"type":"object","description":"One cap: what the plan allows, what is in use, and what is left.","required":["used","limit","remaining"],"properties":{"used":{"type":"integer","format":"int64","description":"In use now.","example":1,"isRequired":true,"uniqueKey":"data.subscriptions.used","typeLabel":"integer\u003cint64>"},"limit":{"type":"integer","format":"int64","description":"What the plan allows. Zero on a plan without webhook delivery.","example":4,"isRequired":true,"uniqueKey":"data.subscriptions.limit","typeLabel":"integer\u003cint64>"},"remaining":{"type":"integer","format":"int64","description":"What is left, never below zero. A plan change can leave an account legitimately over a cap.","example":3,"isRequired":true,"uniqueKey":"data.subscriptions.remaining","typeLabel":"integer\u003cint64>"}},"isRequired":true,"uniqueKey":"data.subscriptions","typeLabel":"object"},"watched_addresses":{"type":"object","description":"One cap: what the plan allows, what is in use, and what is left.","required":["used","limit","remaining"],"properties":{"used":{"type":"integer","format":"int64","description":"In use now.","example":1,"isRequired":true,"uniqueKey":"data.watched_addresses.used","typeLabel":"integer\u003cint64>"},"limit":{"type":"integer","format":"int64","description":"What the plan allows. Zero on a plan without webhook delivery.","example":4,"isRequired":true,"uniqueKey":"data.watched_addresses.limit","typeLabel":"integer\u003cint64>"},"remaining":{"type":"integer","format":"int64","description":"What is left, never below zero. A plan change can leave an account legitimately over a cap.","example":3,"isRequired":true,"uniqueKey":"data.watched_addresses.remaining","typeLabel":"integer\u003cint64>"}},"isRequired":true,"uniqueKey":"data.watched_addresses","typeLabel":"object"},"deliveries_per_day":{"type":"object","description":"Today's delivery budget. The budget resets on its own; a paused rule does not.","required":["used","limit","remaining","unlimited","resets_at"],"properties":{"used":{"type":"integer","format":"int64","description":"Deliveries today.","example":412,"isRequired":true,"uniqueKey":"data.deliveries_per_day.used","typeLabel":"integer\u003cint64>"},"limit":{"oneOf":[{"type":"integer","format":"int64","description":"Deliveries a day the plan allows. Null when the plan has no ceiling.","example":50000,"isRequired":true,"uniqueKey":"data.deliveries_per_day.limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"Deliveries a day the plan allows. Null when the plan has no ceiling.","example":50000,"isRequired":true,"uniqueKey":"data.deliveries_per_day.limit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deliveries_per_day.limit","typeLabel":"integer\u003cint64> | null"},"remaining":{"oneOf":[{"type":"integer","format":"int64","description":"Deliveries left today, never below zero. Null when the plan has no ceiling.","example":49588,"isRequired":true,"uniqueKey":"data.deliveries_per_day.remaining.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"Deliveries left today, never below zero. Null when the plan has no ceiling.","example":49588,"isRequired":true,"uniqueKey":"data.deliveries_per_day.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.deliveries_per_day.remaining","typeLabel":"integer\u003cint64> | null"},"unlimited":{"type":"boolean","description":"True when the plan has no daily ceiling.","example":false,"isRequired":true,"uniqueKey":"data.deliveries_per_day.unlimited","typeLabel":"boolean"},"resets_at":{"type":"string","format":"date-time","description":"When the budget resets.","isRequired":true,"uniqueKey":"data.deliveries_per_day.resets_at","typeLabel":"string\u003cdate-time>"},"resets_at_note":{"type":"string","description":"Present only while something is paused, to say that the reset time is the budget's and not the pause's.","uniqueKey":"data.deliveries_per_day.resets_at_note","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.deliveries_per_day","typeLabel":"object"},"paused_subscriptions":{"type":"object","description":"Paused rules on the account. Always present, so zero paused needs no special case.","required":["count","reasons"],"properties":{"count":{"type":"integer","format":"int64","description":"How many rules are paused and delivering nothing.","example":0,"isRequired":true,"uniqueKey":"data.paused_subscriptions.count","typeLabel":"integer\u003cint64>"},"reasons":{"type":"array","items":{"type":"string","uniqueKey":"data.paused_subscriptions.reasons.items.[INDEX]","typeLabel":"string"},"description":"Distinct causes across the paused rules: the account reached its daily delivery limit, or the plan does not include webhook delivery.","example":[],"isRequired":true,"uniqueKey":"data.paused_subscriptions.reasons","typeLabel":"string[]"},"earliest_paused_at":{"oneOf":[{"type":"string","format":"date-time","description":"Start of the oldest pause still in force.","uniqueKey":"data.paused_subscriptions.earliest_paused_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start of the oldest pause still in force.","uniqueKey":"data.paused_subscriptions.earliest_paused_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.paused_subscriptions.earliest_paused_at","typeLabel":"string\u003cdate-time> | null"},"message":{"type":"string","description":"What is paused and what clears it, in plain words. Present only when something is paused.","uniqueKey":"data.paused_subscriptions.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.paused_subscriptions","typeLabel":"object"},"plan_label":{"oneOf":[{"type":"string","description":"The plan's display name, or null for a plan this build cannot name.","example":"Pro","uniqueKey":"data.plan_label.oneOf.0","typeLabel":"string"},{"type":"null","description":"The plan's display name, or null for a plan this build cannot name.","example":"Pro","uniqueKey":"data.plan_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.plan_label","typeLabel":"string | null"},"notice":{"type":"string","description":"Why the caps are zero, and what to do about it. Present only on a plan without webhook delivery.","uniqueKey":"data.notice","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"meta":{"type":"object","description":"Response metadata. Every 2xx JSON response carries `meta.request_id`; list payloads add `count`; cursor-paged routes add `has_more` and, when another page follows, `next_cursor`; per-symbol routes add `symbol` and `venue`. Fields that do not apply to a route are omitted.","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique request ID for support","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string\u003cuuid>"},"count":{"type":"integer","description":"Number of records returned","uniqueKey":"meta.count","typeLabel":"integer"},"has_more":{"type":"boolean","description":"Cursor-paged routes: whether another page follows. `next_cursor` is present exactly when this is `true`. A final page can be empty when the previous page was exactly full; `has_more` is `false` on it.","uniqueKey":"meta.has_more","typeLabel":"boolean"},"next_cursor":{"type":"string","description":"Opaque cursor for the next page, present exactly when `has_more` is `true`. Pass it back unchanged as `cursor` with the same filters. Do not parse or construct it.","uniqueKey":"meta.next_cursor","typeLabel":"string"},"symbol":{"type":"string","description":"Per-symbol routes: the canonical public symbol the response describes (for example `BTC`, `xyz:TSLA`, `HYPE-USDC`, `#0`).","example":"BTC","uniqueKey":"meta.symbol","typeLabel":"string"},"venue":{"type":"string","enum":["hyperliquid","hip3","hip4","spot","lighter","rh-lighter"],"description":"Per-symbol routes: the venue the response describes.","example":"hyperliquid","uniqueKey":"meta.venue","typeLabel":"enum\u003cstring>"},"coverage_from":{"type":"string","format":"date-time","description":"Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.","uniqueKey":"meta.coverage_from","typeLabel":"string\u003cdate-time>"},"notice":{"type":"string","description":"Human-readable advisory about the response. Used when the requested window ends before coverage begins for the symbol, and on CVD responses that are one page of several; may carry other advisories in future.","uniqueKey":"meta.notice","typeLabel":"string"},"finalized_through":{"type":"string","format":"date-time","description":"Two-tier datasets (Lighter trades): data at or before this instant is final; later data is preliminary.","uniqueKey":"meta.finalized_through","typeLabel":"string\u003cdate-time>"},"requested_end":{"oneOf":[{"type":"string","format":"date-time","description":"The `end` the request asked for, echoed when it was clamped to `finalized_through`.","uniqueKey":"meta.requested_end.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"The `end` the request asked for, echoed when it was clamped to `finalized_through`.","uniqueKey":"meta.requested_end.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.requested_end","typeLabel":"string\u003cdate-time> | null"},"clamped_to":{"oneOf":[{"type":"string","format":"date-time","description":"The boundary the request's `end` was clamped to, when clamping occurred.","uniqueKey":"meta.clamped_to.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"The boundary the request's `end` was clamped to, when clamping occurred.","uniqueKey":"meta.clamped_to.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.clamped_to","typeLabel":"string\u003cdate-time> | null"},"preliminary_row_count":{"oneOf":[{"type":"integer","description":"Number of preliminary rows in this response, on routes that intentionally serve preliminary data (Lighter `/recent`).","uniqueKey":"meta.preliminary_row_count.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Number of preliminary rows in this response, on routes that intentionally serve preliminary data (Lighter `/recent`).","uniqueKey":"meta.preliminary_row_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.preliminary_row_count","typeLabel":"integer | null"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["success","data","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"plan":"pro","included":true,"preview_included":true,"endpoints":{"used":1,"limit":4,"remaining":3},"subscriptions":{"used":1,"limit":4,"remaining":3},"watched_addresses":{"used":1,"limit":4,"remaining":3},"deliveries_per_day":{"used":412,"limit":50000,"remaining":49588,"unlimited":false,"resets_at":"2023-11-07T05:31:56Z","resets_at_note":"\u003cstring>"},"paused_subscriptions":{"count":0,"reasons":[],"earliest_paused_at":"2023-11-07T05:31:56Z","message":"\u003cstring>"},"plan_label":"Pro","notice":"\u003cstring>"},"meta":{"request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","count":123,"has_more":true,"next_cursor":"\u003cstring>","symbol":"BTC","venue":"hyperliquid","coverage_from":"2023-11-07T05:31:56Z","notice":"\u003cstring>","finalized_through":"2023-11-07T05:31:56Z","requested_end":"2023-11-07T05:31:56Z","clamped_to":"2023-11-07T05:31:56Z","preliminary_row_count":123}}}},"exampleType":"generated"}},"headers":{"0xArchive-Version":{"description":"The contract version the response was shaped with. Present only when the request sent `0xArchive-Version`.","schema":{"type":"string","enum":["2026-10-01"],"example":"2026-10-01"}}},"exampleType":"generated"},"75f24bcb-3c4c-4646-b7a2-5de7f0a069ef":{"description":"Authentication required: the API key is missing or invalid.","content":{"application/json":{"schema":{"type":"object","description":"Body of every non-2xx JSON response. `code` repeats the HTTP status, `error_code` is the stable machine-readable code (see `ErrorCode`), `error` is a human-readable message, and `request_id` identifies the request for support. Validation failures add `param` and, where the accepted set is fixed, `valid_values`. A 404 for a datatype the venue does not offer (`unsupported_for_venue`) adds `venue`, `datatype` and `available_on`; any other unknown path answers 404 `route_not_found`.","required":["success","code","error_code","error","request_id"],"properties":{"success":{"type":"boolean","enum":[false],"description":"Always `false` on an error.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"code":{"type":"integer","description":"HTTP status code.","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"error_code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value, not on the `error` text.\n\n**Contract codes**\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `invalid_parameter` | 400 | A parameter failed to parse or validate. `param` names it and `valid_values` lists accepted values where the set is fixed. |\n| `invalid_symbol` | 400 | The symbol is not listed on this venue. |\n| `invalid_interval` | 400 | The `interval` (bucket width) is not one this route accepts. |\n| `invalid_cursor` | 400 | The `cursor` is malformed, stale, or was issued for other filters. Restart pagination without a cursor. Trades, liquidations, L2 and L4 diffs, order history and TP/SL routes currently return the first page for a malformed cursor instead. |\n| `invalid_time_range` | 400 | `start` is after `end`, or a time value could not be parsed. |\n| `range_before_coverage` | 400 | The whole requested range ends before the first instant this dataset is served from. |\n| `historical_range_exceeded` | 403 | The requested span is longer than the plan allows in one request or replay. |\n| `historical_depth_exceeded` | 403 | The request reaches further back than the plan's history window. |\n| `unsupported_for_venue` | 404 | The venue does not offer this datatype. The message, `datatype` and `available_on` name where it is served. |\n| `route_not_found` | 404 | No route matches the path or method. `GET /v1/capabilities` lists the routes each venue serves. |\n| `not_found` | 404 | The route exists but the requested resource (for example an incident, endpoint or outcome id) does not. |\n| `unauthorized` | 401 | The API key is missing or invalid. |\n| `forbidden` | 403 | The key is valid but not allowed to make this request. |\n| `insufficient_credits` | 429 | The monthly credit allowance is spent (402 on pay-per-request routes). |\n| `rate_limited` | 429 | Too many requests or concurrent queries. Retry after the interval in the rate-limit headers. |\n| `conflict` | 409 | The request conflicts with the current state of the resource. |\n| `upstream_unavailable` | 503 | A dependency is unavailable or saturated. Retry shortly; the response carries `Retry-After`. |\n| `internal_error` | 500 | An unexpected server error. Quote `request_id` when contacting support. |\n\n**WebSocket only** (sent in `{\"type\":\"error\"}` messages, never by REST)\n\n| Code | Where | Meaning |\n|---|---|---|\n| `endpoint_unsupported` | WebSocket | This WebSocket endpoint does not serve the channel or operation. The message names the endpoint that does. |\n| `slow_consumer` | WebSocket | The connection fell behind a stream and messages were dropped. Re-subscribe, or restart the replay, to resynchronise. |\n\n**Route-specific codes**\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `positions_unavailable` | 503 | Account positions are temporarily unavailable for this venue. |\n| `reconstruction_unavailable` | 503 | The as-of positions state for this instant cannot be reconstructed right now. |\n| `snapshot_advanced` | 409 | A positions market cursor pinned a snapshot that has since been replaced or expired. Restart pagination. |\n| `pagination_unavailable` | 503 | The next positions page cannot be served right now. Retry the same cursor shortly. |\n| `api_key_limit_reached` | 403 | The account already holds the maximum number of API keys for its plan. |\n| `wallet_requires_plan` | 402 | A wallet-authenticated key needs an active plan for this request. |\n| `wallet_account_required` | 403 | Wallet sign-in needs an existing account linked to the wallet. |\n| `wallet_free_signup_retired` | 410 | Free wallet sign-up is no longer offered. |\n| `account_disabled` | 403 | The account is disabled. |\n| `oauth_not_permitted` | 403 | This route is not available to OAuth access tokens. |\n| `insufficient_scope` | 403 | The OAuth access token lacks the scope this route requires. |\n\n**Legacy names.** Requests without `0xArchive-Version: 2026-10-01` keep the four names that predate the contract; with the header they receive the contract names instead.\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `invalid_query_params` | 400 | Legacy name of `invalid_parameter` (query parameter), or of `invalid_cursor` when the parameter is `cursor`, sent without the version header. |\n| `invalid_path_params` | 400 | Legacy name of `invalid_parameter` (path parameter), sent without the version header. |\n| `history_window_exceeded` | 403 | Legacy name of `historical_depth_exceeded`, sent without the version header. |\n| `request_range_exceeded` | 403 | Legacy name of `historical_range_exceeded`, sent without the version header. |\n\nTreat any value not listed here as a generic error of the HTTP status.","enum":["invalid_parameter","invalid_symbol","invalid_interval","invalid_cursor","invalid_time_range","range_before_coverage","historical_range_exceeded","historical_depth_exceeded","unsupported_for_venue","route_not_found","not_found","unauthorized","forbidden","insufficient_credits","rate_limited","conflict","upstream_unavailable","internal_error","endpoint_unsupported","slow_consumer","positions_unavailable","reconstruction_unavailable","snapshot_advanced","pagination_unavailable","api_key_limit_reached","wallet_requires_plan","wallet_account_required","wallet_free_signup_retired","account_disabled","oauth_not_permitted","insufficient_scope","invalid_query_params","invalid_path_params","history_window_exceeded","request_range_exceeded"],"example":"invalid_parameter","isRequired":true,"uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error":{"type":"string","description":"Human-readable message. Wording can change; do not parse it.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"request_id":{"type":"string","format":"uuid","description":"Unique request ID for support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"param":{"type":"string","description":"The parameter that failed validation, when one did.","example":"side","uniqueKey":"param","typeLabel":"string"},"valid_values":{"type":"array","items":{"type":"string","uniqueKey":"valid_values.items.[INDEX]","typeLabel":"string"},"description":"Accepted values of `param`, when the set is fixed.","example":["buy","sell"],"uniqueKey":"valid_values","typeLabel":"string[]"},"venue":{"type":"string","description":"`unsupported_for_venue` only: the venue the request asked.","example":"spot","uniqueKey":"venue","typeLabel":"string"},"datatype":{"type":"string","description":"`unsupported_for_venue` only: the datatype the request asked for, as `GET /v1/capabilities` names it.","example":"order_flow","uniqueKey":"datatype","typeLabel":"string"},"available_on":{"type":"array","description":"`unsupported_for_venue` only: the venues and routes that serve the datatype.","items":{"type":"object","required":["venue","route"],"properties":{"venue":{"type":"string","example":"hyperliquid","isRequired":true,"uniqueKey":"available_on.items.[INDEX].venue","typeLabel":"string"},"route":{"type":"string","example":"/v1/hyperliquid/orders/{symbol}/flow","isRequired":true,"uniqueKey":"available_on.items.[INDEX].route","typeLabel":"string"}},"uniqueKey":"available_on.items.[INDEX]","typeLabel":"object"},"uniqueKey":"available_on","typeLabel":"object[]"},"credits_used":{"type":"integer","format":"int64","description":"`insufficient_credits` only: credits used this period.","uniqueKey":"credits_used","typeLabel":"integer\u003cint64>"},"credits_limit":{"type":"integer","format":"int64","description":"`insufficient_credits` only: the period's credit allowance.","uniqueKey":"credits_limit","typeLabel":"integer\u003cint64>"},"max_concurrent":{"type":"integer","description":"`rate_limited` concurrency refusals only: simultaneous queries the plan allows.","uniqueKey":"max_concurrent","typeLabel":"integer"},"suggestion":{"type":"object","description":"Present when the symbol exists on another venue: where to request it instead.","properties":{"venue":{"type":"string","example":"hip3","uniqueKey":"suggestion.venue","typeLabel":"string"},"symbol":{"type":"string","example":"xyz:TSLA","uniqueKey":"suggestion.symbol","typeLabel":"string"},"endpoint":{"type":"string","example":"/v1/hyperliquid/hip3/trades/xyz:TSLA","uniqueKey":"suggestion.endpoint","typeLabel":"string"}},"uniqueKey":"suggestion","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"code":401,"error_code":"unauthorized","error":"Missing authentication credentials. Provide X-API-Key header or Bearer token.","request_id":"3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"},"examples":{"Example":{"title":"Example","value":{"success":false,"code":401,"error_code":"unauthorized","error":"Missing authentication credentials. Provide X-API-Key header or Bearer token.","request_id":"3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"}}},"exampleType":"examples"}},"headers":{"0xArchive-Version":{"description":"The contract version the response was shaped with. Present only when the request sent `0xArchive-Version`.","schema":{"type":"string","enum":["2026-10-01"],"example":"2026-10-01"}}},"exampleType":"examples"},"0884b038-f541-46fb-b272-e13d764340b8":{"description":"Rate limit, concurrency limit or monthly credits exceeded. See `error_code`.","content":{"application/json":{"schema":{"type":"object","description":"Body of every non-2xx JSON response. `code` repeats the HTTP status, `error_code` is the stable machine-readable code (see `ErrorCode`), `error` is a human-readable message, and `request_id` identifies the request for support. Validation failures add `param` and, where the accepted set is fixed, `valid_values`. A 404 for a datatype the venue does not offer (`unsupported_for_venue`) adds `venue`, `datatype` and `available_on`; any other unknown path answers 404 `route_not_found`.","required":["success","code","error_code","error","request_id"],"properties":{"success":{"type":"boolean","enum":[false],"description":"Always `false` on an error.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"code":{"type":"integer","description":"HTTP status code.","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"error_code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value, not on the `error` text.\n\n**Contract codes**\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `invalid_parameter` | 400 | A parameter failed to parse or validate. `param` names it and `valid_values` lists accepted values where the set is fixed. |\n| `invalid_symbol` | 400 | The symbol is not listed on this venue. |\n| `invalid_interval` | 400 | The `interval` (bucket width) is not one this route accepts. |\n| `invalid_cursor` | 400 | The `cursor` is malformed, stale, or was issued for other filters. Restart pagination without a cursor. Trades, liquidations, L2 and L4 diffs, order history and TP/SL routes currently return the first page for a malformed cursor instead. |\n| `invalid_time_range` | 400 | `start` is after `end`, or a time value could not be parsed. |\n| `range_before_coverage` | 400 | The whole requested range ends before the first instant this dataset is served from. |\n| `historical_range_exceeded` | 403 | The requested span is longer than the plan allows in one request or replay. |\n| `historical_depth_exceeded` | 403 | The request reaches further back than the plan's history window. |\n| `unsupported_for_venue` | 404 | The venue does not offer this datatype. The message, `datatype` and `available_on` name where it is served. |\n| `route_not_found` | 404 | No route matches the path or method. `GET /v1/capabilities` lists the routes each venue serves. |\n| `not_found` | 404 | The route exists but the requested resource (for example an incident, endpoint or outcome id) does not. |\n| `unauthorized` | 401 | The API key is missing or invalid. |\n| `forbidden` | 403 | The key is valid but not allowed to make this request. |\n| `insufficient_credits` | 429 | The monthly credit allowance is spent (402 on pay-per-request routes). |\n| `rate_limited` | 429 | Too many requests or concurrent queries. Retry after the interval in the rate-limit headers. |\n| `conflict` | 409 | The request conflicts with the current state of the resource. |\n| `upstream_unavailable` | 503 | A dependency is unavailable or saturated. Retry shortly; the response carries `Retry-After`. |\n| `internal_error` | 500 | An unexpected server error. Quote `request_id` when contacting support. |\n\n**WebSocket only** (sent in `{\"type\":\"error\"}` messages, never by REST)\n\n| Code | Where | Meaning |\n|---|---|---|\n| `endpoint_unsupported` | WebSocket | This WebSocket endpoint does not serve the channel or operation. The message names the endpoint that does. |\n| `slow_consumer` | WebSocket | The connection fell behind a stream and messages were dropped. Re-subscribe, or restart the replay, to resynchronise. |\n\n**Route-specific codes**\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `positions_unavailable` | 503 | Account positions are temporarily unavailable for this venue. |\n| `reconstruction_unavailable` | 503 | The as-of positions state for this instant cannot be reconstructed right now. |\n| `snapshot_advanced` | 409 | A positions market cursor pinned a snapshot that has since been replaced or expired. Restart pagination. |\n| `pagination_unavailable` | 503 | The next positions page cannot be served right now. Retry the same cursor shortly. |\n| `api_key_limit_reached` | 403 | The account already holds the maximum number of API keys for its plan. |\n| `wallet_requires_plan` | 402 | A wallet-authenticated key needs an active plan for this request. |\n| `wallet_account_required` | 403 | Wallet sign-in needs an existing account linked to the wallet. |\n| `wallet_free_signup_retired` | 410 | Free wallet sign-up is no longer offered. |\n| `account_disabled` | 403 | The account is disabled. |\n| `oauth_not_permitted` | 403 | This route is not available to OAuth access tokens. |\n| `insufficient_scope` | 403 | The OAuth access token lacks the scope this route requires. |\n\n**Legacy names.** Requests without `0xArchive-Version: 2026-10-01` keep the four names that predate the contract; with the header they receive the contract names instead.\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `invalid_query_params` | 400 | Legacy name of `invalid_parameter` (query parameter), or of `invalid_cursor` when the parameter is `cursor`, sent without the version header. |\n| `invalid_path_params` | 400 | Legacy name of `invalid_parameter` (path parameter), sent without the version header. |\n| `history_window_exceeded` | 403 | Legacy name of `historical_depth_exceeded`, sent without the version header. |\n| `request_range_exceeded` | 403 | Legacy name of `historical_range_exceeded`, sent without the version header. |\n\nTreat any value not listed here as a generic error of the HTTP status.","enum":["invalid_parameter","invalid_symbol","invalid_interval","invalid_cursor","invalid_time_range","range_before_coverage","historical_range_exceeded","historical_depth_exceeded","unsupported_for_venue","route_not_found","not_found","unauthorized","forbidden","insufficient_credits","rate_limited","conflict","upstream_unavailable","internal_error","endpoint_unsupported","slow_consumer","positions_unavailable","reconstruction_unavailable","snapshot_advanced","pagination_unavailable","api_key_limit_reached","wallet_requires_plan","wallet_account_required","wallet_free_signup_retired","account_disabled","oauth_not_permitted","insufficient_scope","invalid_query_params","invalid_path_params","history_window_exceeded","request_range_exceeded"],"example":"invalid_parameter","isRequired":true,"uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error":{"type":"string","description":"Human-readable message. Wording can change; do not parse it.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"request_id":{"type":"string","format":"uuid","description":"Unique request ID for support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"param":{"type":"string","description":"The parameter that failed validation, when one did.","example":"side","uniqueKey":"param","typeLabel":"string"},"valid_values":{"type":"array","items":{"type":"string","uniqueKey":"valid_values.items.[INDEX]","typeLabel":"string"},"description":"Accepted values of `param`, when the set is fixed.","example":["buy","sell"],"uniqueKey":"valid_values","typeLabel":"string[]"},"venue":{"type":"string","description":"`unsupported_for_venue` only: the venue the request asked.","example":"spot","uniqueKey":"venue","typeLabel":"string"},"datatype":{"type":"string","description":"`unsupported_for_venue` only: the datatype the request asked for, as `GET /v1/capabilities` names it.","example":"order_flow","uniqueKey":"datatype","typeLabel":"string"},"available_on":{"type":"array","description":"`unsupported_for_venue` only: the venues and routes that serve the datatype.","items":{"type":"object","required":["venue","route"],"properties":{"venue":{"type":"string","example":"hyperliquid","isRequired":true,"uniqueKey":"available_on.items.[INDEX].venue","typeLabel":"string"},"route":{"type":"string","example":"/v1/hyperliquid/orders/{symbol}/flow","isRequired":true,"uniqueKey":"available_on.items.[INDEX].route","typeLabel":"string"}},"uniqueKey":"available_on.items.[INDEX]","typeLabel":"object"},"uniqueKey":"available_on","typeLabel":"object[]"},"credits_used":{"type":"integer","format":"int64","description":"`insufficient_credits` only: credits used this period.","uniqueKey":"credits_used","typeLabel":"integer\u003cint64>"},"credits_limit":{"type":"integer","format":"int64","description":"`insufficient_credits` only: the period's credit allowance.","uniqueKey":"credits_limit","typeLabel":"integer\u003cint64>"},"max_concurrent":{"type":"integer","description":"`rate_limited` concurrency refusals only: simultaneous queries the plan allows.","uniqueKey":"max_concurrent","typeLabel":"integer"},"suggestion":{"type":"object","description":"Present when the symbol exists on another venue: where to request it instead.","properties":{"venue":{"type":"string","example":"hip3","uniqueKey":"suggestion.venue","typeLabel":"string"},"symbol":{"type":"string","example":"xyz:TSLA","uniqueKey":"suggestion.symbol","typeLabel":"string"},"endpoint":{"type":"string","example":"/v1/hyperliquid/hip3/trades/xyz:TSLA","uniqueKey":"suggestion.endpoint","typeLabel":"string"}},"uniqueKey":"suggestion","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"rate_limited":{"title":"rate_limited","value":{"success":false,"code":429,"error_code":"rate_limited","error":"Rate limit exceeded","request_id":"3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"}},"insufficient_credits":{"title":"insufficient_credits","value":{"success":false,"code":429,"error_code":"insufficient_credits","error":"Monthly credit limit exceeded. Please upgrade your plan.","request_id":"3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05","credits_used":50000,"credits_limit":50000}}},"exampleType":"examples"}},"headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"Requests per second limit"},"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Remaining requests this second"},"X-RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix timestamp when limit resets"},"0xArchive-Version":{"description":"The contract version the response was shaped with. Present only when the request sent `0xArchive-Version`.","schema":{"type":"string","enum":["2026-10-01"],"example":"2026-10-01"}}},"exampleType":"examples"},"d5f38220-e275-402f-9f5b-089d17f172fc":{"description":"Any other error. The body is an `ErrorResponse`; branch on `error_code`. A 503 (`upstream_unavailable`) carries `Retry-After`.","content":{"application/json":{"schema":{"type":"object","description":"Body of every non-2xx JSON response. `code` repeats the HTTP status, `error_code` is the stable machine-readable code (see `ErrorCode`), `error` is a human-readable message, and `request_id` identifies the request for support. Validation failures add `param` and, where the accepted set is fixed, `valid_values`. A 404 for a datatype the venue does not offer (`unsupported_for_venue`) adds `venue`, `datatype` and `available_on`; any other unknown path answers 404 `route_not_found`.","required":["success","code","error_code","error","request_id"],"properties":{"success":{"type":"boolean","enum":[false],"description":"Always `false` on an error.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"code":{"type":"integer","description":"HTTP status code.","example":400,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"error_code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value, not on the `error` text.\n\n**Contract codes**\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `invalid_parameter` | 400 | A parameter failed to parse or validate. `param` names it and `valid_values` lists accepted values where the set is fixed. |\n| `invalid_symbol` | 400 | The symbol is not listed on this venue. |\n| `invalid_interval` | 400 | The `interval` (bucket width) is not one this route accepts. |\n| `invalid_cursor` | 400 | The `cursor` is malformed, stale, or was issued for other filters. Restart pagination without a cursor. Trades, liquidations, L2 and L4 diffs, order history and TP/SL routes currently return the first page for a malformed cursor instead. |\n| `invalid_time_range` | 400 | `start` is after `end`, or a time value could not be parsed. |\n| `range_before_coverage` | 400 | The whole requested range ends before the first instant this dataset is served from. |\n| `historical_range_exceeded` | 403 | The requested span is longer than the plan allows in one request or replay. |\n| `historical_depth_exceeded` | 403 | The request reaches further back than the plan's history window. |\n| `unsupported_for_venue` | 404 | The venue does not offer this datatype. The message, `datatype` and `available_on` name where it is served. |\n| `route_not_found` | 404 | No route matches the path or method. `GET /v1/capabilities` lists the routes each venue serves. |\n| `not_found` | 404 | The route exists but the requested resource (for example an incident, endpoint or outcome id) does not. |\n| `unauthorized` | 401 | The API key is missing or invalid. |\n| `forbidden` | 403 | The key is valid but not allowed to make this request. |\n| `insufficient_credits` | 429 | The monthly credit allowance is spent (402 on pay-per-request routes). |\n| `rate_limited` | 429 | Too many requests or concurrent queries. Retry after the interval in the rate-limit headers. |\n| `conflict` | 409 | The request conflicts with the current state of the resource. |\n| `upstream_unavailable` | 503 | A dependency is unavailable or saturated. Retry shortly; the response carries `Retry-After`. |\n| `internal_error` | 500 | An unexpected server error. Quote `request_id` when contacting support. |\n\n**WebSocket only** (sent in `{\"type\":\"error\"}` messages, never by REST)\n\n| Code | Where | Meaning |\n|---|---|---|\n| `endpoint_unsupported` | WebSocket | This WebSocket endpoint does not serve the channel or operation. The message names the endpoint that does. |\n| `slow_consumer` | WebSocket | The connection fell behind a stream and messages were dropped. Re-subscribe, or restart the replay, to resynchronise. |\n\n**Route-specific codes**\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `positions_unavailable` | 503 | Account positions are temporarily unavailable for this venue. |\n| `reconstruction_unavailable` | 503 | The as-of positions state for this instant cannot be reconstructed right now. |\n| `snapshot_advanced` | 409 | A positions market cursor pinned a snapshot that has since been replaced or expired. Restart pagination. |\n| `pagination_unavailable` | 503 | The next positions page cannot be served right now. Retry the same cursor shortly. |\n| `api_key_limit_reached` | 403 | The account already holds the maximum number of API keys for its plan. |\n| `wallet_requires_plan` | 402 | A wallet-authenticated key needs an active plan for this request. |\n| `wallet_account_required` | 403 | Wallet sign-in needs an existing account linked to the wallet. |\n| `wallet_free_signup_retired` | 410 | Free wallet sign-up is no longer offered. |\n| `account_disabled` | 403 | The account is disabled. |\n| `oauth_not_permitted` | 403 | This route is not available to OAuth access tokens. |\n| `insufficient_scope` | 403 | The OAuth access token lacks the scope this route requires. |\n\n**Legacy names.** Requests without `0xArchive-Version: 2026-10-01` keep the four names that predate the contract; with the header they receive the contract names instead.\n\n| Code | HTTP | Meaning |\n|---|---|---|\n| `invalid_query_params` | 400 | Legacy name of `invalid_parameter` (query parameter), or of `invalid_cursor` when the parameter is `cursor`, sent without the version header. |\n| `invalid_path_params` | 400 | Legacy name of `invalid_parameter` (path parameter), sent without the version header. |\n| `history_window_exceeded` | 403 | Legacy name of `historical_depth_exceeded`, sent without the version header. |\n| `request_range_exceeded` | 403 | Legacy name of `historical_range_exceeded`, sent without the version header. |\n\nTreat any value not listed here as a generic error of the HTTP status.","enum":["invalid_parameter","invalid_symbol","invalid_interval","invalid_cursor","invalid_time_range","range_before_coverage","historical_range_exceeded","historical_depth_exceeded","unsupported_for_venue","route_not_found","not_found","unauthorized","forbidden","insufficient_credits","rate_limited","conflict","upstream_unavailable","internal_error","endpoint_unsupported","slow_consumer","positions_unavailable","reconstruction_unavailable","snapshot_advanced","pagination_unavailable","api_key_limit_reached","wallet_requires_plan","wallet_account_required","wallet_free_signup_retired","account_disabled","oauth_not_permitted","insufficient_scope","invalid_query_params","invalid_path_params","history_window_exceeded","request_range_exceeded"],"example":"invalid_parameter","isRequired":true,"uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error":{"type":"string","description":"Human-readable message. Wording can change; do not parse it.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"request_id":{"type":"string","format":"uuid","description":"Unique request ID for support.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"param":{"type":"string","description":"The parameter that failed validation, when one did.","example":"side","uniqueKey":"param","typeLabel":"string"},"valid_values":{"type":"array","items":{"type":"string","uniqueKey":"valid_values.items.[INDEX]","typeLabel":"string"},"description":"Accepted values of `param`, when the set is fixed.","example":["buy","sell"],"uniqueKey":"valid_values","typeLabel":"string[]"},"venue":{"type":"string","description":"`unsupported_for_venue` only: the venue the request asked.","example":"spot","uniqueKey":"venue","typeLabel":"string"},"datatype":{"type":"string","description":"`unsupported_for_venue` only: the datatype the request asked for, as `GET /v1/capabilities` names it.","example":"order_flow","uniqueKey":"datatype","typeLabel":"string"},"available_on":{"type":"array","description":"`unsupported_for_venue` only: the venues and routes that serve the datatype.","items":{"type":"object","required":["venue","route"],"properties":{"venue":{"type":"string","example":"hyperliquid","isRequired":true,"uniqueKey":"available_on.items.[INDEX].venue","typeLabel":"string"},"route":{"type":"string","example":"/v1/hyperliquid/orders/{symbol}/flow","isRequired":true,"uniqueKey":"available_on.items.[INDEX].route","typeLabel":"string"}},"uniqueKey":"available_on.items.[INDEX]","typeLabel":"object"},"uniqueKey":"available_on","typeLabel":"object[]"},"credits_used":{"type":"integer","format":"int64","description":"`insufficient_credits` only: credits used this period.","uniqueKey":"credits_used","typeLabel":"integer\u003cint64>"},"credits_limit":{"type":"integer","format":"int64","description":"`insufficient_credits` only: the period's credit allowance.","uniqueKey":"credits_limit","typeLabel":"integer\u003cint64>"},"max_concurrent":{"type":"integer","description":"`rate_limited` concurrency refusals only: simultaneous queries the plan allows.","uniqueKey":"max_concurrent","typeLabel":"integer"},"suggestion":{"type":"object","description":"Present when the symbol exists on another venue: where to request it instead.","properties":{"venue":{"type":"string","example":"hip3","uniqueKey":"suggestion.venue","typeLabel":"string"},"symbol":{"type":"string","example":"xyz:TSLA","uniqueKey":"suggestion.symbol","typeLabel":"string"},"endpoint":{"type":"string","example":"/v1/hyperliquid/hip3/trades/xyz:TSLA","uniqueKey":"suggestion.endpoint","typeLabel":"string"}},"uniqueKey":"suggestion","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"upstream_unavailable":{"title":"upstream_unavailable","value":{"success":false,"code":503,"error_code":"upstream_unavailable","error":"The service is temporarily unavailable. Retry shortly.","request_id":"3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"}},"internal_error":{"title":"internal_error","value":{"success":false,"code":500,"error_code":"internal_error","error":"Internal server error","request_id":"3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","example":2}},"0xArchive-Version":{"description":"The contract version the response was shaped with. Present only when the request sent `0xArchive-Version`.","schema":{"type":"string","enum":["2026-10-01"],"example":"2026-10-01"}}},"exampleType":"examples"}},"security":{"b5f63b2d-d545-4c2d-99b7-ab24e07d269d":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key for authentication. Get yours at https://0xarchive.io/dashboard","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"afa1230c-1573-4566-9e9a-40f758adb7f2":{"url":"https://api.0xarchive.io","description":"Production API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key for authentication. Get yours at https://0xarchive.io/dashboard","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"API key for authentication. Get yours at https://0xarchive.io/dashboard","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"0xarchive-e895b8e7","siteName":"0xArchive","title":"Get webhook plan limits and usage - 0xArchive","contextualStarterQuestions":[{"_id":"6ae5fb24621de21a6396a323","deploymentId":"69fcef8bc84766ada2de665b","questionText":"How are webhook plans limited?","status":"active","generatedBy":"contextual","path":"api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","createdAt":"2026-10-31T14:28:52.814Z","updatedAt":"2026-10-31T14:28:52.814Z","__v":0},{"_id":"6ae5fb24621de21a6396a322","deploymentId":"69fcef8bc84766ada2de665b","questionText":"What is my webhook usage?","status":"active","generatedBy":"contextual","path":"api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","createdAt":"2026-10-31T14:28:52.814Z","updatedAt":"2026-10-31T14:28:52.814Z","__v":0},{"_id":"6ae5fb24621de21a6396a321","deploymentId":"69fcef8bc84766ada2de665b","questionText":"How do I check webhook limits?","status":"active","generatedBy":"contextual","path":"api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage","createdAt":"2026-10-31T14:28:52.814Z","updatedAt":"2026-10-31T14:28:52.814Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T15:52:08.980Z","gitLastModified":"2026-10-07T19:23:09.000Z","originalFileLocation":"api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"0xArchive\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get webhook plan limits and usage - 0xArchive\">\u003cmeta data-mint-head property=\"og:description\" content=\"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"0xArchive Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://0xarchive-e895b8e7.mintlify.app/_mintlify/api/og/v2?division=Event+types+and+limits\u0026amp;title=Get+webhook+plan+limits+and+usage\u0026amp;description=0xArchive+API+reference+for+Get+webhook+plan+limits+and+usage.+Includes+route+metadata%2C+schemas%2C+examples%2C+and+implementation+notes.\u0026amp;theme=862485424f87dd9b21cb314f\u0026amp;signature=20fa102475756e3648e1a514553b5fe4709c554803caf47e16204c335c6a2788\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get webhook plan limits and usage - 0xArchive\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://0xarchive-e895b8e7.mintlify.app/_mintlify/api/og/v2?division=Event+types+and+limits\u0026amp;title=Get+webhook+plan+limits+and+usage\u0026amp;description=0xArchive+API+reference+for+Get+webhook+plan+limits+and+usage.+Includes+route+metadata%2C+schemas%2C+examples%2C+and+implementation+notes.\u0026amp;theme=862485424f87dd9b21cb314f\u0026amp;signature=20fa102475756e3648e1a514553b5fe4709c554803caf47e16204c335c6a2788\">\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/0xarchive-e895b8e7/epsl9cg6_-QmFjTh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"0xArchive\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15803D\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"Hpedp6bedqc3av1195euaGMwyFEVHcJhcyUY9YiMvTY\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://0xarchive.io/#organization\",\"name\":\"0xArchive\",\"legalName\":\"Archive Labs Inc.\",\"url\":\"https://0xarchive.io/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://0xarchive.io/logo-square-1024.png\"},\"sameAs\":[\"https://x.com/0xarchiveIo\",\"https://github.com/0xArchiveIO\",\"https://t.me/archivedotio\",\"https://www.linkedin.com/company/0xarchive/\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.0xarchive.io#website\",\"name\":\"0xArchive\",\"url\":\"https://docs.0xarchive.io\",\"publisher\":{\"@id\":\"https://0xarchive.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage#webpage\",\"url\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage\",\"name\":\"Get webhook plan limits and usage\",\"description\":\"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.\",\"dateModified\":\"2026-10-07T19:23:09.000Z\",\"isPartOf\":{\"@id\":\"https://docs.0xarchive.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://docs.0xarchive.io/api-reference/webhooks\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Event types and limits\",\"item\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/list-webhook-event-types\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get webhook plan limits and usage\",\"item\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage#apireference\",\"headline\":\"Get webhook plan limits and usage\",\"name\":\"Get webhook plan limits and usage\",\"description\":\"0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.\",\"url\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage\",\"mainEntityOfPage\":{\"@id\":\"https://docs.0xarchive.io/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage#webpage\"},\"dateModified\":\"2026-10-07T19:23:09.000Z\",\"publisher\":{\"@id\":\"https://0xarchive.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.0xarchive.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"0xArchive\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"0xArchive","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":""}]},{"tab":"REST API","pages":[{"title":"REST API","href":"/rest-api"}]},{"tab":"WebSocket","pages":[{"title":"WebSocket","href":"/websocket"}]},{"tab":"Webhook Alerts","pages":[{"title":"Webhook Alerts","sidebarTitle":"Overview","href":"/webhooks"},{"title":"Webhook Alerts quickstart","sidebarTitle":"Quickstart","href":"/webhooks/quickstart"},{"group":"Guides","icon":"route","pages":[{"title":"Alert events","sidebarTitle":"Events","href":"/webhooks/events"},{"title":"Alert rules","sidebarTitle":"Rules","href":"/webhooks/rules"},{"title":"Estimate and dry-run","sidebarTitle":"Estimate and dry-run","href":"/webhooks/estimate-and-dry-run"},{"title":"Watched addresses","sidebarTitle":"Watched addresses","href":"/webhooks/watched-addresses"},{"title":"Signatures and payloads","sidebarTitle":"Signatures and payloads","href":"/webhooks/signatures-and-payloads"},{"title":"Delivery and retries","sidebarTitle":"Delivery and retries","href":"/webhooks/delivery-and-retries"},{"title":"Limits and plans","sidebarTitle":"Limits and plans","href":"/webhooks/limits-and-plans"}]},{"group":"API reference","icon":"book-open-check","pages":[{"title":"API overview","icon":"webhook","href":"/api-reference/webhooks"},{"group":"Event types and limits","expanded":false,"pages":[{"title":"List webhook event types","description":"0xArchive API reference for List webhook event types. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/event-types","href":"/api-reference/webhooks--catalog-and-limits/list-webhook-event-types"},{"title":"Get webhook plan limits and usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/limits","href":"/api-reference/webhooks--catalog-and-limits/get-webhook-plan-limits-and-usage"}]},{"group":"Receiver endpoints","expanded":false,"pages":[{"title":"List webhook endpoints","description":"0xArchive API reference for List webhook endpoints. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/endpoints","href":"/api-reference/webhooks--endpoints/list-webhook-endpoints"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/endpoints","href":"/api-reference/webhooks--endpoints/create-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/endpoints/{id}","href":"/api-reference/webhooks--endpoints/delete-a-webhook-endpoint"},{"title":"Enable a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/endpoints/{id}/enable","href":"/api-reference/webhooks--endpoints/enable-a-webhook-endpoint"},{"title":"Rotate a webhook endpoint secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/endpoints/{id}/rotate","href":"/api-reference/webhooks--endpoints/rotate-a-webhook-endpoint-secret"},{"title":"Send a test delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/endpoints/{id}/test","href":"/api-reference/webhooks--endpoints/send-a-test-delivery"}]},{"group":"Subscriptions","expanded":false,"pages":[{"title":"List webhook subscriptions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/subscriptions","href":"/api-reference/webhooks--subscriptions/list-webhook-subscriptions"},{"title":"Create a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/subscriptions","href":"/api-reference/webhooks--subscriptions/create-a-webhook-subscription"},{"title":"Resume every paused subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/subscriptions/resume","href":"/api-reference/webhooks--subscriptions/resume-every-paused-subscription"},{"title":"Delete a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/subscriptions/{id}","href":"/api-reference/webhooks--subscriptions/delete-a-webhook-subscription"},{"title":"Update a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/webhooks/subscriptions/{id}","href":"/api-reference/webhooks--subscriptions/update-a-webhook-subscription"},{"title":"Resume a paused subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/subscriptions/{id}/resume","href":"/api-reference/webhooks--subscriptions/resume-a-paused-subscription"}]},{"group":"Previews","expanded":false,"pages":[{"title":"Dry-run a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/subscriptions/dry-run","href":"/api-reference/webhooks--previews/dry-run-a-webhook-subscription"},{"title":"Estimate a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/subscriptions/estimate","href":"/api-reference/webhooks--previews/estimate-a-webhook-subscription"}]},{"group":"Deliveries","expanded":false,"pages":[{"title":"Send a past delivery again","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/deliveries/{id}/redeliver","href":"/api-reference/webhooks--deliveries/send-a-past-delivery-again"},{"title":"List deliveries for an endpoint","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/endpoints/{id}/deliveries","href":"/api-reference/webhooks--deliveries/list-deliveries-for-an-endpoint"}]},{"group":"Watched addresses","expanded":false,"pages":[{"title":"List watched wallet addresses","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/addresses","href":"/api-reference/webhooks--watched-addresses/list-watched-wallet-addresses"},{"title":"Add a watched wallet address","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/addresses","href":"/api-reference/webhooks--watched-addresses/add-a-watched-wallet-address"},{"title":"Delete a watched wallet address","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/addresses/{id}","href":"/api-reference/webhooks--watched-addresses/delete-a-watched-wallet-address"}]},{"group":"JSON schemas","expanded":false,"pages":[{"title":"Webhooks Schemas","href":"/schemas/families/webhooks"},{"title":"List watched wallet addresses JSON Schema","href":"/schemas/operations/list-webhook-watched-addresses"},{"title":"Add a watched wallet address JSON Schema","href":"/schemas/operations/add-webhook-watched-address"},{"title":"Delete a watched wallet address JSON Schema","href":"/schemas/operations/delete-webhook-watched-address"},{"title":"Send a past delivery again JSON Schema","href":"/schemas/operations/redeliver-webhook-delivery"},{"title":"List webhook endpoints JSON Schema","href":"/schemas/operations/list-webhook-endpoints"},{"title":"Create a webhook endpoint JSON Schema","href":"/schemas/operations/create-webhook-endpoint"},{"title":"Delete a webhook endpoint JSON Schema","href":"/schemas/operations/delete-webhook-endpoint"},{"title":"List deliveries for an endpoint JSON Schema","href":"/schemas/operations/list-webhook-deliveries"},{"title":"Enable a webhook endpoint JSON Schema","href":"/schemas/operations/enable-webhook-endpoint"},{"title":"Rotate a webhook endpoint secret JSON Schema","href":"/schemas/operations/rotate-webhook-endpoint-secret"},{"title":"Send a test delivery JSON Schema","href":"/schemas/operations/test-webhook-endpoint"},{"title":"List webhook event types JSON Schema","href":"/schemas/operations/list-webhook-event-types"},{"title":"Get webhook plan limits and usage JSON Schema","href":"/schemas/operations/get-webhook-limits"},{"title":"List webhook subscriptions JSON Schema","href":"/schemas/operations/list-webhook-subscriptions"},{"title":"Create a webhook subscription JSON Schema","href":"/schemas/operations/create-webhook-subscription"},{"title":"Dry-run a webhook subscription JSON Schema","href":"/schemas/operations/dry-run-webhook-subscription"},{"title":"Estimate a webhook subscription JSON Schema","href":"/schemas/operations/estimate-webhook-subscription"},{"title":"Resume every paused subscription JSON Schema","href":"/schemas/operations/resume-all-webhook-subscriptions"},{"title":"Delete a webhook subscription JSON Schema","href":"/schemas/operations/delete-webhook-subscription"},{"title":"Update a webhook subscription JSON Schema","href":"/schemas/operations/update-webhook-subscription"},{"title":"Resume a paused subscription JSON Schema","href":"/schemas/operations/resume-webhook-subscription"}]}]}]},{"tab":"Bulk Exports","pages":[{"title":"Bulk Exports","href":"/exports"}]},{"tab":"SDKs \u0026 Tools","pages":[{"title":"SDKs \u0026 Tools","href":"/tooling"}]},{"tab":"Terminal","pages":[{"title":"Terminal","href":"/terminal"}]}]},"basePath":"","title":"Get webhook plan limits and usage - 0xArchive","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}