Credits this request used and your remaining balance.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Context.dev","colors":{"primary":"#1d4ed8","light":"#60a5fa","dark":"#1d4ed8"},"logo":{"light":"https://mintcdn.com/branddev/4cypEtfRwMBWfh6g/logo/light.svg?fit=max\u0026auto=format\u0026n=4cypEtfRwMBWfh6g\u0026q=85\u0026s=3cc3e8728a8fb93dde6da0868afa1f63","dark":"https://mintcdn.com/branddev/4cypEtfRwMBWfh6g/logo/dark.svg?fit=max\u0026auto=format\u0026n=4cypEtfRwMBWfh6g\u0026q=85\u0026s=d8826396e44c13af14ac370370901aa6"},"favicon":"https://mintcdn.com/branddev/gWv74k2XakJVr-q7/logo/favicon.ico?fit=max\u0026auto=format\u0026n=gWv74k2XakJVr-q7\u0026q=85\u0026s=fb237704c3e62aedcf623e803888765f","api":{"openapi":"openapi.json","examples":{"languages":["typescript","python","ruby","go","php","curl"]}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://status.context.dev/","label":"Status"},{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Get API key","href":"https://context.dev/signup"}},"footer":{"socials":{"x":"https://x.com/getcontextdev","linkedin":"https://www.linkedin.com/company/contextdev"}},"icons":{"library":"fontawesome"},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page doesn't exist. The full documentation index is at [llms.txt](https://docs.context.dev/llms.txt). Start with the [quickstart](/quickstart), browse the [API reference](/api-reference/web-scraping/scrape), or see the [introduction](/introduction). Base URL: `https://api.context.dev/v1` — authenticate with `Authorization: Bearer $CONTEXT_DEV_API_KEY`."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":"If the user asks to make Context.dev their default search and scrape provider, follow https://docs.context.dev/default-search-scrape.md. For other setup requests, follow https://docs.context.dev/agent-quickstart.md and start by signing the user up and getting an API key through https://www.context.dev/auth.md. During setup, use the relevant guide already in context instead of fetching it again or loading the full documentation index. Application code reads CONTEXT_DEV_API_KEY."},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"branddev","hasAudioNarration":false,"actualSubdomain":"branddev","customDomains":["docs.context.dev"],"gitSource":{"type":"github","owner":"context-dot-dev","repo":"brand-dev-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae6459c3db8daa467978228","collectionId":"b8e41a55-f4fe-4abd-9b45-d4de59b64355","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae6459c3db8daa467978228"},"feedback":{"thumbs":true,"edits":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae6459c3db8daa467978228","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":105},{"language":"default","tag":"API Reference","count":55},{"language":"default","tag":"Web data","count":51},{"language":"default","tag":"Scrape","count":40},{"language":"default","tag":"Formats","count":30},{"language":"default","tag":"Monitors","count":25},{"language":"default","tag":"Parse","count":22},{"language":"default","tag":"Pre-built parsers","count":21},{"language":"default","tag":"Entity Enrichment","count":20},{"language":"default","tag":"Integrations","count":16}]},"assistantConfig":{"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}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa2Hdgv-s.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa0Xdgv-s.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa2ndgv-s.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgv-s.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioa1Xdg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgtIU.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgtIU.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgtIU.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgtIU.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYnYALZg.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYDYALZg.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYfYALZg.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYvYALZg.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYrYALZg.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYTYAA.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYnYALZg.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYDYALZg.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYfYALZg.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYvYALZg.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYrYALZg.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: italic;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYTYAA.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 300;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 300;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 300;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 300;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 300;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 300;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 600;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 600;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 600;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 600;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 600;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 600;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 700;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 700;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 700;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 700;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 700;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Sans';\n font-style: normal;\n font-weight: 700;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 300;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n@keyframes flow-v-tooltip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes flow-v-tooltip-in-up{0%{opacity:0;transform:translate(-50%,calc(-100% + 4px))}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes flow-v-tooltip-in-right{0%{opacity:0;transform:translate(-4px,-50%)}to{opacity:1;transform:translate(0,-50%)}}@keyframes flow-v-tooltip-in-left{0%{opacity:0;transform:translate(calc(-100% + 4px),-50%)}to{opacity:1;transform:translate(-100%,-50%)}}@keyframes v3-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}#assistant-entry,#assistant-entry-mobile{display:none!important}:root{--docs-muted:oklch(0.49 0.015 255)}.dark{--docs-muted:oklch(0.76 0.015 255)}#footer a[href^=\"https://www.mintlify.com\"],[role=tab][aria-selected=false]{color:var(--docs-muted)}.changelog-anchor{scroll-margin-top:8rem}#content .overflow-hidden:has(.changelog-anchor){overflow:clip}:root{--ctxd-blue:#2563eb;--ctxd-blue-light:#60a5fa;--ctxd-blue-tint:#eff6ff;--ctxd-ink:#18181b;--ctxd-ink-2:#52525b;--ctxd-ink-3:#a1a1aa;--ctxd-line:#e4e4e7;--ctxd-line-soft:#f4f4f5;--ctxd-bg:#ffffff;--ctxd-bg-tint:#fafafa;--ctxd-surface-1:#ffffff;--ctxd-surface-2:#ffffff;--ctxd-surface-3:#0f172a;--ease-out:cubic-bezier(0.23, 1, 0.32, 1)}.dark{--ctxd-blue:#60a5fa;--ctxd-blue-light:#93c5fd;--ctxd-blue-tint:rgba(96, 165, 250, 0.12);--ctxd-ink:#fafafa;--ctxd-ink-2:#d4d4d8;--ctxd-ink-3:#8b8b93;--ctxd-line:#2f2f36;--ctxd-line-soft:#1a1a1f;--ctxd-bg:#09090b;--ctxd-bg-tint:#1c1c22;--ctxd-surface-1:#1c1c22;--ctxd-surface-2:#26262d;--ctxd-surface-3:#2e2e36}.ctxd-sans{font-family:\"IBM Plex Sans\",system-ui,-apple-system,sans-serif}.ctxd-mono{font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,Menlo,monospace}.ctxd-mono,.ctxd-stack{font-feature-settings:\"tnum\" 1,\"calt\" 0}body:has(.ctxd-page-bg) #header,body:has(.ctxd-page-bg) [data-test=navbar],body:has(.ctxd-page-bg) [id^=navbar],body:has(.ctxd-page-bg) header.fixed,body:has(.ctxd-page-bg) header.sticky,body:has(.ctxd-page-bg) header[class*=Navbar],body:has(.ctxd-page-bg) header[class*=navbar],body:has(.ctxd-page-bg)>div>header,body:has(.ctxd-page-bg)>header{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(14px) saturate(1.18);-webkit-backdrop-filter:blur(14px) saturate(1.18);border-bottom:1px solid rgba(15,23,42,.06)}.dark body:has(.ctxd-page-bg) #header,.dark body:has(.ctxd-page-bg) [data-test=navbar],.dark body:has(.ctxd-page-bg) [id^=navbar],.dark body:has(.ctxd-page-bg) header.fixed,.dark body:has(.ctxd-page-bg) header.sticky,.dark body:has(.ctxd-page-bg) header[class*=Navbar],.dark body:has(.ctxd-page-bg) header[class*=navbar],.dark body:has(.ctxd-page-bg)>div>header,.dark body:has(.ctxd-page-bg)>header{background:rgba(9,9,11,.78)!important;border-bottom:1px solid rgba(255,255,255,.06)}.ctxd-page-bg,.ctxd-page-bg>*{position:relative}.ctxd-page-bg::before{content:\"\";position:absolute;left:50%;top:0;transform:translateX(-50%);width:100vw;height:1500px;pointer-events:none;z-index:0;background:linear-gradient(180deg,transparent 0,rgba(148,186,241,.06) 22%,rgba(100,155,235,.26) 50%,rgba(148,186,241,.06) 78%,transparent 100%)}.dark .ctxd-page-bg::before{background:linear-gradient(180deg,transparent 0,rgba(96,165,250,.03) 22%,rgba(96,165,250,.14) 50%,rgba(96,165,250,.03) 78%,transparent 100%)}.ctxd-page-bg>*{z-index:1}.ctxd-kicker{display:inline-flex;align-items:center;gap:10px;font-family:\"IBM Plex Mono\",monospace;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ctxd-ink-3);font-weight:500}.ctxd-kicker::after,.ctxd-kicker::before{content:\"\";display:inline-block;width:22px;height:1px;background:var(--ctxd-line)}.ctxd-h1,.ctxd-lede{font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-weight:400}.ctxd-h1{font-size:clamp(2.6rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.028em;color:var(--ctxd-ink)}.ctxd-h1 .brand,.uc-header-title .brand{color:var(--ctxd-blue);font-style:italic;font-weight:400}.ctxd-h1 .brace,.uc-header-title .brace{color:var(--ctxd-blue);font-style:normal;font-weight:400;margin:0 .04em}.ctxd-lede{font-size:1.1rem;line-height:1.65;color:var(--ctxd-ink-2);max-width:620px}.ctxd-cta-primary,.ctxd-cta-secondary{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-size:14.5px;font-weight:500;text-decoration:none;border-radius:8px;transition:background 160ms ease,color 160ms ease,border-color 160ms ease,transform 160ms var(--ease-out);box-shadow:0 1px 1px rgba(15,23,42,.04),0 2px 6px -2px rgba(15,23,42,.08)}.ctxd-cta-primary{background:var(--ctxd-ink);color:var(--ctxd-bg);border:1px solid var(--ctxd-ink)}.ctxd-card,.ctxd-cta-secondary{border:1px solid var(--ctxd-line);background:var(--ctxd-bg)}.ctxd-cta-secondary{color:var(--ctxd-ink)}.dark .ctxd-cta-secondary{background:var(--ctxd-bg-tint);border-color:var(--ctxd-line);box-shadow:none}.dark .ctxd-cta-primary{box-shadow:none}.ctxd-cta-primary span[aria-hidden],.ctxd-cta-secondary span[aria-hidden],.uc-readmore span[aria-hidden]{transition:transform 160ms var(--ease-out)}.ctxd-cta-primary:active,.ctxd-cta-secondary:active{transform:scale(.97);transition-duration:100ms}@media (hover:hover) and (pointer:fine){.ctxd-cta-primary:hover{background:#000;border-color:#000}.ctxd-cta-secondary:hover{background:var(--ctxd-line-soft)}.dark .ctxd-cta-primary:hover{background:#e4e4e7;border-color:#e4e4e7}.dark .ctxd-cta-secondary:hover{background:var(--ctxd-surface-2)}.ctxd-cta-primary:hover span[aria-hidden],.ctxd-cta-secondary:hover span[aria-hidden]{transform:translateX(2px)}}.ctxd-card{display:block;padding:22px 22px 20px;border-radius:12px;text-decoration:none!important;color:inherit!important;transition:border-color 180ms ease-out,transform 180ms var(--ease-out),box-shadow 180ms ease-out;position:relative}.ctxd-card:active{transform:scale(.99);transition-duration:100ms}@media (hover:hover) and (pointer:fine){.ctxd-card:hover{border-color:rgba(37,99,235,.5);transform:translateY(-1px);box-shadow:rgba(37,99,235,.04) 0 1px 2px -1px,rgba(37,99,235,.06) 0 12px 24px -12px,rgba(37,99,235,.08) 0 0 0 1px}}.ctxd-card-kicker{font-family:\"IBM Plex Mono\",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ctxd-ink-3);margin-bottom:10px;display:flex;align-items:center;gap:8px}.ctxd-card-kicker .glyph{color:var(--ctxd-blue)}.ctxd-card-desc,.ctxd-card-title{font-family:\"IBM Plex Sans\",system-ui,sans-serif}.ctxd-card-title{font-size:17px;font-weight:500;color:var(--ctxd-ink);margin-bottom:6px;letter-spacing:-.005em}.ctxd-card-desc{font-size:13.5px;line-height:1.55;color:var(--ctxd-ink-2)}.ctxd-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.ctxd-card-arrow,.ctxd-card-meta .label{font-family:\"IBM Plex Mono\",monospace;color:var(--ctxd-ink-3)}.ctxd-card-meta .label{font-size:11px}.ctxd-card-arrow{transition:color 180ms ease,transform 180ms var(--ease-out)}@media (hover:hover) and (pointer:fine){.ctxd-card:hover .ctxd-card-arrow{color:var(--ctxd-blue);transform:translateX(3px)}}.ctxd-card-featured{background:linear-gradient(180deg,var(--ctxd-blue-tint) 0%,var(--ctxd-bg) 100%);border-color:rgba(37,99,235,.25)}.ctxd-code-block,.ctxd-inline-code{font-family:\"IBM Plex Mono\",monospace;border:1px solid var(--ctxd-line);color:var(--ctxd-ink);white-space:nowrap}.ctxd-inline-code{font-size:12.5px;background:var(--ctxd-line-soft);padding:1px 6px;border-radius:4px}.ctxd-code-block{font-size:13px;background:var(--ctxd-bg);padding:10px 14px;border-radius:8px;overflow-x:auto;margin:0}.ctxd-code-block::-webkit-scrollbar{height:4px}.ctxd-code-block::-webkit-scrollbar-thumb{background:var(--ctxd-line);border-radius:2px}.ctxd-link-block{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--ctxd-line);background:var(--ctxd-bg);border-radius:10px;text-decoration:none!important;color:inherit!important;transition:border-color 180ms ease-out,transform 180ms var(--ease-out),box-shadow 180ms ease-out}.ctxd-link-block:active{transform:scale(.99);transition-duration:100ms}@media (hover:hover) and (pointer:fine){.ctxd-link-block:hover{border-color:rgba(37,99,235,.5);transform:translateY(-1px);box-shadow:rgba(37,99,235,.05) 0 6px 14px -6px}}.ctxd-link-block-title{font-size:14.5px;font-weight:500;color:var(--ctxd-ink);letter-spacing:-.003em}.ctxd-link-block-arrow,.ctxd-link-block-desc{color:var(--ctxd-ink-3);font-family:\"IBM Plex Mono\",monospace}.ctxd-link-block-desc{font-size:11.5px;margin-top:2px}.ctxd-link-block-arrow{transition:color 180ms ease,transform 180ms var(--ease-out)}@media (hover:hover) and (pointer:fine){.ctxd-link-block:hover .ctxd-link-block-arrow{color:var(--ctxd-blue);transform:translateX(3px)}}.flow-v-root{position:relative;font-family:\"IBM Plex Sans\",system-ui,sans-serif;padding:8px 4px 12px}.flow-v-section{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px}.flow-v-section-title{font-family:\"IBM Plex Mono\",monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ctxd-ink-3)}.flow-v-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:880px;padding:0 12px}.flow-v-row-wrap{max-width:960px;gap:8px}.flow-v-spacer{height:88px;pointer-events:none}.flow-v-groups{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 8px}.flow-v-group{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px 14px 14px;border:1px solid var(--ctxd-line);background:var(--ctxd-surface-1);border-radius:14px;transition:border-color 220ms ease-out,background 220ms ease-out}.flow-v-group.lit{border-color:var(--ctxd-blue);background:var(--ctxd-surface-1)}.flow-v-group-title{font-size:18px;font-weight:600;letter-spacing:-.012em;line-height:1.2;color:var(--ctxd-ink)}.flow-v-group-desc{font-size:14px;font-weight:400;line-height:1.5;color:var(--ctxd-ink-2);letter-spacing:-.003em;min-height:42px}.flow-v-col{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:6px}.flow-v-pill{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:120px;min-height:44px;padding:7px 12px;font-family:\"IBM Plex Mono\",monospace;color:var(--ctxd-ink);background:var(--ctxd-surface-2);border:1px solid var(--ctxd-line);border-radius:8px;text-decoration:none!important;cursor:pointer;white-space:nowrap;transition:opacity 200ms ease-out,border-color 200ms ease-out,background 200ms ease-out,color 200ms ease-out,transform 120ms var(--ease-out)}.flow-v-pill-example,.flow-v-pill-label{font-size:12px;font-weight:500;line-height:1.2;letter-spacing:-.005em;color:var(--ctxd-ink)}.flow-v-pill-example{font-size:10.5px;font-weight:400;color:var(--ctxd-ink-3);transition:color 200ms ease-out}.flow-v-pill.lit{border-color:var(--ctxd-blue);background:var(--ctxd-blue-tint)}.flow-v-pill.lit,.flow-v-pill.lit .flow-v-pill-label{color:var(--ctxd-blue)}.flow-v-pill.lit .flow-v-pill-example{color:var(--ctxd-blue);opacity:.75}.flow-v-pill.dim{opacity:.32}.flow-v-pill:active{transform:scale(.97);transition-duration:80ms}@media (hover:hover) and (pointer:fine){.flow-v-pill:hover{border-color:var(--ctxd-ink-3)}.flow-v-pill.lit:hover{border-color:var(--ctxd-blue)}}.flow-v-endpoint-box{display:block;width:100%;padding:10px 12px 7px;background:var(--ctxd-surface-2);border-radius:8px;color:var(--ctxd-ink);cursor:pointer;text-align:left;box-shadow:none;transition:opacity 200ms ease-out,border-color 200ms ease-out,background 200ms ease-out,transform 120ms var(--ease-out)}.flow-v-endpoint-arrow,.flow-v-endpoint-path{font-family:\"IBM Plex Mono\",monospace;font-size:12px}.flow-v-endpoint-path{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:500;line-height:1.3;color:var(--ctxd-ink);margin-bottom:3px;letter-spacing:-.005em}.flow-v-endpoint-arrow{color:var(--ctxd-ink-3);opacity:0;transform:translateX(-2px);transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out),color 180ms ease}.flow-v-endpoint-desc{font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-size:11.5px;font-weight:400;line-height:1.45;color:var(--ctxd-ink-2);letter-spacing:-.001em}.flow-v-endpoint-box,.flow-v-endpoint-box *,.flow-v-endpoint-box ::after,.flow-v-endpoint-box ::before,.flow-v-endpoint-box::after,.flow-v-endpoint-box::before{text-decoration:none!important}.flow-v-endpoint-box,.flow-v-endpoint-box *,.flow-v-endpoint-box ::after,.flow-v-endpoint-box ::before,.flow-v-endpoint-box::after,.flow-v-endpoint-box::before,.uc-readmore,.uc-readmore *,.uc-readmore ::after,.uc-readmore ::before,.uc-readmore::after,.uc-readmore::before{text-decoration-line:none!important;text-decoration-color:transparent!important;text-decoration-thickness:0!important;text-underline-offset:0!important;background-image:none!important;-webkit-text-decoration:none!important}.uc-readmore *,.uc-readmore ::after,.uc-readmore ::before,.uc-readmore::after,.uc-readmore::before{text-decoration:none!important}.flow-v-endpoint-box ::after,.flow-v-endpoint-box ::before,.flow-v-endpoint-box::after,.flow-v-endpoint-box::before,.uc-readmore ::after,.uc-readmore ::before,.uc-readmore::after,.uc-readmore::before{content:none!important;display:none!important}.flow-v-endpoint-box{border:1px solid var(--ctxd-line)!important}.flow-v-endpoint-box.lit{border:1px solid var(--ctxd-blue)!important;border-color:var(--ctxd-blue);background:var(--ctxd-blue-tint);box-shadow:none}.uc-readmore{border:1px solid rgba(255,255,255,.08)!important}.flow-v-endpoint-box.lit .flow-v-endpoint-path{color:var(--ctxd-blue)}.flow-v-endpoint-box.lit .flow-v-endpoint-desc{color:var(--ctxd-ink-2)}.flow-v-endpoint-box.lit .flow-v-endpoint-arrow{color:var(--ctxd-blue);opacity:.85;transform:translateX(0);color:#1e40af}.flow-v-endpoint-box.dim{opacity:.32}.flow-v-endpoint-box:active{transform:scale(.995);transition-duration:80ms}@media (hover:hover) and (pointer:fine){.flow-v-endpoint-box:hover{border-color:rgba(148,163,184,.65)}.flow-v-endpoint-box:hover .flow-v-endpoint-arrow{opacity:.7;transform:translateX(0)}.flow-v-endpoint-box.lit:hover{border-color:rgba(29,78,216,.7)}}.flow-v-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.ctxd-edge{stroke:#94a3b8}.ctxd-edge-lit{stroke:#1d4ed8}.ctxd-particle{fill:#94a3b8}.ctxd-particle-lit{fill:#1d4ed8}.flow-v-tooltip{position:absolute;z-index:10;transform:translate(-50%,0);max-width:320px;padding:10px 14px;font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-size:12.5px;line-height:1.5;color:#f8fafc;background:var(--ctxd-surface-3);border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.35);pointer-events:none;animation:flow-v-tooltip-in 160ms var(--ease-out) both}.flow-v-tooltip-kicker{font-family:\"IBM Plex Mono\",monospace;font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(147,197,253,.9);margin-bottom:5px}.flow-v-tooltip-text{color:inherit}.flow-v-tooltip-up{transform:translate(-50%,-100%);animation-name:flow-v-tooltip-in-up}.flow-v-tooltip-right{transform:translate(0,-50%);animation-name:flow-v-tooltip-in-right;max-width:280px}.flow-v-tooltip-left{transform:translate(-100%,-50%);animation-name:flow-v-tooltip-in-left;max-width:280px}.dark .ctxd-edge{stroke:#52525b}.dark .ctxd-edge-lit{stroke:var(--ctxd-blue)}.dark .ctxd-particle{fill:#71717a}.dark .ctxd-particle-lit{fill:var(--ctxd-blue)}@media (max-width:720px){.flow-v-groups{grid-template-columns:1fr}.flow-v-spacer{height:56px}}.uc-header{text-align:center;max-width:760px;margin:160px auto 40px;padding:0 16px}.uc-header-sub,.uc-header-title{font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-weight:400}.uc-header-title{font-size:clamp(2.6rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.028em;color:var(--ctxd-ink);margin:0 0 28px}.uc-header-sub{font-size:1.1rem;line-height:1.65;color:var(--ctxd-ink-2);max-width:620px;margin:0 auto}.uc-block{margin:0 0 80px}.uc-card{position:relative;border-radius:20px;overflow:hidden;background:var(--ctxd-surface-1);border:1px solid var(--ctxd-line);isolation:isolate}.uc-noise{display:none}.uc-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,380px) 1fr;align-items:stretch;gap:0}.uc-rail{background:#f3f3f5;padding:20px 14px;border-right:1px solid var(--ctxd-line)}.dark .uc-rail{background:#131318}.uc-list{display:flex;flex-direction:column;gap:4px}.uc-item{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:14px;border-radius:12px;background:0 0;border:1px solid transparent;cursor:pointer;transition:background 160ms ease-out,border-color 160ms ease-out,box-shadow 160ms ease-out;font-family:inherit;-webkit-tap-highlight-color:transparent}.uc-item:focus{outline:0}.uc-item:focus-visible{outline:2px solid var(--ctxd-blue);outline-offset:2px}.uc-item-active{background:#fff;border-color:rgba(15,23,42,.12)}.dark .uc-item-active{background:#26262d;border-color:rgba(255,255,255,.08)}.uc-item-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;color:var(--ctxd-ink-3);background:0 0;transition:color 180ms ease;flex-shrink:0}.uc-item-active .uc-item-icon,.uc-item-active .uc-item-title{color:var(--ctxd-ink)}.uc-item-body{display:flex;flex-direction:column;gap:4px;min-width:0}.uc-item-desc,.uc-item-title{font-family:\"IBM Plex Sans\",system-ui,sans-serif;color:var(--ctxd-ink-3);transition:color 180ms ease}.uc-item-title{font-size:14.5px;line-height:1.25;letter-spacing:-.005em;font-weight:600}.uc-item-desc{font-size:12.5px;line-height:1.5}.ctxd-footer-nav a,.uc-item-active .uc-item-desc{color:var(--ctxd-ink-2)}.uc-preview{display:flex;align-items:center;padding:32px 32px 32px 24px}.uc-terminal{width:100%;background:#0a0a14;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 24px 60px -16px rgba(0,0,0,.55)}.uc-terminal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 12px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.uc-terminal-title{display:inline-flex;align-items:center;gap:10px;font-family:\"IBM Plex Mono\",monospace;font-size:12.5px;color:#e4e4e7;letter-spacing:-.005em}.uc-readmore,.uc-terminal-icon{display:inline-flex;color:#a5b4fc}.uc-readmore{align-items:center;gap:8px;padding:6px 12px;font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-size:12px;font-weight:500;color:#e4e4e7;background:rgba(255,255,255,.06);border-radius:8px;text-decoration:none!important;transition:background 160ms ease,border-color 160ms ease,transform 160ms var(--ease-out)}.uc-readmore:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15)}.uc-readmore:active{transform:scale(.97)}.uc-readmore:hover span[aria-hidden]{transform:translateX(2px)}.uc-code{margin:0;padding:20px 22px 24px;background:0 0;font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.75;white-space:pre;overflow-x:auto;color:#e4e4e7}.uc-code code{font:inherit;color:inherit;background:0 0}.uc-tok-k{color:#f472b6}.uc-tok-s{color:#fdba74}.uc-tok-c{color:#6b7280;font-style:italic}.uc-tok-n{color:#fbbf24}.uc-tok-m{color:#60a5fa}.uc-tok-i{color:#e4e4e7}.uc-tok-p{color:#94a3b8}@media (max-width:880px){.uc-grid{grid-template-columns:1fr}.uc-rail{border-right:none;border-bottom:1px solid var(--ctxd-line)}.uc-preview{padding:20px}.uc-code{font-size:12px;line-height:1.7}}.ctxd-footer{position:relative;margin-top:96px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:26px max(24px,calc(50vw - 600px));background:var(--ctxd-bg);color:var(--ctxd-ink-2);font-family:\"IBM Plex Sans\",system-ui,sans-serif;border-top:1px solid var(--ctxd-line);z-index:2}.ctxd-footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.ctxd-footer-brand{display:inline-flex;align-items:baseline;font-family:\"IBM Plex Sans\",system-ui,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.015em;color:var(--ctxd-ink);text-decoration:none!important}.ctxd-footer-brace,.ctxd-footer-name{color:var(--ctxd-blue);font-weight:400}.ctxd-footer-brace{margin:0 .04em}.ctxd-footer-name{font-style:italic}.ctxd-footer-socials{display:inline-flex;gap:14px}.ctxd-footer-nav,.ctxd-footer-social{display:inline-flex;align-items:center}.ctxd-footer-social{justify-content:center;width:26px;height:26px;color:var(--ctxd-ink-3);background:0 0;text-decoration:none!important;transition:color 160ms ease}.ctxd-footer-nav a:hover,.ctxd-footer-social:hover{color:var(--ctxd-ink)}.ctxd-footer-nav{gap:22px;font-size:13px}.ctxd-footer-nav a{text-decoration:none!important;transition:color 140ms ease}.ctxd-footer-copy{font-size:12.5px;color:var(--ctxd-ink-3);letter-spacing:-.005em}@media (max-width:780px){.ctxd-footer-inner{flex-direction:column;align-items:flex-start;gap:18px}.ctxd-footer-nav{flex-wrap:wrap;gap:16px 22px}}@media (prefers-reduced-motion:reduce){.ctxd-card,.ctxd-card-arrow,.ctxd-cta-primary,.ctxd-cta-secondary,.ctxd-link-block,.ctxd-link-block-arrow,.uc-item,.uc-readmore{transition:none}.ctxd-card:active,.ctxd-card:hover,.ctxd-card:hover .ctxd-card-arrow,.ctxd-cta-primary:active,.ctxd-cta-primary:hover span[aria-hidden],.ctxd-cta-secondary:active,.ctxd-cta-secondary:hover span[aria-hidden],.ctxd-link-block:active,.ctxd-link-block:hover,.ctxd-link-block:hover .ctxd-link-block-arrow,.uc-item:active,.uc-readmore:active,.uc-readmore:hover span[aria-hidden]{transform:none}}.ctxd-v3{--v3-blue:#1373e8;--v3-blue-press:#0e5cc0;--v3-blue-border:#0263ef;--v3-grad-top:#115fbf;--v3-grad-bot:#52a3ff;--v3-rail:#d9d9d9;--v3-ink:#0a0a0a;--v3-ink-2:#3f3f46;--v3-muted:#919191;--v3-bg:#ffffff;--v3-bg-soft:#fbfcfe;--v3-card:#ffffff;--v3-card-bd:#ececec;--v3-pill-bd:#cfd9e8;--v3-glow:rgba(47, 127, 240, 0.3);--v3-sans:\"Neue Montreal\", \"Geist\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n sans-serif;--v3-mono:\"Geist Mono\", \"IBM Plex Mono\", ui-monospace, SFMono-Regular, Menlo,\n monospace;--v3-ease:cubic-bezier(0.23, 1, 0.32, 1);--v3-rail-w:1280px;--v3-section-y:120px;font-family:var(--v3-sans);color:var(--v3-ink);background:var(--v3-bg);position:relative;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.dark .ctxd-v3{--v3-rail:#2a2a31;--v3-ink:#f5f5f7;--v3-ink-2:#c2c2cb;--v3-muted:#8b8b93;--v3-bg:#0a0a0c;--v3-bg-soft:#0e0e12;--v3-card:#141418;--v3-card-bd:#26262d;--v3-pill-bd:#2f3a4d;--v3-glow:rgba(80, 150, 255, 0.22)}.ctxd-v3 *,.ctxd-v3 ::after,.ctxd-v3 ::before{box-sizing:border-box}body:has(.ctxd-v3) #header,body:has(.ctxd-v3) [data-test=navbar],body:has(.ctxd-v3) [id^=navbar],body:has(.ctxd-v3) header.fixed,body:has(.ctxd-v3) header.sticky,body:has(.ctxd-v3) header[class*=Navbar],body:has(.ctxd-v3) header[class*=navbar],body:has(.ctxd-v3)>div>header,body:has(.ctxd-v3)>header{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid rgba(15,23,42,.08)}.dark body:has(.ctxd-v3) #header,.dark body:has(.ctxd-v3) [data-test=navbar],.dark body:has(.ctxd-v3) [id^=navbar],.dark body:has(.ctxd-v3) header.fixed,.dark body:has(.ctxd-v3) header.sticky,.dark body:has(.ctxd-v3) header[class*=Navbar],.dark body:has(.ctxd-v3) header[class*=navbar],.dark body:has(.ctxd-v3)>div>header,.dark body:has(.ctxd-v3)>header{background:#0a0a0c!important;border-bottom:1px solid rgba(255,255,255,.08)}.ctxd-v3-rails,.ctxd-v3-rails-inner{max-width:1300px;margin:0 auto;border-left:1px dashed var(--v3-rail);border-right:1px dashed var(--v3-rail);position:relative}.ctxd-v3-rails-inner{max-width:1100px}.ctxd-v3-section{position:relative;padding:0 clamp(20px,4vw,56px)}.ctxd-v3-pipe{padding-left:0;padding-right:0}.ctxd-v3-divider{border:0;border-top:1px dashed var(--v3-rail);margin:0}.ctxd-v3-btn,.ctxd-v3-kicker{display:inline-flex;align-items:center;font-family:var(--v3-mono);font-weight:400;text-transform:uppercase}.ctxd-v3-kicker{gap:9px;font-size:12px;letter-spacing:.02em;color:var(--v3-muted)}.ctxd-v3-kicker::before{content:\"\";width:6px;height:6px;border-radius:2px;background:var(--v3-blue);flex:none}.ctxd-v3-btn{justify-content:center;gap:8px;font-size:14px;letter-spacing:-.02em;text-decoration:none!important;padding:12px 16px;border-radius:0;cursor:pointer;white-space:nowrap;transition:transform .25s var(--v3-ease),background-color .2s ease,box-shadow .25s var(--v3-ease),color .2s ease,border-color .2s ease}.ctxd-v3-btn--primary{background:var(--v3-blue);color:#fff!important;border:1px solid var(--v3-blue)}.ctxd-v3-btn--primary:hover{background:var(--v3-blue-press);transform:translateY(-2px);box-shadow:0 10px 24px -8px var(--v3-glow)}.ctxd-v3-btn--ghost{background:0 0;color:var(--v3-blue)!important;border:1px solid var(--v3-blue-border)}.ctxd-v3-btn--ghost:hover{background:color-mix(in srgb,var(--v3-blue) 8%,transparent);transform:translateY(-2px)}.ctxd-v3-btn .arrow{transition:transform .25s var(--v3-ease)}.ctxd-v3-btn:hover .arrow{transform:translateX(3px)}.ctxd-v3-grad{background:linear-gradient(180deg,var(--v3-grad-top) 0%,var(--v3-grad-bot) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.ctxd-v3-hero{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,3.5vw,60px);padding-top:var(--v3-section-y);padding-bottom:var(--v3-section-y)}.ctxd-v3-hero-copy{flex:1 1 450px;min-width:0;display:flex;flex-direction:column;gap:28px}.ctxd-v3-h1{font-family:var(--v3-sans);font-weight:500;margin:0;font-size:clamp(34px,3.7vw,56px);line-height:1;letter-spacing:-.031em}.ctxd-v3-h1 .ln{display:block;color:var(--v3-ink)}.ctxd-v3-h1 .ln.ctxd-v3-grad{display:inline-block;color:transparent}.ctxd-v3-lede{margin:0;font-size:clamp(16px,1.3vw,17.8px);line-height:1.44;letter-spacing:-.02em;color:var(--v3-ink-2);max-width:36ch}.ctxd-v3-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:460px}.ctxd-v3-hero-art{flex:1 1 540px;min-width:0;display:flex;justify-content:flex-end}.ctxd-v3-hero-art img{width:92%;max-width:560px;height:auto;display:block}.ctxd-v3-footer{display:flex;align-items:center;justify-content:space-between;padding-top:26px;padding-bottom:26px;gap:16px}.ctxd-v3-footer-copy{font-family:var(--v3-mono);font-size:12px;text-transform:uppercase;color:var(--v3-blue-border);letter-spacing:.02em}.ctxd-v3-socials{display:flex;gap:10px}.ctxd-v3-social{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--v3-blue-border);color:#fff;text-decoration:none!important;transition:transform .2s var(--v3-ease),filter .2s ease}.ctxd-v3-social:hover{transform:translateY(-2px);filter:brightness(1.1)}.ctxd-v3-social svg{width:14px;height:14px}@media (prefers-reduced-motion:no-preference){.ctxd-v3-anim{opacity:0;animation:v3-rise .8s var(--v3-ease) forwards}.ctxd-v3-anim.d1{animation-delay:.06s}.ctxd-v3-anim.d2{animation-delay:.14s}.ctxd-v3-anim.d3{animation-delay:.22s}.ctxd-v3-anim.d4{animation-delay:.3s}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.ctxd-v3-reveal{animation:v3-rise linear both;animation-timeline:view();animation-range:entry 0% entry 50%}}}@media (max-width:900px){.ctxd-v3-hero{flex-direction:column;align-items:flex-start}.ctxd-v3-hero-art{width:100%;justify-content:center}}@media (max-width:768px){.ctxd-v3{overflow-x:clip}.ctxd-v3-rails{border-left:none;border-right:none}.ctxd-v3-hero{gap:clamp(24px,5vw,40px)}.ctxd-v3-hero-art img{max-height:380px;width:auto;max-width:100%}}@media (max-width:600px){.ctxd-v3-hero-art img{max-height:320px}}@media (max-width:480px){.ctxd-v3{--v3-section-y:40px}.ctxd-v3-h1{font-size:clamp(30px,8.5vw,40px)}.ctxd-v3-hero-actions{grid-template-columns:1fr;max-width:100%}.ctxd-v3-btn{width:100%;min-height:44px;padding:13px 16px}.ctxd-v3-hero-copy{gap:22px}.ctxd-v3-footer{flex-direction:column;align-items:flex-start;gap:18px}.ctxd-v3-socials{gap:12px}.ctxd-v3-social{width:40px;height:40px}.ctxd-v3-social svg{width:16px;height:16px}}@media (min-width:1280px){#content-side-layout{--ctxd-api-examples-width:22rem;width:var(--ctxd-api-examples-width);max-width:var(--ctxd-api-examples-width);flex:none}#content-side-layout>div{width:100%}}"}],"page":{"pagePath":"api-reference/batches/submit","slug":"/api-reference/batches/submit","pageMetadata":{"title":"Submit a batch","sidebarTitle":"Submit","description":"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.","openapi":"POST /batch/submit","href":"/api-reference/batches/submit"},"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: \"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.\"\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`,p:`p`,..._provideComponents(),...props.components},{Badge}=_components;if(!Badge)_missingMdxReference(`Badge`,true);return _jsxs(_Fragment,{children:[_jsx(Badge,{color:`blue`,children:`From 1 credit per page`}),`\n`,_jsxs(_components.p,{children:[`Requires `,_jsxs(_components.a,{href:`/account/api-keys`,children:[_jsx(_components.code,{children:`batches:write`}),` permission`]}),`. See the `,_jsx(_components.a,{href:`/batches/submit`,children:`guide`}),` for examples and usage.`]})]})}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":{"config":{},"pageMetadata":{"title":"Submit a batch","sidebarTitle":"Submit","description":"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.","openapi":"POST /batch/submit","href":"/api-reference/batches/submit"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/branddev/ee8100c95e8bd2c9/posthog.js","/_mintlify/custom/branddev/7dd87ba6a4b9fe32/databuddy.js"],"openApiReferenceData":{"operation":{"summary":"Submit a batch","description":"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.","operationId":"submitBatch","security":["f15fc0da-00d0-401f-acde-0c2444c24308"],"tags":["Batches"],"x-mint":{"content":"\u003cBadge color=\"blue\">From 1 credit per page\u003c/Badge>"},"parameters":["0e095c39-7204-468d-a359-7c7a2afb3494"],"requestBody":"6d3d8389-8e01-4466-9830-b39db440d420","responses":{"202":"8ee8befa-a1aa-4851-a127-413100180e92","400":"24dbda20-1549-4099-9b60-f6f60855e342","401":"48103bd1-7fa8-4bba-9bd8-6edd2bdce05b","402":"4fd8abf4-a01f-4f30-b55e-1f125e6be7b5","403":"729aaef5-5aa3-4585-b592-97702742b20a","409":"22f3c8ea-7f93-4839-8d5d-9ad1ab19bb71","429":"6b766def-8882-42cb-be65-229307f339b5","500":"64114a3d-1c42-4bc1-a301-27e7f45657b0"},"method":"post","type":"path","servers":["8bab7947-85a2-41fd-a071-d88beb1f84a5"],"path":"/batch/submit","baseUrlOptions":["https://api.context.dev/v1"],"title":"Submit a batch","codeSamples":[],"requestExampleLanguages":["typescript","python","ruby","go","php","bash"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0e095c39-7204-468d-a359-7c7a2afb3494":{"schema":{"type":"string","maxLength":200,"description":"Unique key per submission. Retrying with the same key and body returns the original batch; a different body returns `409`.","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"Unique key per submission. Retrying with the same key and body returns the original batch; a different body returns `409`.","name":"Idempotency-Key","in":"header"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"oneOf":[{"type":"object","title":"Scrape","description":"Scrape a list of up to 100,000 URLs.","required":["mode","data"],"properties":{"mode":{"type":"string","enum":["scrape"],"description":"Scrape the pages in `data.urls`.","isRequired":true,"uniqueKey":"input.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"data":{"oneOf":[{"type":"object","title":"Markdown","description":"Scrape the listed pages as Markdown.","required":["format","urls"],"deprecated":true,"x-stainless-skip":["php"],"properties":{"format":{"type":"string","enum":["markdown"],"description":"Return page content as Markdown.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.0.format","typeLabel":"enum\u003cstring>"},"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","minLength":1,"description":"Page URL to scrape.","example":"https://example.com/products/anvil","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.0.urls.items.[INDEX].url","typeLabel":"string"},"itemId":{"type":"string","minLength":1,"maxLength":200,"description":"Your ID for this page, returned with its result. The same URL can use different IDs.","example":"sku-1","uniqueKey":"input.oneOf.0.data.oneOf.0.urls.items.[INDEX].itemId","typeLabel":"string"},"meta":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"input.oneOf.0.data.oneOf.0.urls.items.[INDEX].meta.additionalProperties","typeLabel":"any"},"description":"Custom JSON returned unchanged with this page result.","uniqueKey":"input.oneOf.0.data.oneOf.0.urls.items.[INDEX].meta","typeLabel":"object"}},"required":["url"],"additionalProperties":false,"description":"A page to scrape, with optional data for matching results.","uniqueKey":"input.oneOf.0.data.oneOf.0.urls.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":100000,"description":"Pages to scrape. Maximum 100000.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.0.urls","typeLabel":"object[]"},"options":{"type":"object","properties":{"includeLinks":{"type":"boolean","default":true,"description":"Include links in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeLinks","typeLabel":"boolean"},"includeImages":{"type":"boolean","default":false,"description":"Include image references in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeImages","typeLabel":"boolean"},"shortenBase64Images":{"type":"boolean","default":true,"description":"Shorten inline base64 image data (`html-conversion` only).","uniqueKey":"input.oneOf.0.data.oneOf.0.options.shortenBase64Images","typeLabel":"boolean"},"useMainContentOnly":{"type":"boolean","default":false,"description":"Return the main content without navigation or footers.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.useMainContentOnly","typeLabel":"boolean"},"includeHTML":{"type":"boolean","default":false,"description":"Also return each page's HTML in `html`.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeHTML","typeLabel":"boolean"},"sourcePreference":{"type":"array","items":{"type":"string","enum":["html-conversion","markdown-direct"],"uniqueKey":"input.oneOf.0.data.oneOf.0.options.sourcePreference.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"default":["html-conversion","markdown-direct"],"uniqueItems":true,"description":"Markdown sources in order of preference: `html-conversion` converts the page HTML, `markdown-direct` uses Markdown the site publishes.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.sourcePreference","typeLabel":"enum\u003cstring>[]"},"pdf":{"type":"object","properties":{"shouldParse":{"type":"boolean","default":true,"description":"Parse PDF URLs. When false, PDFs fail with `PDF_SKIPPED`.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.pdf.shouldParse","typeLabel":"boolean"},"start":{"type":"integer","minimum":1,"description":"First 1-based PDF page to parse.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.pdf.start","typeLabel":"integer"},"end":{"type":"integer","minimum":1,"description":"Last PDF page to parse (1-based, inclusive). Defaults to the final page. Must be >= start.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.pdf.end","typeLabel":"integer"},"ocr":{"type":"boolean","default":false,"description":"Read scanned PDF pages with OCR; preserve pages that already have text.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.pdf.ocr","typeLabel":"boolean"}},"default":{"shouldParse":true,"ocr":false},"description":"PDF handling. `start`/`end` limit parsing to an inclusive, 1-based page range.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.pdf","typeLabel":"object"},"includeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.0.data.oneOf.0.options.includeSelectors","typeLabel":"string[] | null"},"excludeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.0.data.oneOf.0.options.excludeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.excludeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.excludeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.0.data.oneOf.0.options.excludeSelectors","typeLabel":"string[] | null"},"waitForMs":{"type":"integer","minimum":0,"maximum":15000,"description":"How long to wait after initial page load, in milliseconds. `0` waits 500 ms.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.waitForMs","typeLabel":"integer"},"settleAnimations":{"type":"boolean","default":false,"description":"Wait for CSS animations to finish before extracting, on browser-rendered pages.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.settleAnimations","typeLabel":"boolean"},"country":{"type":"string","enum":["ad","ae","af","ag","ai","al","am","ao","ar","at","au","aw","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","bq","br","bs","bw","by","bz","ca","cd","cf","cg","ch","ci","cl","cm","cn","co","cr","cv","cw","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","es","et","fi","fj","fr","ga","gb","gd","ge","gf","gg","gh","gm","gn","gp","gq","gr","gt","gu","gw","gy","hk","hn","hr","ht","hu","id","ie","il","im","in","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","kn","kr","kw","ky","kz","la","lb","lc","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mk","ml","mm","mn","mo","mq","mr","mt","mu","mv","mw","mx","my","mz","na","nc","ne","ng","ni","nl","no","np","nz","om","pa","pe","pf","pg","ph","pk","pl","pr","ps","pt","py","qa","re","ro","rs","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tg","th","tj","tl","tm","tn","tr","tt","tw","tz","ua","ug","us","uy","uz","vc","ve","vg","vi","vn","ye","yt","za","zm","zw"],"example":"de","description":"Fetch from this country (ISO 3166-1 alpha-2).","uniqueKey":"input.oneOf.0.data.oneOf.0.options.country","typeLabel":"enum\u003cstring>"},"maxAgeMs":{"oneOf":[{"type":"integer","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.maxAgeMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.0.data.oneOf.0.options.maxAgeMs.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.0.data.oneOf.0.options.maxAgeMs","typeLabel":"integer | null"}},"additionalProperties":false,"description":"Options for Markdown output.","uniqueKey":"input.oneOf.0.data.oneOf.0.options","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.0","typeLabel":"Markdown · object"},{"type":"object","title":"HTML","description":"Scrape the listed pages as HTML.","required":["format","urls"],"deprecated":true,"x-stainless-skip":["php"],"properties":{"format":{"type":"string","enum":["html"],"description":"Return page content as HTML.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.1.format","typeLabel":"enum\u003cstring>"},"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","minLength":1,"description":"Page URL to scrape.","example":"https://example.com/products/anvil","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.1.urls.items.[INDEX].url","typeLabel":"string"},"itemId":{"type":"string","minLength":1,"maxLength":200,"description":"Your ID for this page, returned with its result. The same URL can use different IDs.","example":"sku-1","uniqueKey":"input.oneOf.0.data.oneOf.1.urls.items.[INDEX].itemId","typeLabel":"string"},"meta":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"input.oneOf.0.data.oneOf.1.urls.items.[INDEX].meta.additionalProperties","typeLabel":"any"},"description":"Custom JSON returned unchanged with this page result.","uniqueKey":"input.oneOf.0.data.oneOf.1.urls.items.[INDEX].meta","typeLabel":"object"}},"required":["url"],"additionalProperties":false,"description":"A page to scrape, with optional data for matching results.","uniqueKey":"input.oneOf.0.data.oneOf.1.urls.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":100000,"description":"Pages to scrape. Maximum 100000.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.1.urls","typeLabel":"object[]"},"options":{"type":"object","properties":{"useMainContentOnly":{"type":"boolean","default":false,"description":"Return the main content without navigation or footers.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.useMainContentOnly","typeLabel":"boolean"},"pdf":{"type":"object","properties":{"shouldParse":{"type":"boolean","default":true,"description":"Parse PDF URLs. When false, PDFs fail with `PDF_SKIPPED`.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.pdf.shouldParse","typeLabel":"boolean"},"start":{"type":"integer","minimum":1,"description":"First 1-based PDF page to parse.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.pdf.start","typeLabel":"integer"},"end":{"type":"integer","minimum":1,"description":"Last PDF page to parse (1-based, inclusive). Defaults to the final page. Must be >= start.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.pdf.end","typeLabel":"integer"},"ocr":{"type":"boolean","default":false,"description":"Read scanned PDF pages with OCR; preserve pages that already have text.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.pdf.ocr","typeLabel":"boolean"}},"default":{"shouldParse":true,"ocr":false},"description":"PDF handling. `start`/`end` limit parsing to an inclusive, 1-based page range.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.pdf","typeLabel":"object"},"includeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.0.data.oneOf.1.options.includeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.includeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.includeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.0.data.oneOf.1.options.includeSelectors","typeLabel":"string[] | null"},"excludeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.0.data.oneOf.1.options.excludeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.excludeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.excludeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.0.data.oneOf.1.options.excludeSelectors","typeLabel":"string[] | null"},"waitForMs":{"type":"integer","minimum":0,"maximum":15000,"description":"How long to wait after initial page load, in milliseconds. `0` waits 500 ms.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.waitForMs","typeLabel":"integer"},"settleAnimations":{"type":"boolean","default":false,"description":"Wait for CSS animations to finish before extracting, on browser-rendered pages.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.settleAnimations","typeLabel":"boolean"},"country":{"type":"string","enum":["ad","ae","af","ag","ai","al","am","ao","ar","at","au","aw","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","bq","br","bs","bw","by","bz","ca","cd","cf","cg","ch","ci","cl","cm","cn","co","cr","cv","cw","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","es","et","fi","fj","fr","ga","gb","gd","ge","gf","gg","gh","gm","gn","gp","gq","gr","gt","gu","gw","gy","hk","hn","hr","ht","hu","id","ie","il","im","in","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","kn","kr","kw","ky","kz","la","lb","lc","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mk","ml","mm","mn","mo","mq","mr","mt","mu","mv","mw","mx","my","mz","na","nc","ne","ng","ni","nl","no","np","nz","om","pa","pe","pf","pg","ph","pk","pl","pr","ps","pt","py","qa","re","ro","rs","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tg","th","tj","tl","tm","tn","tr","tt","tw","tz","ua","ug","us","uy","uz","vc","ve","vg","vi","vn","ye","yt","za","zm","zw"],"example":"de","description":"Fetch from this country (ISO 3166-1 alpha-2).","uniqueKey":"input.oneOf.0.data.oneOf.1.options.country","typeLabel":"enum\u003cstring>"},"maxAgeMs":{"oneOf":[{"type":"integer","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.maxAgeMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.0.data.oneOf.1.options.maxAgeMs.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.0.data.oneOf.1.options.maxAgeMs","typeLabel":"integer | null"}},"default":{"useMainContentOnly":false,"pdf":{"shouldParse":true,"ocr":false},"settleAnimations":false,"maxAgeMs":259200000},"additionalProperties":false,"description":"Options for HTML output.","uniqueKey":"input.oneOf.0.data.oneOf.1.options","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.1","typeLabel":"HTML · object"},{"type":"object","title":"Scrape Anything","description":"Use the same formats and parameters as POST /web/scrape, replacing url with urls. Options apply to every page.","required":["urls","formats"],"properties":{"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","minLength":1,"description":"Page URL to scrape.","example":"https://example.com/products/anvil","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.urls.items.[INDEX].url","typeLabel":"string"},"itemId":{"type":"string","minLength":1,"maxLength":200,"description":"Your ID for this page, returned with its result. The same URL can use different IDs.","example":"sku-1","uniqueKey":"input.oneOf.0.data.oneOf.2.urls.items.[INDEX].itemId","typeLabel":"string"},"meta":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"input.oneOf.0.data.oneOf.2.urls.items.[INDEX].meta.additionalProperties","typeLabel":"any"},"description":"Custom JSON returned unchanged with this page result.","uniqueKey":"input.oneOf.0.data.oneOf.2.urls.items.[INDEX].meta","typeLabel":"object"}},"required":["url"],"additionalProperties":false,"description":"A page to scrape, with optional data for matching results.","uniqueKey":"input.oneOf.0.data.oneOf.2.urls.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":100000,"description":"Pages to scrape. Maximum 100000.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.urls","typeLabel":"object[]"},"formats":{"type":"object","properties":{"html":{"type":"boolean","default":false,"description":"Rendered HTML.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.html","typeLabel":"boolean"},"markdown":{"type":"boolean","default":false,"description":"Page content as Markdown.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.markdown","typeLabel":"boolean"},"screenshot":{"type":"boolean","default":false,"description":"A screenshot of the page.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.screenshot","typeLabel":"boolean"},"images":{"type":"boolean","default":false,"description":"Images found on the page.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.images","typeLabel":"boolean"},"bytes":{"type":"boolean","default":false,"description":"The original HTTP response body.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.bytes","typeLabel":"boolean"},"parse":{"type":"boolean","default":false,"description":"Fields extracted with custom rules or a prebuilt parser, returned as `parsed`.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.parse","typeLabel":"boolean"},"product":{"type":"boolean","default":false,"description":"Product details such as name, price, and availability.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.product","typeLabel":"boolean"},"highlights":{"type":"boolean","default":false,"description":"Markdown excerpts relevant to `highlightsParams.query`.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.highlights","typeLabel":"boolean"},"json":{"type":"boolean","default":false,"description":"An object matching `jsonParams.schema`, extracted from the page.","uniqueKey":"input.oneOf.0.data.oneOf.2.formats.json","typeLabel":"boolean"}},"additionalProperties":false,"description":"Outputs to return. Set at least one to `true`.","not":{"allOf":[{"not":{"required":["html"],"properties":{"html":{"const":true}}}},{"not":{"required":["markdown"],"properties":{"markdown":{"const":true}}}},{"not":{"required":["screenshot"],"properties":{"screenshot":{"const":true}}}},{"not":{"required":["images"],"properties":{"images":{"const":true}}}},{"not":{"required":["bytes"],"properties":{"bytes":{"const":true}}}},{"not":{"required":["parse"],"properties":{"parse":{"const":true}}}},{"not":{"required":["product"],"properties":{"product":{"const":true}}}},{"not":{"required":["highlights"],"properties":{"highlights":{"const":true}}}},{"not":{"required":["json"],"properties":{"json":{"const":true}}}}]},"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.formats","typeLabel":"object"},"sharedParams":{"type":"object","properties":{"profile":{"oneOf":[{"type":"object","description":"Create or reuse an authenticated browser profile. Requires a paid plan and an HTTPS target. Profiles persist session state, bypass shared caches, and cannot be combined with ZDR, custom headers, raw bytes, Google Maps, app store, Instagram, or G2 parsers. The emails, phone-numbers, and links parsers support profiles.","required":["type","profileId"],"x-stainless-variantName":"Existing","properties":{"type":{"type":"string","enum":["existing"],"const":"existing","description":"Reuse a saved browser profile.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.0.type","typeLabel":"enum\u003cstring>"},"profileId":{"type":"string","pattern":"^prof_[a-f0-9]{32}$","description":"The ID returned in profile.id by an earlier scrape.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.0.profileId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.0","typeLabel":"object"},{"type":"object","description":"Create or reuse an authenticated browser profile. Requires a paid plan and an HTTPS target. Profiles persist session state, bypass shared caches, and cannot be combined with ZDR, custom headers, raw bytes, Google Maps, app store, Instagram, or G2 parsers. The emails, phone-numbers, and links parsers support profiles.","required":["type","identifier","password"],"x-stainless-variantName":"New","properties":{"type":{"type":"string","enum":["new"],"const":"new","description":"Sign in and create a browser profile.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.1.type","typeLabel":"enum\u003cstring>"},"identifier":{"type":"string","minLength":1,"maxLength":1024,"description":"Username or email for the target website.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.1.identifier","typeLabel":"string"},"password":{"type":"string","minLength":1,"maxLength":4096,"description":"Password used to sign in. It is never stored in the profile.","writeOnly":true,"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.1.password","typeLabel":"string"},"description":{"type":"string","minLength":1,"maxLength":500,"description":"Optional label shown when listing profiles with `GET /org/browser/profiles`.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.1.description","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile.oneOf.1","typeLabel":"object"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.profile","typeLabel":"object"},"country":{"type":"string","description":"Proxy country as a two-letter code, such as `US`. Case-insensitive.","pattern":"^[A-Za-z]{2}$","examples":["US"],"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.country","typeLabel":"string"},"headers":{"type":"object","additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[^\\r\\n]*$","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.headers.additionalProperties","typeLabel":"string"},"examples":[{"Accept-Language":"en-US"}],"propertyNames":{"pattern":"^[!#$%\u0026'*+.^_`|~0-9A-Za-z-]+$","not":{"pattern":"^(?:[Hh][Oo][Ss][Tt]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii][Oo][Nn]|[Kk][Ee][Ee][Pp]-[Aa][Ll][Ii][Vv][Ee]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii][Zz][Aa][Tt][Ii][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii][Ll][Ee][Rr]|[Ee][Xx][Pp][Ee][Cc][Tt])$"}},"description":"HTTP headers to send to the target site. Requests with headers skip the cache.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.headers","typeLabel":"object"},"viewport":{"type":"object","properties":{"width":{"type":"integer","minimum":240,"maximum":7680,"default":1440,"description":"Browser viewport width in pixels.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.viewport.width","typeLabel":"integer"},"height":{"type":"integer","minimum":240,"maximum":4320,"default":900,"description":"Browser viewport height in pixels.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.viewport.height","typeLabel":"integer"}},"additionalProperties":false,"description":"Browser size in pixels. Omit for 1920 × 1080. When provided, missing dimensions default to 1440 × 900.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.viewport","typeLabel":"object"},"theme":{"type":"string","enum":["light","dark"],"description":"Emulate a light or dark color scheme.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.theme","typeLabel":"enum\u003cstring>"},"dismissCookies":{"type":"boolean","default":true,"description":"Accept cookie banners before actions and capture.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.dismissCookies","typeLabel":"boolean"},"dismissPopups":{"type":"boolean","default":false,"description":"Close other popups before actions and capture.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.dismissPopups","typeLabel":"boolean"},"actions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Browser action","required":["type","action"],"x-stainless-variantName":"Perform","properties":{"type":{"type":"string","enum":["perform"],"description":"Use `perform` for a plain-language browser instruction.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"action":{"type":"string","minLength":1,"maxLength":500,"description":"One browser instruction, such as clicking a button or entering text.","examples":["Click the product details tab"],"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.0.action","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.0","typeLabel":"Browser action · object"},{"type":"object","title":"Browser action","required":["type"],"x-stainless-variantName":"Scroll","properties":{"type":{"type":"string","enum":["scroll"],"description":"Use `scroll` to move through the page or a container.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"direction":{"type":"string","enum":["down","up","left","right"],"default":"down","description":"Direction to scroll.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.direction","typeLabel":"enum\u003cstring>"},"amount":{"oneOf":[{"type":"integer","description":"Distance per scroll: pixels, one `viewport`, or `max` to reach the end.","default":"viewport","maximum":100000,"minimum":1,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"integer"},{"type":"string","description":"Distance per scroll: pixels, one `viewport`, or `max` to reach the end.","default":"viewport","enum":["viewport","max"],"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.amount","typeLabel":"integer | enum\u003cstring>"},"selector":{"type":"string","minLength":1,"maxLength":2000,"pattern":"\\S","description":"Scroll this container. Omit to scroll the page.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.selector","typeLabel":"string"},"maxScrolls":{"type":"integer","minimum":1,"maximum":50,"default":1,"description":"Maximum number of scroll steps for this action.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.maxScrolls","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1","typeLabel":"Browser action · object"},{"type":"object","title":"Browser action","required":["type","milliseconds"],"x-stainless-variantName":"Wait","properties":{"type":{"type":"string","enum":["wait"],"description":"Use `wait` to pause for a fixed duration.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"milliseconds":{"type":"integer","minimum":0,"maximum":30000,"description":"Time to pause in milliseconds before the next action.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.2.milliseconds","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.2","typeLabel":"Browser action · object"},{"type":"object","title":"Browser action","required":["type","selector"],"x-stainless-variantName":"WaitFor","properties":{"type":{"type":"string","enum":["waitFor"],"description":"Use `waitFor` to wait for a matching element.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"selector":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","description":"CSS selector to wait for before continuing.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.3.selector","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.3","typeLabel":"Browser action · object"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions.items.[INDEX]","typeLabel":"Browser action · object"},"minItems":1,"maxItems":5,"description":"Browser steps run in order before capture. Requires a paid plan. Skips the cache.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.actions","typeLabel":"Browser action · object[]"},"waitFor":{"oneOf":[{"type":"integer","description":"Milliseconds, or a CSS selector to wait for, after actions. Defaults to 500 (2000 with frames or XML).","maximum":30000,"minimum":0,"example":500,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.waitFor.oneOf.0","typeLabel":"integer"},{"type":"string","description":"Milliseconds, or a CSS selector to wait for, after actions. Defaults to 500 (2000 with frames or XML).","maxLength":2048,"minLength":1,"pattern":"\\S","example":500,"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.waitFor.oneOf.1","typeLabel":"string"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.waitFor","typeLabel":"integer | string"},"settleAnimations":{"type":"boolean","description":"Wait for CSS animations to finish before capture. Defaults to `true` when `screenshot` is requested.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.settleAnimations","typeLabel":"boolean"},"mainContentOnly":{"type":"boolean","default":false,"description":"Keep only the main content. Doesn't affect `screenshot`, `bytes`, or `product`.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.mainContentOnly","typeLabel":"boolean"},"includeSelectors":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.includeSelectors.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueItems":true,"description":"Keep only elements matching these CSS selectors.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.includeSelectors","typeLabel":"string[]"},"excludeSelectors":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.excludeSelectors.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueItems":true,"description":"Remove elements matching these CSS selectors. Overrides `includeSelectors`.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.excludeSelectors","typeLabel":"string[]"},"includeFrames":{"type":"boolean","default":false,"description":"Include iframe content in HTML and text outputs. Screenshots always show visible frames.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.includeFrames","typeLabel":"boolean"},"parsers":{"type":"object","properties":{"pdf":{"type":"object","properties":{"startPage":{"type":"integer","minimum":1,"description":"First page to parse, starting at 1.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.parsers.pdf.startPage","typeLabel":"integer"},"endPage":{"type":"integer","minimum":1,"description":"Last page to parse. Must be at least `startPage`.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.parsers.pdf.endPage","typeLabel":"integer"},"ocr":{"type":"string","enum":["off","auto"],"default":"off","description":"Set `auto` to read scanned pages with OCR.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.parsers.pdf.ocr","typeLabel":"enum\u003cstring>"},"includeNumberedPages":{"type":"boolean","default":false,"description":"Start each page in the Markdown with a `\u003c!-- page N -->` line using its original 1-based page number; these responses are never served from cache.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.parsers.pdf.includeNumberedPages","typeLabel":"boolean"}},"additionalProperties":false,"description":"PDF page range and OCR.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.parsers.pdf","typeLabel":"object"}},"additionalProperties":false,"description":"Document parsing options.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams.parsers","typeLabel":"object"}},"additionalProperties":false,"description":"Browser and content settings shared by all outputs.","uniqueKey":"input.oneOf.0.data.oneOf.2.sharedParams","typeLabel":"object"},"markdownParams":{"type":"object","properties":{"includeLinks":{"type":"boolean","default":true,"description":"Keep link URLs in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.0.data.oneOf.2.markdownParams.includeLinks","typeLabel":"boolean"},"includeImages":{"type":"boolean","default":false,"description":"Include images in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.0.data.oneOf.2.markdownParams.includeImages","typeLabel":"boolean"},"inlineImages":{"type":"string","enum":["placeholder","preserve"],"default":"placeholder","description":"How base64 images appear when `includeImages` is set (`html-conversion` only).","uniqueKey":"input.oneOf.0.data.oneOf.2.markdownParams.inlineImages","typeLabel":"enum\u003cstring>"},"sourcePreference":{"type":"array","items":{"type":"string","enum":["html-conversion","markdown-direct"],"uniqueKey":"input.oneOf.0.data.oneOf.2.markdownParams.sourcePreference.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"default":["html-conversion","markdown-direct"],"uniqueItems":true,"description":"Markdown sources in order of preference: `html-conversion` converts the page HTML, `markdown-direct` uses Markdown the site publishes.","uniqueKey":"input.oneOf.0.data.oneOf.2.markdownParams.sourcePreference","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"description":"Markdown options. Requires `formats.markdown`.","uniqueKey":"input.oneOf.0.data.oneOf.2.markdownParams","typeLabel":"object"},"screenshotParams":{"type":"object","properties":{"area":{"oneOf":[{"type":"string","description":"What to capture: `viewport`, `fullPage`, one element, or a rectangle. Max 40 megapixels.","default":"viewport","enum":["viewport","fullPage"],"x-stainless-variantName":"Page","uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"object","description":"What to capture: `viewport`, `fullPage`, one element, or a rectangle. Max 40 megapixels.","default":"viewport","required":["selector"],"x-stainless-variantName":"Element","properties":{"selector":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","description":"CSS selector matching exactly one visible element.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.1.selector","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to capture: `viewport`, `fullPage`, one element, or a rectangle. Max 40 megapixels.","default":"viewport","required":["x","y","width","height"],"x-stainless-variantName":"Rectangle","properties":{"x":{"type":"integer","minimum":0,"maximum":100000,"description":"Left edge of the capture, in pixels from the document origin.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.2.x","typeLabel":"integer"},"y":{"type":"integer","minimum":0,"maximum":100000,"description":"Top edge of the capture, in pixels from the document origin.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.2.y","typeLabel":"integer"},"width":{"type":"integer","minimum":1,"maximum":7680,"description":"Width of the capture in pixels.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.2.width","typeLabel":"integer"},"height":{"type":"integer","minimum":1,"maximum":100000,"description":"Height of the capture in pixels.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.2.height","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area.oneOf.2","typeLabel":"object"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.area","typeLabel":"enum\u003cstring> · object · object"},"format":{"type":"string","enum":["png","jpeg","webp"],"default":"png","description":"Image format for the screenshot.","uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams.format","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"description":"Screenshot options. Requires formats.screenshot: true.","uniqueKey":"input.oneOf.0.data.oneOf.2.screenshotParams","typeLabel":"object"},"imageParams":{"type":"object","properties":{"enrich":{"type":"array","items":{"type":"string","enum":["dimensions","classification","file"],"uniqueKey":"input.oneOf.0.data.oneOf.2.imageParams.enrich.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":3,"uniqueItems":true,"description":"Extra data per image: `dimensions`, `classification`, or a hosted `file` URL.","uniqueKey":"input.oneOf.0.data.oneOf.2.imageParams.enrich","typeLabel":"enum\u003cstring>[]"},"dedupe":{"type":"string","enum":["none","visual"],"default":"none","description":"Set `visual` to drop visual duplicates, keeping the largest copy.","uniqueKey":"input.oneOf.0.data.oneOf.2.imageParams.dedupe","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"description":"Image options. Requires formats.images: true.","uniqueKey":"input.oneOf.0.data.oneOf.2.imageParams","typeLabel":"object"},"parseParams":{"oneOf":[{"type":"object","description":"Requires `formats.parse: true`; required when it is set.","required":["rules"],"x-stainless-variantName":"CustomParser","properties":{"rules":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","maxLength":2048,"minLength":1,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","required":["selector"],"properties":{"selector":{"type":"string","minLength":1,"maxLength":2048,"description":"CSS selector to match within the current page or parent rule.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.selector","typeLabel":"string"},"type":{"type":"string","enum":["item","list"],"description":"Return the first match with `item` or all matches with `list`.","uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"output":{"oneOf":[{"type":"string","description":"Return text, HTML, an attribute such as `@href`, or nested field rules. Defaults to text.","enum":["text","html"],"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Return text, HTML, an attribute such as `@href`, or nested field rules. Defaults to text.","pattern":"^@.*$","uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output.oneOf.1","typeLabel":"string"},{"description":"Return text, HTML, an attribute such as `@href`, or nested field rules. Defaults to text.","uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output.oneOf.2","typeLabel":"any"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output","typeLabel":"enum\u003cstring> | string | any"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties","typeLabel":"string | object"},"description":"Field names mapped to CSS selectors (`h1`, `a@href`) or rule objects. Max 100 fields, 5 levels.","minProperties":1,"examples":[{"title":"h1","links":{"selector":"a","type":"list","output":"@href"}}],"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.rules","typeLabel":"object"},"type":{"type":"string","enum":["custom"],"default":"custom","const":"custom","description":"Extract fields using custom CSS rules. This is the default when type is omitted.","uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.0","typeLabel":"object"},{"type":"object","description":"Requires `formats.parse: true`; required when it is set.","required":["type","parser"],"x-stainless-variantName":"PrebuiltParser","properties":{"type":{"type":"string","enum":["prebuilt"],"const":"prebuilt","description":"Use a prebuilt parser instead of custom rules.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.1.type","typeLabel":"enum\u003cstring>"},"parser":{"type":"string","enum":["google-maps","google-maps-reviews","google-play","google-play-reviews","app-store","app-store-reviews","g2-reviews","instagram-profile","instagram-post","instagram-feed","tiktok-profile","tiktok-video","tiktok-feed","tiktok-comments","tiktok-followers","tiktok-following","tiktok-user-search","reddit-post","reddit-search","reddit-subreddit","reddit-user","yelp-search","yelp-reviews","emails","phone-numbers","links"],"description":"The prebuilt parser to use. See https://docs.context.dev/scrape/prebuilt-parsers for supported sources, request options, and output schemas.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.1.parser","typeLabel":"enum\u003cstring>"},"sort":{"type":"string","enum":["newest","oldest","relevant","highest","lowest"],"default":"newest","description":"google-maps-reviews only. Order of data.reviews. newest, relevant, highest, and lowest follow Google; oldest returns the earliest reviews first, which Google itself does not offer.","uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.1.sort","typeLabel":"enum\u003cstring>"},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100,"description":"google-maps-reviews and reddit parsers only. Maximum number of reviews (google-maps-reviews, default 100), comments (reddit-post, default 100), or results (reddit-search, reddit-subreddit, and reddit-user, default 100) to return; maximum 1000.","uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.1.limit","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams.oneOf.1","typeLabel":"object"}],"uniqueKey":"input.oneOf.0.data.oneOf.2.parseParams","typeLabel":"object"},"productParams":{"type":"object","properties":{"dedupeImages":{"type":"boolean","default":false,"description":"Drop visually duplicate product images, keeping the largest copy.","uniqueKey":"input.oneOf.0.data.oneOf.2.productParams.dedupeImages","typeLabel":"boolean"},"useAIFallback":{"type":"boolean","deprecated":true,"description":"Ignored. The AI fallback runs automatically.","uniqueKey":"input.oneOf.0.data.oneOf.2.productParams.useAIFallback","typeLabel":"boolean"}},"additionalProperties":false,"description":"Product options. Requires formats.product: true.","uniqueKey":"input.oneOf.0.data.oneOf.2.productParams","typeLabel":"object"},"highlightsParams":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":2000,"description":"The question or topic to find passages for.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.highlightsParams.query","typeLabel":"string"},"maxCharacters":{"type":"integer","minimum":100,"maximum":20000,"default":4000,"description":"Maximum combined length of returned passages.","uniqueKey":"input.oneOf.0.data.oneOf.2.highlightsParams.maxCharacters","typeLabel":"integer"}},"required":["query"],"additionalProperties":false,"description":"Requires `formats.highlights: true`; required when it is set.","uniqueKey":"input.oneOf.0.data.oneOf.2.highlightsParams","typeLabel":"object"},"jsonParams":{"type":"object","properties":{"schema":{"type":"object","additionalProperties":true,"description":"JSON Schema (not an example object) for a top-level object, up to 50 KB. Use optional or nullable fields for missing facts.","example":{"type":"object","properties":{"name":{"type":"string","description":"Product name."},"price":{"type":"number","description":"Current price as a plain number."},"inStock":{"type":"boolean"}},"required":["name"],"additionalProperties":false},"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.jsonParams.schema","typeLabel":"object"},"instructions":{"type":"string","maxLength":2000,"description":"Extra guidance, such as which facts to prefer or how to read a field.","uniqueKey":"input.oneOf.0.data.oneOf.2.jsonParams.instructions","typeLabel":"string"}},"required":["schema"],"additionalProperties":false,"description":"Requires `formats.json: true`; required when it is set.","uniqueKey":"input.oneOf.0.data.oneOf.2.jsonParams","typeLabel":"object"},"maxAgeMs":{"type":"integer","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum age of a cached output, in milliseconds. `0` fetches fresh. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms).","uniqueKey":"input.oneOf.0.data.oneOf.2.maxAgeMs","typeLabel":"integer"},"zdr":{"type":"string","enum":["disabled"],"default":"disabled","description":"Batches persist their results. Only disabled is supported; enabled returns ZDR_NOT_SUPPORTED.","uniqueKey":"input.oneOf.0.data.oneOf.2.zdr","typeLabel":"enum\u003cstring>"},"timeoutOpts":{"type":"object","properties":{"milliseconds":{"type":"integer","minimum":1,"maximum":300000,"description":"Deadline in milliseconds.","isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2.timeoutOpts.milliseconds","typeLabel":"integer"},"behavior":{"type":"string","enum":["fail","return-partial"],"default":"fail","description":"\"fail\" returns 408 at the deadline. \"return-partial\" returns available results; inspect the response’s partial flag. \"return-partial\" requires at least 5000 ms.","uniqueKey":"input.oneOf.0.data.oneOf.2.timeoutOpts.behavior","typeLabel":"enum\u003cstring>"}},"required":["milliseconds"],"additionalProperties":false,"description":"Deadline for each page, using the same behavior and defaults as POST /web/scrape.","uniqueKey":"input.oneOf.0.data.oneOf.2.timeoutOpts","typeLabel":"object"},"tags":{"type":"array","items":{"type":"string","minLength":1,"maxLength":50,"uniqueKey":"input.oneOf.0.data.oneOf.2.tags.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"Labels for filtering usage in the dashboard.","example":["production","team-alpha"],"uniqueKey":"input.oneOf.0.data.oneOf.2.tags","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.0.data.oneOf.2","typeLabel":"Scrape Anything · object"}],"isRequired":true,"uniqueKey":"input.oneOf.0.data","typeLabel":"Markdown · object | HTML · object | Scrape Anything · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.0","typeLabel":"Scrape · object"},{"type":"object","title":"Crawl","description":"Crawl pages starting from a URL or from a domain's sitemap.","required":["mode","data"],"properties":{"mode":{"type":"string","enum":["crawl"],"description":"Discover and scrape pages from `data.source`.","isRequired":true,"uniqueKey":"input.oneOf.1.mode","typeLabel":"enum\u003cstring>"},"data":{"oneOf":[{"type":"object","title":"Markdown","description":"Crawl pages and return Markdown.","required":["format","source"],"deprecated":true,"x-stainless-skip":["php"],"properties":{"format":{"type":"string","enum":["markdown"],"description":"Return page content as Markdown.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.format","typeLabel":"enum\u003cstring>"},"source":{"oneOf":[{"type":"object","title":"Start URL","description":"Discover pages by following links from one URL.","required":["type","url"],"properties":{"type":{"type":"string","enum":["start_url"],"description":"Start from one page.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","minLength":1,"description":"Page where crawling begins. A URL without a scheme is read as https://.","example":"https://example.com/docs","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.url","typeLabel":"string"},"controls":{"type":"object","properties":{"maxUrls":{"type":"integer","minimum":1,"maximum":100000,"default":100,"description":"Maximum pages to fetch. Unused reserved credits are refunded. Maximum 100000.","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.maxUrls","typeLabel":"integer"},"maxDepth":{"type":"integer","minimum":0,"maximum":50,"description":"Maximum link depth. Source pages are depth 0. No limit when omitted.","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.maxDepth","typeLabel":"integer"},"followSubdomains":{"type":"boolean","default":false,"description":"Follow links to subdomains.","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.followSubdomains","typeLabel":"boolean"},"regex":{"type":"string","maxLength":256,"description":"Regex pattern for URLs to include. The `start_url` itself is always included.","example":"^https://example\\.com/docs/","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.regex","typeLabel":"string"},"excludeRegex":{"type":"string","maxLength":256,"description":"Regex pattern for URLs to exclude, even when they match `regex`. The `start_url` itself is always included.","example":"/tag/|/author/","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.excludeRegex","typeLabel":"string"},"languages":{"oneOf":[{"type":"string","description":"Only follow pages in these languages, or `same_as_start_url`; all languages when omitted.","enum":["same_as_start_url"],"example":"same_as_start_url","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.languages.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","enum":["am","ar","az","be","bg","bn","ca","ceb","cs","cy","da","de","el","en","es","et","eu","fa","fi","fr","gu","ha","haw","he","hi","hr","hu","hy","id","is","it","ja","ka","kk","kn","ko","ku","ky","lo","lt","lv","mk","ml","mn","mr","ms","ne","nl","no","or","pa","pl","ps","pt","ro","ru","sk","sl","so","sq","sr","sv","sw","ta","te","th","tl","tr","uk","ur","uz","vi","yo","zh"],"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.languages.oneOf.1.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Only follow pages in these languages, or `same_as_start_url`; all languages when omitted.","minItems":1,"example":"same_as_start_url","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.languages.oneOf.1","typeLabel":"enum\u003cstring>[]"}],"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls.languages","typeLabel":"enum\u003cstring> | enum\u003cstring>[]"}},"default":{"maxUrls":100,"followSubdomains":false},"additionalProperties":false,"description":"Limits and filters for page discovery.","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0.controls","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.0","typeLabel":"Start URL · object"},{"type":"object","title":"Sitemap","description":"Scrape the pages listed in a domain's sitemap. Links on those pages are not followed.","required":["type","domain"],"properties":{"type":{"type":"string","enum":["sitemap"],"description":"Scrape the URLs in the domain's sitemap.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"domain":{"type":"string","minLength":3,"description":"Domain whose sitemap lists the pages to scrape. A full URL is reduced to its domain.","example":"example.com","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1.domain","typeLabel":"string"},"controls":{"type":"object","properties":{"maxUrls":{"type":"integer","minimum":1,"maximum":100000,"default":100,"description":"Maximum pages to fetch. Unused reserved credits are refunded. Maximum 100000.","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1.controls.maxUrls","typeLabel":"integer"},"regex":{"type":"string","maxLength":256,"description":"Regex pattern; only sitemap URLs matching it are scraped.","example":"^https://example\\.com/docs/","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1.controls.regex","typeLabel":"string"},"excludeRegex":{"type":"string","maxLength":256,"description":"Regex pattern; sitemap URLs matching it are not scraped, even when they match `regex`.","example":"/tag/|/author/","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1.controls.excludeRegex","typeLabel":"string"}},"default":{"maxUrls":100},"additionalProperties":false,"description":"Limits and filters for the sitemap URLs. A sitemap batch scrapes exactly those URLs and never follows links off them, so there is no crawl depth here.","uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1.controls","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source.oneOf.1","typeLabel":"Sitemap · object"}],"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0.source","typeLabel":"Start URL · object | Sitemap · object"},"options":{"type":"object","properties":{"includeLinks":{"type":"boolean","default":true,"description":"Include links in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeLinks","typeLabel":"boolean"},"includeImages":{"type":"boolean","default":false,"description":"Include image references in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeImages","typeLabel":"boolean"},"shortenBase64Images":{"type":"boolean","default":true,"description":"Shorten inline base64 image data (`html-conversion` only).","uniqueKey":"input.oneOf.1.data.oneOf.0.options.shortenBase64Images","typeLabel":"boolean"},"useMainContentOnly":{"type":"boolean","default":false,"description":"Return the main content without navigation or footers.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.useMainContentOnly","typeLabel":"boolean"},"includeHTML":{"type":"boolean","default":false,"description":"Also return each page's HTML in `html`.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeHTML","typeLabel":"boolean"},"sourcePreference":{"type":"array","items":{"type":"string","enum":["html-conversion","markdown-direct"],"uniqueKey":"input.oneOf.1.data.oneOf.0.options.sourcePreference.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"default":["html-conversion","markdown-direct"],"uniqueItems":true,"description":"Markdown sources in order of preference: `html-conversion` converts the page HTML, `markdown-direct` uses Markdown the site publishes.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.sourcePreference","typeLabel":"enum\u003cstring>[]"},"pdf":{"type":"object","properties":{"shouldParse":{"type":"boolean","default":true,"description":"Parse PDF URLs. When false, PDFs fail with `PDF_SKIPPED`.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.pdf.shouldParse","typeLabel":"boolean"},"start":{"type":"integer","minimum":1,"description":"First 1-based PDF page to parse.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.pdf.start","typeLabel":"integer"},"end":{"type":"integer","minimum":1,"description":"Last PDF page to parse (1-based, inclusive). Defaults to the final page. Must be >= start.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.pdf.end","typeLabel":"integer"},"ocr":{"type":"boolean","default":false,"description":"Read scanned PDF pages with OCR; preserve pages that already have text.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.pdf.ocr","typeLabel":"boolean"}},"default":{"shouldParse":true,"ocr":false},"description":"PDF handling. `start`/`end` limit parsing to an inclusive, 1-based page range.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.pdf","typeLabel":"object"},"includeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.1.data.oneOf.0.options.includeSelectors","typeLabel":"string[] | null"},"excludeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.1.data.oneOf.0.options.excludeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.excludeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.excludeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.1.data.oneOf.0.options.excludeSelectors","typeLabel":"string[] | null"},"waitForMs":{"type":"integer","minimum":0,"maximum":15000,"description":"How long to wait after initial page load, in milliseconds. `0` waits 500 ms.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.waitForMs","typeLabel":"integer"},"settleAnimations":{"type":"boolean","default":false,"description":"Wait for CSS animations to finish before extracting, on browser-rendered pages.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.settleAnimations","typeLabel":"boolean"},"country":{"type":"string","enum":["ad","ae","af","ag","ai","al","am","ao","ar","at","au","aw","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","bq","br","bs","bw","by","bz","ca","cd","cf","cg","ch","ci","cl","cm","cn","co","cr","cv","cw","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","es","et","fi","fj","fr","ga","gb","gd","ge","gf","gg","gh","gm","gn","gp","gq","gr","gt","gu","gw","gy","hk","hn","hr","ht","hu","id","ie","il","im","in","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","kn","kr","kw","ky","kz","la","lb","lc","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mk","ml","mm","mn","mo","mq","mr","mt","mu","mv","mw","mx","my","mz","na","nc","ne","ng","ni","nl","no","np","nz","om","pa","pe","pf","pg","ph","pk","pl","pr","ps","pt","py","qa","re","ro","rs","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tg","th","tj","tl","tm","tn","tr","tt","tw","tz","ua","ug","us","uy","uz","vc","ve","vg","vi","vn","ye","yt","za","zm","zw"],"example":"de","description":"Fetch from this country (ISO 3166-1 alpha-2).","uniqueKey":"input.oneOf.1.data.oneOf.0.options.country","typeLabel":"enum\u003cstring>"},"maxAgeMs":{"oneOf":[{"type":"integer","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.maxAgeMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.1.data.oneOf.0.options.maxAgeMs.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.1.data.oneOf.0.options.maxAgeMs","typeLabel":"integer | null"}},"additionalProperties":false,"description":"Options for Markdown output.","uniqueKey":"input.oneOf.1.data.oneOf.0.options","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.0","typeLabel":"Markdown · object"},{"type":"object","title":"HTML","description":"Crawl pages and return HTML.","required":["format","source"],"deprecated":true,"x-stainless-skip":["php"],"properties":{"format":{"type":"string","enum":["html"],"description":"Return page content as HTML.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.format","typeLabel":"enum\u003cstring>"},"source":{"oneOf":[{"type":"object","title":"Start URL","description":"Discover pages by following links from one URL.","required":["type","url"],"properties":{"type":{"type":"string","enum":["start_url"],"description":"Start from one page.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","minLength":1,"description":"Page where crawling begins. A URL without a scheme is read as https://.","example":"https://example.com/docs","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.url","typeLabel":"string"},"controls":{"type":"object","properties":{"maxUrls":{"type":"integer","minimum":1,"maximum":100000,"default":100,"description":"Maximum pages to fetch. Unused reserved credits are refunded. Maximum 100000.","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.maxUrls","typeLabel":"integer"},"maxDepth":{"type":"integer","minimum":0,"maximum":50,"description":"Maximum link depth. Source pages are depth 0. No limit when omitted.","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.maxDepth","typeLabel":"integer"},"followSubdomains":{"type":"boolean","default":false,"description":"Follow links to subdomains.","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.followSubdomains","typeLabel":"boolean"},"regex":{"type":"string","maxLength":256,"description":"Regex pattern for URLs to include. The `start_url` itself is always included.","example":"^https://example\\.com/docs/","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.regex","typeLabel":"string"},"excludeRegex":{"type":"string","maxLength":256,"description":"Regex pattern for URLs to exclude, even when they match `regex`. The `start_url` itself is always included.","example":"/tag/|/author/","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.excludeRegex","typeLabel":"string"},"languages":{"oneOf":[{"type":"string","description":"Only follow pages in these languages, or `same_as_start_url`; all languages when omitted.","enum":["same_as_start_url"],"example":"same_as_start_url","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.languages.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","enum":["am","ar","az","be","bg","bn","ca","ceb","cs","cy","da","de","el","en","es","et","eu","fa","fi","fr","gu","ha","haw","he","hi","hr","hu","hy","id","is","it","ja","ka","kk","kn","ko","ku","ky","lo","lt","lv","mk","ml","mn","mr","ms","ne","nl","no","or","pa","pl","ps","pt","ro","ru","sk","sl","so","sq","sr","sv","sw","ta","te","th","tl","tr","uk","ur","uz","vi","yo","zh"],"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.languages.oneOf.1.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Only follow pages in these languages, or `same_as_start_url`; all languages when omitted.","minItems":1,"example":"same_as_start_url","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.languages.oneOf.1","typeLabel":"enum\u003cstring>[]"}],"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls.languages","typeLabel":"enum\u003cstring> | enum\u003cstring>[]"}},"default":{"maxUrls":100,"followSubdomains":false},"additionalProperties":false,"description":"Limits and filters for page discovery.","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0.controls","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.0","typeLabel":"Start URL · object"},{"type":"object","title":"Sitemap","description":"Scrape the pages listed in a domain's sitemap. Links on those pages are not followed.","required":["type","domain"],"properties":{"type":{"type":"string","enum":["sitemap"],"description":"Scrape the URLs in the domain's sitemap.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"domain":{"type":"string","minLength":3,"description":"Domain whose sitemap lists the pages to scrape. A full URL is reduced to its domain.","example":"example.com","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1.domain","typeLabel":"string"},"controls":{"type":"object","properties":{"maxUrls":{"type":"integer","minimum":1,"maximum":100000,"default":100,"description":"Maximum pages to fetch. Unused reserved credits are refunded. Maximum 100000.","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1.controls.maxUrls","typeLabel":"integer"},"regex":{"type":"string","maxLength":256,"description":"Regex pattern; only sitemap URLs matching it are scraped.","example":"^https://example\\.com/docs/","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1.controls.regex","typeLabel":"string"},"excludeRegex":{"type":"string","maxLength":256,"description":"Regex pattern; sitemap URLs matching it are not scraped, even when they match `regex`.","example":"/tag/|/author/","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1.controls.excludeRegex","typeLabel":"string"}},"default":{"maxUrls":100},"additionalProperties":false,"description":"Limits and filters for the sitemap URLs. A sitemap batch scrapes exactly those URLs and never follows links off them, so there is no crawl depth here.","uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1.controls","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source.oneOf.1","typeLabel":"Sitemap · object"}],"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1.source","typeLabel":"Start URL · object | Sitemap · object"},"options":{"type":"object","properties":{"useMainContentOnly":{"type":"boolean","default":false,"description":"Return the main content without navigation or footers.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.useMainContentOnly","typeLabel":"boolean"},"pdf":{"type":"object","properties":{"shouldParse":{"type":"boolean","default":true,"description":"Parse PDF URLs. When false, PDFs fail with `PDF_SKIPPED`.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.pdf.shouldParse","typeLabel":"boolean"},"start":{"type":"integer","minimum":1,"description":"First 1-based PDF page to parse.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.pdf.start","typeLabel":"integer"},"end":{"type":"integer","minimum":1,"description":"Last PDF page to parse (1-based, inclusive). Defaults to the final page. Must be >= start.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.pdf.end","typeLabel":"integer"},"ocr":{"type":"boolean","default":false,"description":"Read scanned PDF pages with OCR; preserve pages that already have text.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.pdf.ocr","typeLabel":"boolean"}},"default":{"shouldParse":true,"ocr":false},"description":"PDF handling. `start`/`end` limit parsing to an inclusive, 1-based page range.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.pdf","typeLabel":"object"},"includeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.1.data.oneOf.1.options.includeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.includeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Keep only elements matching these CSS selectors. Filtered pages ignore `maxAgeMs`.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.includeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.1.data.oneOf.1.options.includeSelectors","typeLabel":"string[] | null"},"excludeSelectors":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"uniqueKey":"input.oneOf.1.data.oneOf.1.options.excludeSelectors.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.excludeSelectors.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1,"maxLength":2048},"maxItems":50,"description":"Remove elements matching these CSS selectors. Applied after `includeSelectors`, so an element matching both is removed.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.excludeSelectors.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.1.data.oneOf.1.options.excludeSelectors","typeLabel":"string[] | null"},"waitForMs":{"type":"integer","minimum":0,"maximum":15000,"description":"How long to wait after initial page load, in milliseconds. `0` waits 500 ms.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.waitForMs","typeLabel":"integer"},"settleAnimations":{"type":"boolean","default":false,"description":"Wait for CSS animations to finish before extracting, on browser-rendered pages.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.settleAnimations","typeLabel":"boolean"},"country":{"type":"string","enum":["ad","ae","af","ag","ai","al","am","ao","ar","at","au","aw","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","bq","br","bs","bw","by","bz","ca","cd","cf","cg","ch","ci","cl","cm","cn","co","cr","cv","cw","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","es","et","fi","fj","fr","ga","gb","gd","ge","gf","gg","gh","gm","gn","gp","gq","gr","gt","gu","gw","gy","hk","hn","hr","ht","hu","id","ie","il","im","in","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","kn","kr","kw","ky","kz","la","lb","lc","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mf","mg","mk","ml","mm","mn","mo","mq","mr","mt","mu","mv","mw","mx","my","mz","na","nc","ne","ng","ni","nl","no","np","nz","om","pa","pe","pf","pg","ph","pk","pl","pr","ps","pt","py","qa","re","ro","rs","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sr","ss","st","sv","sx","sy","sz","tc","td","tg","th","tj","tl","tm","tn","tr","tt","tw","tz","ua","ug","us","uy","uz","vc","ve","vg","vi","vn","ye","yt","za","zm","zw"],"example":"de","description":"Fetch from this country (ISO 3166-1 alpha-2).","uniqueKey":"input.oneOf.1.data.oneOf.1.options.country","typeLabel":"enum\u003cstring>"},"maxAgeMs":{"oneOf":[{"type":"integer","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.maxAgeMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum cache age in milliseconds. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms). `0` fetches fresh.","uniqueKey":"input.oneOf.1.data.oneOf.1.options.maxAgeMs.oneOf.1","typeLabel":"null"}],"uniqueKey":"input.oneOf.1.data.oneOf.1.options.maxAgeMs","typeLabel":"integer | null"}},"default":{"useMainContentOnly":false,"pdf":{"shouldParse":true,"ocr":false},"settleAnimations":false,"maxAgeMs":259200000},"additionalProperties":false,"description":"Options for HTML output.","uniqueKey":"input.oneOf.1.data.oneOf.1.options","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.1","typeLabel":"HTML · object"},{"type":"object","title":"Crawl with Scrape Anything","description":"Use the same formats and parameters as POST /web/scrape, replacing url with source. Options apply to every page.","required":["source","formats"],"properties":{"source":{"oneOf":[{"type":"object","title":"Start URL","description":"Discover pages by following links from one URL.","required":["type","url"],"properties":{"type":{"type":"string","enum":["start_url"],"description":"Start from one page.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","minLength":1,"description":"Page where crawling begins. A URL without a scheme is read as https://.","example":"https://example.com/docs","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.url","typeLabel":"string"},"controls":{"type":"object","properties":{"maxUrls":{"type":"integer","minimum":1,"maximum":100000,"default":100,"description":"Maximum pages to fetch. Unused reserved credits are refunded. Maximum 100000.","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.maxUrls","typeLabel":"integer"},"maxDepth":{"type":"integer","minimum":0,"maximum":50,"description":"Maximum link depth. Source pages are depth 0. No limit when omitted.","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.maxDepth","typeLabel":"integer"},"followSubdomains":{"type":"boolean","default":false,"description":"Follow links to subdomains.","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.followSubdomains","typeLabel":"boolean"},"regex":{"type":"string","maxLength":256,"description":"Regex pattern for URLs to include. The `start_url` itself is always included.","example":"^https://example\\.com/docs/","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.regex","typeLabel":"string"},"excludeRegex":{"type":"string","maxLength":256,"description":"Regex pattern for URLs to exclude, even when they match `regex`. The `start_url` itself is always included.","example":"/tag/|/author/","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.excludeRegex","typeLabel":"string"},"languages":{"oneOf":[{"type":"string","description":"Only follow pages in these languages, or `same_as_start_url`; all languages when omitted.","enum":["same_as_start_url"],"example":"same_as_start_url","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.languages.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","enum":["am","ar","az","be","bg","bn","ca","ceb","cs","cy","da","de","el","en","es","et","eu","fa","fi","fr","gu","ha","haw","he","hi","hr","hu","hy","id","is","it","ja","ka","kk","kn","ko","ku","ky","lo","lt","lv","mk","ml","mn","mr","ms","ne","nl","no","or","pa","pl","ps","pt","ro","ru","sk","sl","so","sq","sr","sv","sw","ta","te","th","tl","tr","uk","ur","uz","vi","yo","zh"],"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.languages.oneOf.1.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Only follow pages in these languages, or `same_as_start_url`; all languages when omitted.","minItems":1,"example":"same_as_start_url","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.languages.oneOf.1","typeLabel":"enum\u003cstring>[]"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls.languages","typeLabel":"enum\u003cstring> | enum\u003cstring>[]"}},"default":{"maxUrls":100,"followSubdomains":false},"additionalProperties":false,"description":"Limits and filters for page discovery.","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0.controls","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.0","typeLabel":"Start URL · object"},{"type":"object","title":"Sitemap","description":"Scrape the pages listed in a domain's sitemap. Links on those pages are not followed.","required":["type","domain"],"properties":{"type":{"type":"string","enum":["sitemap"],"description":"Scrape the URLs in the domain's sitemap.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"domain":{"type":"string","minLength":3,"description":"Domain whose sitemap lists the pages to scrape. A full URL is reduced to its domain.","example":"example.com","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1.domain","typeLabel":"string"},"controls":{"type":"object","properties":{"maxUrls":{"type":"integer","minimum":1,"maximum":100000,"default":100,"description":"Maximum pages to fetch. Unused reserved credits are refunded. Maximum 100000.","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1.controls.maxUrls","typeLabel":"integer"},"regex":{"type":"string","maxLength":256,"description":"Regex pattern; only sitemap URLs matching it are scraped.","example":"^https://example\\.com/docs/","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1.controls.regex","typeLabel":"string"},"excludeRegex":{"type":"string","maxLength":256,"description":"Regex pattern; sitemap URLs matching it are not scraped, even when they match `regex`.","example":"/tag/|/author/","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1.controls.excludeRegex","typeLabel":"string"}},"default":{"maxUrls":100},"additionalProperties":false,"description":"Limits and filters for the sitemap URLs. A sitemap batch scrapes exactly those URLs and never follows links off them, so there is no crawl depth here.","uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1.controls","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source.oneOf.1","typeLabel":"Sitemap · object"}],"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.source","typeLabel":"Start URL · object | Sitemap · object"},"formats":{"type":"object","properties":{"html":{"type":"boolean","default":false,"description":"Rendered HTML.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.html","typeLabel":"boolean"},"markdown":{"type":"boolean","default":false,"description":"Page content as Markdown.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.markdown","typeLabel":"boolean"},"screenshot":{"type":"boolean","default":false,"description":"A screenshot of the page.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.screenshot","typeLabel":"boolean"},"images":{"type":"boolean","default":false,"description":"Images found on the page.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.images","typeLabel":"boolean"},"bytes":{"type":"boolean","default":false,"description":"The original HTTP response body.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.bytes","typeLabel":"boolean"},"parse":{"type":"boolean","default":false,"description":"Fields extracted with custom rules or a prebuilt parser, returned as `parsed`.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.parse","typeLabel":"boolean"},"product":{"type":"boolean","default":false,"description":"Product details such as name, price, and availability.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.product","typeLabel":"boolean"},"highlights":{"type":"boolean","default":false,"description":"Markdown excerpts relevant to `highlightsParams.query`.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.highlights","typeLabel":"boolean"},"json":{"type":"boolean","default":false,"description":"An object matching `jsonParams.schema`, extracted from the page.","uniqueKey":"input.oneOf.1.data.oneOf.2.formats.json","typeLabel":"boolean"}},"additionalProperties":false,"description":"Outputs to return. Set at least one to `true`.","not":{"allOf":[{"not":{"required":["html"],"properties":{"html":{"const":true}}}},{"not":{"required":["markdown"],"properties":{"markdown":{"const":true}}}},{"not":{"required":["screenshot"],"properties":{"screenshot":{"const":true}}}},{"not":{"required":["images"],"properties":{"images":{"const":true}}}},{"not":{"required":["bytes"],"properties":{"bytes":{"const":true}}}},{"not":{"required":["parse"],"properties":{"parse":{"const":true}}}},{"not":{"required":["product"],"properties":{"product":{"const":true}}}},{"not":{"required":["highlights"],"properties":{"highlights":{"const":true}}}},{"not":{"required":["json"],"properties":{"json":{"const":true}}}}]},"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.formats","typeLabel":"object"},"sharedParams":{"type":"object","properties":{"profile":{"oneOf":[{"type":"object","description":"Create or reuse an authenticated browser profile. Requires a paid plan and an HTTPS target. Profiles persist session state, bypass shared caches, and cannot be combined with ZDR, custom headers, raw bytes, Google Maps, app store, Instagram, or G2 parsers. The emails, phone-numbers, and links parsers support profiles.","required":["type","profileId"],"x-stainless-variantName":"Existing","properties":{"type":{"type":"string","enum":["existing"],"const":"existing","description":"Reuse a saved browser profile.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.0.type","typeLabel":"enum\u003cstring>"},"profileId":{"type":"string","pattern":"^prof_[a-f0-9]{32}$","description":"The ID returned in profile.id by an earlier scrape.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.0.profileId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.0","typeLabel":"object"},{"type":"object","description":"Create or reuse an authenticated browser profile. Requires a paid plan and an HTTPS target. Profiles persist session state, bypass shared caches, and cannot be combined with ZDR, custom headers, raw bytes, Google Maps, app store, Instagram, or G2 parsers. The emails, phone-numbers, and links parsers support profiles.","required":["type","identifier","password"],"x-stainless-variantName":"New","properties":{"type":{"type":"string","enum":["new"],"const":"new","description":"Sign in and create a browser profile.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.1.type","typeLabel":"enum\u003cstring>"},"identifier":{"type":"string","minLength":1,"maxLength":1024,"description":"Username or email for the target website.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.1.identifier","typeLabel":"string"},"password":{"type":"string","minLength":1,"maxLength":4096,"description":"Password used to sign in. It is never stored in the profile.","writeOnly":true,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.1.password","typeLabel":"string"},"description":{"type":"string","minLength":1,"maxLength":500,"description":"Optional label shown when listing profiles with `GET /org/browser/profiles`.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.1.description","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile.oneOf.1","typeLabel":"object"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.profile","typeLabel":"object"},"country":{"type":"string","description":"Proxy country as a two-letter code, such as `US`. Case-insensitive.","pattern":"^[A-Za-z]{2}$","examples":["US"],"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.country","typeLabel":"string"},"headers":{"type":"object","additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[^\\r\\n]*$","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.headers.additionalProperties","typeLabel":"string"},"examples":[{"Accept-Language":"en-US"}],"propertyNames":{"pattern":"^[!#$%\u0026'*+.^_`|~0-9A-Za-z-]+$","not":{"pattern":"^(?:[Hh][Oo][Ss][Tt]|[Cc][Oo][Nn][Tt][Ee][Nn][Tt]-[Ll][Ee][Nn][Gg][Tt][Hh]|[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii][Oo][Nn]|[Kk][Ee][Ee][Pp]-[Aa][Ll][Ii][Vv][Ee]|[Tt][Rr][Aa][Nn][Ss][Ff][Ee][Rr]-[Ee][Nn][Cc][Oo][Dd][Ii][Nn][Gg]|[Uu][Pp][Gg][Rr][Aa][Dd][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Ee][Nn][Tt][Ii][Cc][Aa][Tt][Ee]|[Pp][Rr][Oo][Xx][Yy]-[Aa][Uu][Tt][Hh][Oo][Rr][Ii][Zz][Aa][Tt][Ii][Oo][Nn]|[Pp][Rr][Oo][Xx][Yy]-[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii][Oo][Nn]|[Tt][Ee]|[Tt][Rr][Aa][Ii][Ll][Ee][Rr]|[Ee][Xx][Pp][Ee][Cc][Tt])$"}},"description":"HTTP headers to send to the target site. Requests with headers skip the cache.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.headers","typeLabel":"object"},"viewport":{"type":"object","properties":{"width":{"type":"integer","minimum":240,"maximum":7680,"default":1440,"description":"Browser viewport width in pixels.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.viewport.width","typeLabel":"integer"},"height":{"type":"integer","minimum":240,"maximum":4320,"default":900,"description":"Browser viewport height in pixels.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.viewport.height","typeLabel":"integer"}},"additionalProperties":false,"description":"Browser size in pixels. Omit for 1920 × 1080. When provided, missing dimensions default to 1440 × 900.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.viewport","typeLabel":"object"},"theme":{"type":"string","enum":["light","dark"],"description":"Emulate a light or dark color scheme.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.theme","typeLabel":"enum\u003cstring>"},"dismissCookies":{"type":"boolean","default":true,"description":"Accept cookie banners before actions and capture.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.dismissCookies","typeLabel":"boolean"},"dismissPopups":{"type":"boolean","default":false,"description":"Close other popups before actions and capture.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.dismissPopups","typeLabel":"boolean"},"actions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Browser action","required":["type","action"],"x-stainless-variantName":"Perform","properties":{"type":{"type":"string","enum":["perform"],"description":"Use `perform` for a plain-language browser instruction.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"action":{"type":"string","minLength":1,"maxLength":500,"description":"One browser instruction, such as clicking a button or entering text.","examples":["Click the product details tab"],"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.0.action","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.0","typeLabel":"Browser action · object"},{"type":"object","title":"Browser action","required":["type"],"x-stainless-variantName":"Scroll","properties":{"type":{"type":"string","enum":["scroll"],"description":"Use `scroll` to move through the page or a container.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"direction":{"type":"string","enum":["down","up","left","right"],"default":"down","description":"Direction to scroll.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.direction","typeLabel":"enum\u003cstring>"},"amount":{"oneOf":[{"type":"integer","description":"Distance per scroll: pixels, one `viewport`, or `max` to reach the end.","default":"viewport","maximum":100000,"minimum":1,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.amount.oneOf.0","typeLabel":"integer"},{"type":"string","description":"Distance per scroll: pixels, one `viewport`, or `max` to reach the end.","default":"viewport","enum":["viewport","max"],"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.amount.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.amount","typeLabel":"integer | enum\u003cstring>"},"selector":{"type":"string","minLength":1,"maxLength":2000,"pattern":"\\S","description":"Scroll this container. Omit to scroll the page.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.selector","typeLabel":"string"},"maxScrolls":{"type":"integer","minimum":1,"maximum":50,"default":1,"description":"Maximum number of scroll steps for this action.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1.maxScrolls","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.1","typeLabel":"Browser action · object"},{"type":"object","title":"Browser action","required":["type","milliseconds"],"x-stainless-variantName":"Wait","properties":{"type":{"type":"string","enum":["wait"],"description":"Use `wait` to pause for a fixed duration.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"milliseconds":{"type":"integer","minimum":0,"maximum":30000,"description":"Time to pause in milliseconds before the next action.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.2.milliseconds","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.2","typeLabel":"Browser action · object"},{"type":"object","title":"Browser action","required":["type","selector"],"x-stainless-variantName":"WaitFor","properties":{"type":{"type":"string","enum":["waitFor"],"description":"Use `waitFor` to wait for a matching element.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"selector":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","description":"CSS selector to wait for before continuing.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.3.selector","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX].oneOf.3","typeLabel":"Browser action · object"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions.items.[INDEX]","typeLabel":"Browser action · object"},"minItems":1,"maxItems":5,"description":"Browser steps run in order before capture. Requires a paid plan. Skips the cache.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.actions","typeLabel":"Browser action · object[]"},"waitFor":{"oneOf":[{"type":"integer","description":"Milliseconds, or a CSS selector to wait for, after actions. Defaults to 500 (2000 with frames or XML).","maximum":30000,"minimum":0,"example":500,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.waitFor.oneOf.0","typeLabel":"integer"},{"type":"string","description":"Milliseconds, or a CSS selector to wait for, after actions. Defaults to 500 (2000 with frames or XML).","maxLength":2048,"minLength":1,"pattern":"\\S","example":500,"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.waitFor.oneOf.1","typeLabel":"string"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.waitFor","typeLabel":"integer | string"},"settleAnimations":{"type":"boolean","description":"Wait for CSS animations to finish before capture. Defaults to `true` when `screenshot` is requested.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.settleAnimations","typeLabel":"boolean"},"mainContentOnly":{"type":"boolean","default":false,"description":"Keep only the main content. Doesn't affect `screenshot`, `bytes`, or `product`.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.mainContentOnly","typeLabel":"boolean"},"includeSelectors":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.includeSelectors.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueItems":true,"description":"Keep only elements matching these CSS selectors.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.includeSelectors","typeLabel":"string[]"},"excludeSelectors":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.excludeSelectors.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueItems":true,"description":"Remove elements matching these CSS selectors. Overrides `includeSelectors`.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.excludeSelectors","typeLabel":"string[]"},"includeFrames":{"type":"boolean","default":false,"description":"Include iframe content in HTML and text outputs. Screenshots always show visible frames.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.includeFrames","typeLabel":"boolean"},"parsers":{"type":"object","properties":{"pdf":{"type":"object","properties":{"startPage":{"type":"integer","minimum":1,"description":"First page to parse, starting at 1.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.parsers.pdf.startPage","typeLabel":"integer"},"endPage":{"type":"integer","minimum":1,"description":"Last page to parse. Must be at least `startPage`.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.parsers.pdf.endPage","typeLabel":"integer"},"ocr":{"type":"string","enum":["off","auto"],"default":"off","description":"Set `auto` to read scanned pages with OCR.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.parsers.pdf.ocr","typeLabel":"enum\u003cstring>"},"includeNumberedPages":{"type":"boolean","default":false,"description":"Start each page in the Markdown with a `\u003c!-- page N -->` line using its original 1-based page number; these responses are never served from cache.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.parsers.pdf.includeNumberedPages","typeLabel":"boolean"}},"additionalProperties":false,"description":"PDF page range and OCR.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.parsers.pdf","typeLabel":"object"}},"additionalProperties":false,"description":"Document parsing options.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams.parsers","typeLabel":"object"}},"additionalProperties":false,"description":"Browser and content settings shared by all outputs.","uniqueKey":"input.oneOf.1.data.oneOf.2.sharedParams","typeLabel":"object"},"markdownParams":{"type":"object","properties":{"includeLinks":{"type":"boolean","default":true,"description":"Keep link URLs in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.1.data.oneOf.2.markdownParams.includeLinks","typeLabel":"boolean"},"includeImages":{"type":"boolean","default":false,"description":"Include images in the Markdown (`html-conversion` only).","uniqueKey":"input.oneOf.1.data.oneOf.2.markdownParams.includeImages","typeLabel":"boolean"},"inlineImages":{"type":"string","enum":["placeholder","preserve"],"default":"placeholder","description":"How base64 images appear when `includeImages` is set (`html-conversion` only).","uniqueKey":"input.oneOf.1.data.oneOf.2.markdownParams.inlineImages","typeLabel":"enum\u003cstring>"},"sourcePreference":{"type":"array","items":{"type":"string","enum":["html-conversion","markdown-direct"],"uniqueKey":"input.oneOf.1.data.oneOf.2.markdownParams.sourcePreference.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"default":["html-conversion","markdown-direct"],"uniqueItems":true,"description":"Markdown sources in order of preference: `html-conversion` converts the page HTML, `markdown-direct` uses Markdown the site publishes.","uniqueKey":"input.oneOf.1.data.oneOf.2.markdownParams.sourcePreference","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"description":"Markdown options. Requires `formats.markdown`.","uniqueKey":"input.oneOf.1.data.oneOf.2.markdownParams","typeLabel":"object"},"screenshotParams":{"type":"object","properties":{"area":{"oneOf":[{"type":"string","description":"What to capture: `viewport`, `fullPage`, one element, or a rectangle. Max 40 megapixels.","default":"viewport","enum":["viewport","fullPage"],"x-stainless-variantName":"Page","uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"object","description":"What to capture: `viewport`, `fullPage`, one element, or a rectangle. Max 40 megapixels.","default":"viewport","required":["selector"],"x-stainless-variantName":"Element","properties":{"selector":{"type":"string","minLength":1,"maxLength":2048,"pattern":"\\S","description":"CSS selector matching exactly one visible element.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.1.selector","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to capture: `viewport`, `fullPage`, one element, or a rectangle. Max 40 megapixels.","default":"viewport","required":["x","y","width","height"],"x-stainless-variantName":"Rectangle","properties":{"x":{"type":"integer","minimum":0,"maximum":100000,"description":"Left edge of the capture, in pixels from the document origin.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.2.x","typeLabel":"integer"},"y":{"type":"integer","minimum":0,"maximum":100000,"description":"Top edge of the capture, in pixels from the document origin.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.2.y","typeLabel":"integer"},"width":{"type":"integer","minimum":1,"maximum":7680,"description":"Width of the capture in pixels.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.2.width","typeLabel":"integer"},"height":{"type":"integer","minimum":1,"maximum":100000,"description":"Height of the capture in pixels.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.2.height","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area.oneOf.2","typeLabel":"object"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.area","typeLabel":"enum\u003cstring> · object · object"},"format":{"type":"string","enum":["png","jpeg","webp"],"default":"png","description":"Image format for the screenshot.","uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams.format","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"description":"Screenshot options. Requires formats.screenshot: true.","uniqueKey":"input.oneOf.1.data.oneOf.2.screenshotParams","typeLabel":"object"},"imageParams":{"type":"object","properties":{"enrich":{"type":"array","items":{"type":"string","enum":["dimensions","classification","file"],"uniqueKey":"input.oneOf.1.data.oneOf.2.imageParams.enrich.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":3,"uniqueItems":true,"description":"Extra data per image: `dimensions`, `classification`, or a hosted `file` URL.","uniqueKey":"input.oneOf.1.data.oneOf.2.imageParams.enrich","typeLabel":"enum\u003cstring>[]"},"dedupe":{"type":"string","enum":["none","visual"],"default":"none","description":"Set `visual` to drop visual duplicates, keeping the largest copy.","uniqueKey":"input.oneOf.1.data.oneOf.2.imageParams.dedupe","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"description":"Image options. Requires formats.images: true.","uniqueKey":"input.oneOf.1.data.oneOf.2.imageParams","typeLabel":"object"},"parseParams":{"oneOf":[{"type":"object","description":"Requires `formats.parse: true`; required when it is set.","required":["rules"],"x-stainless-variantName":"CustomParser","properties":{"rules":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","maxLength":2048,"minLength":1,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","required":["selector"],"properties":{"selector":{"type":"string","minLength":1,"maxLength":2048,"description":"CSS selector to match within the current page or parent rule.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.selector","typeLabel":"string"},"type":{"type":"string","enum":["item","list"],"description":"Return the first match with `item` or all matches with `list`.","uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"output":{"oneOf":[{"type":"string","description":"Return text, HTML, an attribute such as `@href`, or nested field rules. Defaults to text.","enum":["text","html"],"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Return text, HTML, an attribute such as `@href`, or nested field rules. Defaults to text.","pattern":"^@.*$","uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output.oneOf.1","typeLabel":"string"},{"description":"Return text, HTML, an attribute such as `@href`, or nested field rules. Defaults to text.","uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output.oneOf.2","typeLabel":"any"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1.output","typeLabel":"enum\u003cstring> | string | any"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules.additionalProperties","typeLabel":"string | object"},"description":"Field names mapped to CSS selectors (`h1`, `a@href`) or rule objects. Max 100 fields, 5 levels.","minProperties":1,"examples":[{"title":"h1","links":{"selector":"a","type":"list","output":"@href"}}],"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.rules","typeLabel":"object"},"type":{"type":"string","enum":["custom"],"default":"custom","const":"custom","description":"Extract fields using custom CSS rules. This is the default when type is omitted.","uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.0","typeLabel":"object"},{"type":"object","description":"Requires `formats.parse: true`; required when it is set.","required":["type","parser"],"x-stainless-variantName":"PrebuiltParser","properties":{"type":{"type":"string","enum":["prebuilt"],"const":"prebuilt","description":"Use a prebuilt parser instead of custom rules.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.1.type","typeLabel":"enum\u003cstring>"},"parser":{"type":"string","enum":["google-maps","google-maps-reviews","google-play","google-play-reviews","app-store","app-store-reviews","g2-reviews","instagram-profile","instagram-post","instagram-feed","tiktok-profile","tiktok-video","tiktok-feed","tiktok-comments","tiktok-followers","tiktok-following","tiktok-user-search","reddit-post","reddit-search","reddit-subreddit","reddit-user","yelp-search","yelp-reviews","emails","phone-numbers","links"],"description":"The prebuilt parser to use. See https://docs.context.dev/scrape/prebuilt-parsers for supported sources, request options, and output schemas.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.1.parser","typeLabel":"enum\u003cstring>"},"sort":{"type":"string","enum":["newest","oldest","relevant","highest","lowest"],"default":"newest","description":"google-maps-reviews only. Order of data.reviews. newest, relevant, highest, and lowest follow Google; oldest returns the earliest reviews first, which Google itself does not offer.","uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.1.sort","typeLabel":"enum\u003cstring>"},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100,"description":"google-maps-reviews and reddit parsers only. Maximum number of reviews (google-maps-reviews, default 100), comments (reddit-post, default 100), or results (reddit-search, reddit-subreddit, and reddit-user, default 100) to return; maximum 1000.","uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.1.limit","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams.oneOf.1","typeLabel":"object"}],"uniqueKey":"input.oneOf.1.data.oneOf.2.parseParams","typeLabel":"object"},"productParams":{"type":"object","properties":{"dedupeImages":{"type":"boolean","default":false,"description":"Drop visually duplicate product images, keeping the largest copy.","uniqueKey":"input.oneOf.1.data.oneOf.2.productParams.dedupeImages","typeLabel":"boolean"},"useAIFallback":{"type":"boolean","deprecated":true,"description":"Ignored. The AI fallback runs automatically.","uniqueKey":"input.oneOf.1.data.oneOf.2.productParams.useAIFallback","typeLabel":"boolean"}},"additionalProperties":false,"description":"Product options. Requires formats.product: true.","uniqueKey":"input.oneOf.1.data.oneOf.2.productParams","typeLabel":"object"},"highlightsParams":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":2000,"description":"The question or topic to find passages for.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.highlightsParams.query","typeLabel":"string"},"maxCharacters":{"type":"integer","minimum":100,"maximum":20000,"default":4000,"description":"Maximum combined length of returned passages.","uniqueKey":"input.oneOf.1.data.oneOf.2.highlightsParams.maxCharacters","typeLabel":"integer"}},"required":["query"],"additionalProperties":false,"description":"Requires `formats.highlights: true`; required when it is set.","uniqueKey":"input.oneOf.1.data.oneOf.2.highlightsParams","typeLabel":"object"},"jsonParams":{"type":"object","properties":{"schema":{"type":"object","additionalProperties":true,"description":"JSON Schema (not an example object) for a top-level object, up to 50 KB. Use optional or nullable fields for missing facts.","example":{"type":"object","properties":{"name":{"type":"string","description":"Product name."},"price":{"type":"number","description":"Current price as a plain number."},"inStock":{"type":"boolean"}},"required":["name"],"additionalProperties":false},"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.jsonParams.schema","typeLabel":"object"},"instructions":{"type":"string","maxLength":2000,"description":"Extra guidance, such as which facts to prefer or how to read a field.","uniqueKey":"input.oneOf.1.data.oneOf.2.jsonParams.instructions","typeLabel":"string"}},"required":["schema"],"additionalProperties":false,"description":"Requires `formats.json: true`; required when it is set.","uniqueKey":"input.oneOf.1.data.oneOf.2.jsonParams","typeLabel":"object"},"maxAgeMs":{"type":"integer","minimum":0,"maximum":31536000000,"default":259200000,"description":"Maximum age of a cached output, in milliseconds. `0` fetches fresh. Defaults to 3 days (259200000 ms). Maximum: 1 year (31536000000 ms).","uniqueKey":"input.oneOf.1.data.oneOf.2.maxAgeMs","typeLabel":"integer"},"zdr":{"type":"string","enum":["disabled"],"default":"disabled","description":"Batches persist their results. Only disabled is supported; enabled returns ZDR_NOT_SUPPORTED.","uniqueKey":"input.oneOf.1.data.oneOf.2.zdr","typeLabel":"enum\u003cstring>"},"timeoutOpts":{"type":"object","properties":{"milliseconds":{"type":"integer","minimum":1,"maximum":300000,"description":"Deadline in milliseconds.","isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2.timeoutOpts.milliseconds","typeLabel":"integer"},"behavior":{"type":"string","enum":["fail","return-partial"],"default":"fail","description":"\"fail\" returns 408 at the deadline. \"return-partial\" returns available results; inspect the response’s partial flag. \"return-partial\" requires at least 5000 ms.","uniqueKey":"input.oneOf.1.data.oneOf.2.timeoutOpts.behavior","typeLabel":"enum\u003cstring>"}},"required":["milliseconds"],"additionalProperties":false,"description":"Deadline for each page, using the same behavior and defaults as POST /web/scrape.","uniqueKey":"input.oneOf.1.data.oneOf.2.timeoutOpts","typeLabel":"object"},"tags":{"type":"array","items":{"type":"string","minLength":1,"maxLength":50,"uniqueKey":"input.oneOf.1.data.oneOf.2.tags.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"Labels for filtering usage in the dashboard.","example":["production","team-alpha"],"uniqueKey":"input.oneOf.1.data.oneOf.2.tags","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1.data.oneOf.2","typeLabel":"Crawl with Scrape Anything · object"}],"isRequired":true,"uniqueKey":"input.oneOf.1.data","typeLabel":"Markdown · object | HTML · object | Crawl with Scrape Anything · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"input.oneOf.1","typeLabel":"Crawl · object"}],"isRequired":true,"uniqueKey":"input","typeLabel":"Scrape · object | Crawl · object"},"webhookUrl":{"type":"string","format":"uri","description":"Legacy URL notified when the batch finishes. Preserves one best-effort attempt. Cannot be combined with webhook.","uniqueKey":"webhookUrl","typeLabel":"string\u003curi>"},"webhook":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public HTTP(S) URL that receives batch completion, failure, or cancellation events.","isRequired":true,"uniqueKey":"webhook.url","typeLabel":"string\u003curi>"},"retry":{"type":"object","properties":{"delays_seconds":{"type":"array","items":{"type":"integer","minimum":1,"maximum":86400,"uniqueKey":"webhook.retry.delays_seconds.items.[INDEX]","typeLabel":"integer"},"maxItems":10,"description":"Retry delays in seconds, totaling at most 72 hours. Use [] to disable automatic retries.","example":[30,300,3600],"uniqueKey":"webhook.retry.delays_seconds","typeLabel":"integer[]"}},"additionalProperties":false,"description":"Webhook retry settings. Use {} for the default schedule.","example":{"delays_seconds":[10,60,300,1800,7200,21600,57600]},"uniqueKey":"webhook.retry","typeLabel":"object"}},"required":["url"],"additionalProperties":false,"description":"Where to send the batch's final-status event. Omit `retry` for one attempt; `{}` uses the default retry schedule.","uniqueKey":"webhook","typeLabel":"object"},"tags":{"type":"array","items":{"type":"string","minLength":1,"maxLength":50,"uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"maxItems":20,"description":"Tags stored on the batch. Filter the batch list by them later.","example":["docs","competitor"],"uniqueKey":"tags","typeLabel":"string[]"},"policies":{"type":"array","items":{"type":"string","uniqueKey":"policies.items.[INDEX]","typeLabel":"string"},"description":"Access policy IDs to apply to every page. A URL must pass every policy.","example":["pol_3f9c2a7e5b8d4c1f9a6e0b2d7c4f8a1e"],"uniqueKey":"policies","typeLabel":"string[]"}},"required":["input"],"additionalProperties":false,"title":"Submit batch request","description":"Create an asynchronous scraping job.","uniqueKey":"","typeLabel":"Submit batch request · object"},"examples":{"scrapeAnything":{"title":"scrapeAnything","value":{"input":{"mode":"scrape","data":{"urls":[{"url":"https://example.com/products/anvil","itemId":"sku-1","meta":{"category":"tools"}},{"url":"https://example.com/products/hammer","itemId":"sku-2"}],"formats":{"markdown":true,"html":true},"sharedParams":{"mainContentOnly":true}}}}},"scrapeScreenshots":{"title":"scrapeScreenshots","value":{"input":{"mode":"scrape","data":{"urls":[{"url":"https://example.com"},{"url":"https://example.com/pricing"}],"formats":{"screenshot":true,"images":true},"screenshotParams":{"area":"fullPage","format":"png"}}}}},"scrapeJson":{"title":"scrapeJson","value":{"input":{"mode":"scrape","data":{"urls":[{"url":"https://example.com/products/anvil"}],"formats":{"json":true},"jsonParams":{"schema":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":["number","null"]}},"required":["name"],"additionalProperties":false}}}}}},"crawlAnything":{"title":"crawlAnything","value":{"input":{"mode":"crawl","data":{"source":{"type":"start_url","url":"https://example.com/docs","controls":{"maxUrls":500,"maxDepth":3}},"formats":{"markdown":true,"html":true},"sharedParams":{"mainContentOnly":true}}}}},"crawlSitemapAnything":{"title":"crawlSitemapAnything","value":{"input":{"mode":"crawl","data":{"source":{"type":"sitemap","domain":"example.com","controls":{"maxUrls":250}},"formats":{"markdown":true,"images":true}}}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"8ee8befa-a1aa-4851-a127-413100180e92":{"description":"Batch accepted. Read progress and results from `GET /batch/{batch_id}`.","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"content":{"application/json":{"schema":{"type":"object","title":"Accepted batch","required":["request_id","id","status","mode","tags","crawl","input","credits","created_at","invalid_urls","cache_metadata","formats"],"properties":{"id":{"type":"string","example":"batch_9f2c8a","description":"Batch ID. Poll GET /batch/{batch_id} with it.","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"status":{"type":"string","enum":["queued"],"description":"Always `queued`. An accepted batch has not started yet.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"mode":{"type":"string","enum":["scrape","crawl"],"description":"How pages will be selected.","isRequired":true,"uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"description":"Tags stored on the batch.","example":["docs"],"isRequired":true,"uniqueKey":"tags","typeLabel":"string[]"},"crawl":{"oneOf":[{"type":"object","title":"Crawl controls","description":"How the crawl was configured. Null for scrape batches.","required":["source","max_pages","max_depth","follow_subdomains","url_pattern","exclude_url_pattern","languages"],"x-stainless-model":"batch.crawl_controls","properties":{"source":{"oneOf":[{"type":"object","title":"Start URL","description":"Where the crawl started.","required":["type","url"],"properties":{"type":{"type":"string","enum":["start_url"],"isRequired":true,"uniqueKey":"crawl.oneOf.0.source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","example":"https://example.com/docs","description":"Page the crawl started from.","isRequired":true,"uniqueKey":"crawl.oneOf.0.source.oneOf.0.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"crawl.oneOf.0.source.oneOf.0","typeLabel":"Start URL · object"},{"type":"object","title":"Sitemap","description":"Where the crawl started.","required":["type","domain"],"properties":{"type":{"type":"string","enum":["sitemap"],"isRequired":true,"uniqueKey":"crawl.oneOf.0.source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"domain":{"type":"string","example":"example.com","description":"Domain whose sitemap supplied the pages.","isRequired":true,"uniqueKey":"crawl.oneOf.0.source.oneOf.1.domain","typeLabel":"string"}},"isRequired":true,"uniqueKey":"crawl.oneOf.0.source.oneOf.1","typeLabel":"Sitemap · object"}],"isRequired":true,"uniqueKey":"crawl.oneOf.0.source","typeLabel":"Start URL · object | Sitemap · object"},"max_pages":{"type":"integer","example":500,"description":"The `maxUrls` submitted with the crawl. A sitemap crawl scrapes only the URLs its sitemap actually lists, up to this many, so `input.reserved` is often lower.","isRequired":true,"uniqueKey":"crawl.oneOf.0.max_pages","typeLabel":"integer"},"max_depth":{"oneOf":[{"type":"integer","example":0,"description":"Link depth limit. Always 0 for a sitemap crawl, which never follows links off its URLs; null when a `start_url` crawl set no limit.","isRequired":true,"uniqueKey":"crawl.oneOf.0.max_depth.oneOf.0","typeLabel":"integer"},{"type":"null","example":0,"description":"Link depth limit. Always 0 for a sitemap crawl, which never follows links off its URLs; null when a `start_url` crawl set no limit.","isRequired":true,"uniqueKey":"crawl.oneOf.0.max_depth.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"crawl.oneOf.0.max_depth","typeLabel":"integer | null"},"follow_subdomains":{"type":"boolean","description":"Whether links to subdomains were followed. Always false for a sitemap crawl.","isRequired":true,"uniqueKey":"crawl.oneOf.0.follow_subdomains","typeLabel":"boolean"},"url_pattern":{"oneOf":[{"type":"string","example":"^https://example\\.com/docs/","description":"Regex pattern URLs had to match to be crawled. Null when the crawl set none.","isRequired":true,"uniqueKey":"crawl.oneOf.0.url_pattern.oneOf.0","typeLabel":"string"},{"type":"null","example":"^https://example\\.com/docs/","description":"Regex pattern URLs had to match to be crawled. Null when the crawl set none.","isRequired":true,"uniqueKey":"crawl.oneOf.0.url_pattern.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"crawl.oneOf.0.url_pattern","typeLabel":"string | null"},"exclude_url_pattern":{"oneOf":[{"type":"string","example":"/tag/|/author/","description":"Regex pattern URLs must not match to be crawled. Null when the crawl set none.","isRequired":true,"uniqueKey":"crawl.oneOf.0.exclude_url_pattern.oneOf.0","typeLabel":"string"},{"type":"null","example":"/tag/|/author/","description":"Regex pattern URLs must not match to be crawled. Null when the crawl set none.","isRequired":true,"uniqueKey":"crawl.oneOf.0.exclude_url_pattern.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"crawl.oneOf.0.exclude_url_pattern","typeLabel":"string | null"},"languages":{"oneOf":[{"type":"string","description":"Languages whose pages were followed; null when all languages were.","enum":["same_as_start_url"],"example":"same_as_start_url","isRequired":true,"uniqueKey":"crawl.oneOf.0.languages.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"type":"string","enum":["am","ar","az","be","bg","bn","ca","ceb","cs","cy","da","de","el","en","es","et","eu","fa","fi","fr","gu","ha","haw","he","hi","hr","hu","hy","id","is","it","ja","ka","kk","kn","ko","ku","ky","lo","lt","lv","mk","ml","mn","mr","ms","ne","nl","no","or","pa","pl","ps","pt","ro","ru","sk","sl","so","sq","sr","sv","sw","ta","te","th","tl","tr","uk","ur","uz","vi","yo","zh"],"uniqueKey":"crawl.oneOf.0.languages.oneOf.1.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Languages whose pages were followed; null when all languages were.","minItems":1,"example":"same_as_start_url","isRequired":true,"uniqueKey":"crawl.oneOf.0.languages.oneOf.1","typeLabel":"enum\u003cstring>[]"},{"type":"null","description":"Languages whose pages were followed; null when all languages were.","example":"same_as_start_url","isRequired":true,"uniqueKey":"crawl.oneOf.0.languages.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"crawl.oneOf.0.languages","typeLabel":"enum\u003cstring> | enum\u003cstring>[] | null"}},"isRequired":true,"uniqueKey":"crawl.oneOf.0","typeLabel":"Crawl controls · object"},{"type":"null","description":"How the crawl was configured. Null for scrape batches.","isRequired":true,"uniqueKey":"crawl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"crawl","typeLabel":"Crawl controls · object | null"},"input":{"type":"object","properties":{"reserved":{"type":"integer","example":24817,"description":"Pages accepted; progress counts toward this total.","isRequired":true,"uniqueKey":"input.reserved","typeLabel":"integer"},"reserved_is_ceiling":{"type":"boolean","example":false,"description":"True when `reserved` is a crawl ceiling; false when it is an exact URL count.","isRequired":true,"uniqueKey":"input.reserved_is_ceiling","typeLabel":"boolean"},"submitted":{"oneOf":[{"type":"integer","example":25000,"description":"URLs in the list you sent, before validation and de-duplication. Null for a crawl, which is given a source rather than a list.","isRequired":true,"uniqueKey":"input.submitted.oneOf.0","typeLabel":"integer"},{"type":"null","example":25000,"description":"URLs in the list you sent, before validation and de-duplication. Null for a crawl, which is given a source rather than a list.","isRequired":true,"uniqueKey":"input.submitted.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"input.submitted","typeLabel":"integer | null"},"duplicates":{"type":"integer","example":183,"description":"URLs dropped before reserving because another entry resolved to the same page. Non-zero for sitemap crawls too, whose sitemaps routinely list a page more than once.","isRequired":true,"uniqueKey":"input.duplicates","typeLabel":"integer"},"invalid":{"oneOf":[{"type":"integer","example":0,"description":"Rejected input URLs; `null` for a crawl.","isRequired":true,"uniqueKey":"input.invalid.oneOf.0","typeLabel":"integer"},{"type":"null","example":0,"description":"Rejected input URLs; `null` for a crawl.","isRequired":true,"uniqueKey":"input.invalid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"input.invalid","typeLabel":"integer | null"}},"required":["reserved","reserved_is_ceiling","submitted","duplicates","invalid"],"x-stainless-model":"batch.intake","description":"What the submission accepted.","isRequired":true,"uniqueKey":"input","typeLabel":"object"},"credits":{"type":"object","properties":{"reserved":{"type":"integer","example":24817,"description":"Credits held at submission.","isRequired":true,"uniqueKey":"credits.reserved","typeLabel":"integer"}},"required":["reserved"],"description":"What accepting this batch cost.","isRequired":true,"uniqueKey":"credits","typeLabel":"object"},"created_at":{"type":"string","description":"When the batch was created.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string"},"invalid_urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Rejected URL.","isRequired":true,"uniqueKey":"invalid_urls.items.[INDEX].url","typeLabel":"string"},"reason":{"type":"string","description":"Why it was rejected.","example":"Must be a public http:// or https:// URL","isRequired":true,"uniqueKey":"invalid_urls.items.[INDEX].reason","typeLabel":"string"}},"required":["url","reason"],"uniqueKey":"invalid_urls.items.[INDEX]","typeLabel":"object"},"description":"Rejected URLs (first 100).","isRequired":true,"uniqueKey":"invalid_urls","typeLabel":"object[]"},"cache_metadata":{"type":"object","properties":{"status":{"type":"string","enum":["hit","miss","zdr"],"description":"Whether the response was served from cache, required fresh work, or honored zero-data-retention cache bypass.","isRequired":true,"uniqueKey":"cache_metadata.status","typeLabel":"enum\u003cstring>"},"age_ms":{"type":"integer","minimum":0,"description":"Age of the cached data in milliseconds. Zero for miss and zdr responses.","isRequired":true,"uniqueKey":"cache_metadata.age_ms","typeLabel":"integer"}},"required":["status","age_ms"],"additionalProperties":false,"description":"Whether this response came from cache.","isRequired":true,"uniqueKey":"cache_metadata","typeLabel":"object"},"formats":{"type":"object","properties":{"html":{"type":"boolean","default":false,"description":"Rendered HTML.","uniqueKey":"formats.html","typeLabel":"boolean"},"markdown":{"type":"boolean","default":false,"description":"Page content as Markdown.","uniqueKey":"formats.markdown","typeLabel":"boolean"},"screenshot":{"type":"boolean","default":false,"description":"A screenshot of the page.","uniqueKey":"formats.screenshot","typeLabel":"boolean"},"images":{"type":"boolean","default":false,"description":"Images found on the page.","uniqueKey":"formats.images","typeLabel":"boolean"},"bytes":{"type":"boolean","default":false,"description":"The original HTTP response body.","uniqueKey":"formats.bytes","typeLabel":"boolean"},"parse":{"type":"boolean","default":false,"description":"Fields extracted with custom rules or a prebuilt parser, returned as `parsed`.","uniqueKey":"formats.parse","typeLabel":"boolean"},"product":{"type":"boolean","default":false,"description":"Product details such as name, price, and availability.","uniqueKey":"formats.product","typeLabel":"boolean"},"highlights":{"type":"boolean","default":false,"description":"Markdown excerpts relevant to `highlightsParams.query`.","uniqueKey":"formats.highlights","typeLabel":"boolean"},"json":{"type":"boolean","default":false,"description":"An object matching `jsonParams.schema`, extracted from the page.","uniqueKey":"formats.json","typeLabel":"boolean"}},"additionalProperties":false,"description":"Outputs requested for each page. Matches input.data.formats on submission.","not":{"allOf":[{"not":{"required":["html"],"properties":{"html":{"const":true}}}},{"not":{"required":["markdown"],"properties":{"markdown":{"const":true}}}},{"not":{"required":["screenshot"],"properties":{"screenshot":{"const":true}}}},{"not":{"required":["images"],"properties":{"images":{"const":true}}}},{"not":{"required":["bytes"],"properties":{"bytes":{"const":true}}}},{"not":{"required":["parse"],"properties":{"parse":{"const":true}}}},{"not":{"required":["product"],"properties":{"product":{"const":true}}}},{"not":{"required":["highlights"],"properties":{"highlights":{"const":true}}}},{"not":{"required":["json"],"properties":{"json":{"const":true}}}}]},"example":{"html":true,"markdown":true},"isRequired":true,"uniqueKey":"formats","typeLabel":"object"},"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"webhook_secret":{"type":"string","description":"Secret for verifying `X-Context-Signature`. Only submit returns it, so store it.","uniqueKey":"webhook_secret","typeLabel":"string"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"Accepted batch · object"},"examples":{"Example":{"title":"Example","value":{"id":"batch_9f2c8a","status":"queued","mode":"scrape","tags":["docs"],"crawl":{"source":{"type":"start_url","url":"https://example.com/docs"},"max_pages":500,"max_depth":0,"follow_subdomains":true,"url_pattern":"^https://example\\.com/docs/","exclude_url_pattern":"/tag/|/author/","languages":"same_as_start_url"},"input":{"reserved":24817,"reserved_is_ceiling":false,"submitted":25000,"duplicates":183,"invalid":0},"credits":{"reserved":24817},"created_at":"\u003cstring>","invalid_urls":[{"url":"\u003cstring>","reason":"Must be a public http:// or https:// URL"}],"cache_metadata":{"status":"hit","age_ms":1},"formats":{"html":true,"markdown":true},"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","webhook_secret":"\u003cstring>","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"24dbda20-1549-4099-9b60-f6f60855e342":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"message":{"type":"string","description":"Human-readable error message.","uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["PROFILE_NOT_FOUND","PROFILE_BUSY","PROFILE_SESSION_EXPIRED","PROFILE_REAUTHENTICATION_REQUIRED","PROFILE_INVALID_CREDENTIALS","PROFILE_MISSING_CREDENTIALS","PROFILE_INTERACTION_REQUIRED","PROFILE_AUTHENTICATION_UNKNOWN","PROFILE_ORIGIN_BLOCKED","PROFILE_INVALID_SESSION","PROFILE_SESSION_TOO_LARGE","INTERNAL_ERROR","VALID","NOT_FOUND","FORBIDDEN","ACCESS_POLICY_DENIED","ACCESS_POLICIES_NOT_ENABLED","USAGE_EXCEEDED","RATE_LIMITED","UNAUTHORIZED","DISABLED","PAID_PLAN_REQUIRED","INSUFFICIENT_PERMISSIONS","TIMEOUT_EXCEEDS_MAXIMUM","TIMEOUT_TOO_SHORT_FOR_WAIT","WEBSITE_ACCESS_ERROR","WEBSITE_BLOCKED","WEBSITE_NOT_FOUND","PDF_SKIPPED","PDF_IMAGES_ONLY","NO_PUBLISHED_MARKDOWN","INPUT_VALIDATION_ERROR","ZDR_NOT_SUPPORTED","ZDR_NOT_ENABLED","FREE_EMAIL_DETECTED","DISPOSABLE_EMAIL_DETECTED","REQUEST_TIMEOUT","COLD_DOMAIN_TIMEOUT_TOO_LOW","UNSUPPORTED_CONTENT","CONTENT_TOO_LARGE","MONITOR_PAUSED","MONITOR_NO_WEBHOOK","COLLECTION_PAUSED","MONITOR_LIMIT_EXCEEDED","SEARCH_UNAVAILABLE","BATCH_LIMIT_EXCEEDED","BATCH_NOT_CANCELLABLE","BATCH_NOT_COMPLETED","IDEMPOTENCY_KEY_CONFLICT","DELIVERY_IN_PROGRESS","DELIVERY_ALREADY_DELIVERED","DELIVERY_EXPIRED","DELIVERY_CANCELLED"],"description":"Machine-readable error code.","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error_data":{"oneOf":[{"type":"object","description":"Credit admission or reservation failure details. credits_required is an admission estimate, not a final charge. should_retry is false for an unchanged request immediately; retry_condition requires sufficient account credits. Unknown balances, costs, and refill details are omitted. next_refill_at is an ISO 8601 UTC timestamp. Existing request_id and key_metadata remain on the error envelope.","required":["is_authenticated","should_retry","retry_condition","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.0.is_authenticated","typeLabel":"enum\u003cboolean>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.0.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["sufficient_credits"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.retry_condition","typeLabel":"enum\u003cstring>"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_remaining","typeLabel":"number"},"credits_required":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_required","typeLabel":"number"},"is_credits_required_estimated":{"type":"boolean","uniqueKey":"error_data.oneOf.0.is_credits_required_estimated","typeLabel":"boolean"},"credits_charged":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_charged","typeLabel":"number"},"next_refill_at":{"type":"string","format":"date-time","uniqueKey":"error_data.oneOf.0.next_refill_at","typeLabel":"string\u003cdate-time>"},"next_refill_credits":{"type":"number","exclusiveMinimum":0,"uniqueKey":"error_data.oneOf.0.next_refill_credits","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.1.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.oneOf.1.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.1.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.oneOf.1.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.oneOf.1.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.1.credits_remaining","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Sent with `ACCESS_POLICY_DENIED`.","required":["url","denied_by"],"properties":{"url":{"type":"string","description":"The URL that was blocked.","isRequired":true,"uniqueKey":"error_data.oneOf.2.url","typeLabel":"string"},"denied_by":{"type":"array","items":{"type":"string","uniqueKey":"error_data.oneOf.2.denied_by.items.[INDEX]","typeLabel":"string"},"description":"IDs of the access policies that blocked it.","isRequired":true,"uniqueKey":"error_data.oneOf.2.denied_by","typeLabel":"string[]"}},"uniqueKey":"error_data.oneOf.2","typeLabel":"object"}],"uniqueKey":"error_data","typeLabel":"object"},"required_permission":{"type":"string","enum":["logs:read","data:execute","monitors:read","monitors:write","batches:read","batches:write","access_policies:read","access_policies:write"],"description":"Permission required for this request when error_code is INSUFFICIENT_PERMISSIONS. Manage (write) also grants read access to the same resource group.","uniqueKey":"required_permission","typeLabel":"enum\u003cstring>"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","message":"\u003cstring>","error_code":"PROFILE_NOT_FOUND","error_data":{"is_authenticated":true,"should_retry":false,"retry_condition":"sufficient_credits","info_url":"https://context.dev/dashboard/subscription","credits_remaining":1,"credits_required":1,"is_credits_required_estimated":true,"credits_charged":1,"next_refill_at":"2023-11-07T05:31:56Z","next_refill_credits":123},"required_permission":"logs:read","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"exampleType":"generated"},"48103bd1-7fa8-4bba-9bd8-6edd2bdce05b":{"description":"Authentication failed.","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"message":{"type":"string","description":"Human-readable error message.","uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["PROFILE_NOT_FOUND","PROFILE_BUSY","PROFILE_SESSION_EXPIRED","PROFILE_REAUTHENTICATION_REQUIRED","PROFILE_INVALID_CREDENTIALS","PROFILE_MISSING_CREDENTIALS","PROFILE_INTERACTION_REQUIRED","PROFILE_AUTHENTICATION_UNKNOWN","PROFILE_ORIGIN_BLOCKED","PROFILE_INVALID_SESSION","PROFILE_SESSION_TOO_LARGE","INTERNAL_ERROR","VALID","NOT_FOUND","FORBIDDEN","ACCESS_POLICY_DENIED","ACCESS_POLICIES_NOT_ENABLED","USAGE_EXCEEDED","RATE_LIMITED","UNAUTHORIZED","DISABLED","PAID_PLAN_REQUIRED","INSUFFICIENT_PERMISSIONS","TIMEOUT_EXCEEDS_MAXIMUM","TIMEOUT_TOO_SHORT_FOR_WAIT","WEBSITE_ACCESS_ERROR","WEBSITE_BLOCKED","WEBSITE_NOT_FOUND","PDF_SKIPPED","PDF_IMAGES_ONLY","NO_PUBLISHED_MARKDOWN","INPUT_VALIDATION_ERROR","ZDR_NOT_SUPPORTED","ZDR_NOT_ENABLED","FREE_EMAIL_DETECTED","DISPOSABLE_EMAIL_DETECTED","REQUEST_TIMEOUT","COLD_DOMAIN_TIMEOUT_TOO_LOW","UNSUPPORTED_CONTENT","CONTENT_TOO_LARGE","MONITOR_PAUSED","MONITOR_NO_WEBHOOK","COLLECTION_PAUSED","MONITOR_LIMIT_EXCEEDED","SEARCH_UNAVAILABLE","BATCH_LIMIT_EXCEEDED","BATCH_NOT_CANCELLABLE","BATCH_NOT_COMPLETED","IDEMPOTENCY_KEY_CONFLICT","DELIVERY_IN_PROGRESS","DELIVERY_ALREADY_DELIVERED","DELIVERY_EXPIRED","DELIVERY_CANCELLED"],"description":"Machine-readable error code.","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error_data":{"oneOf":[{"type":"object","description":"Credit admission or reservation failure details. credits_required is an admission estimate, not a final charge. should_retry is false for an unchanged request immediately; retry_condition requires sufficient account credits. Unknown balances, costs, and refill details are omitted. next_refill_at is an ISO 8601 UTC timestamp. Existing request_id and key_metadata remain on the error envelope.","required":["is_authenticated","should_retry","retry_condition","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.0.is_authenticated","typeLabel":"enum\u003cboolean>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.0.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["sufficient_credits"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.retry_condition","typeLabel":"enum\u003cstring>"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_remaining","typeLabel":"number"},"credits_required":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_required","typeLabel":"number"},"is_credits_required_estimated":{"type":"boolean","uniqueKey":"error_data.oneOf.0.is_credits_required_estimated","typeLabel":"boolean"},"credits_charged":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_charged","typeLabel":"number"},"next_refill_at":{"type":"string","format":"date-time","uniqueKey":"error_data.oneOf.0.next_refill_at","typeLabel":"string\u003cdate-time>"},"next_refill_credits":{"type":"number","exclusiveMinimum":0,"uniqueKey":"error_data.oneOf.0.next_refill_credits","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.1.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.oneOf.1.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.1.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.oneOf.1.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.oneOf.1.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.1.credits_remaining","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Sent with `ACCESS_POLICY_DENIED`.","required":["url","denied_by"],"properties":{"url":{"type":"string","description":"The URL that was blocked.","isRequired":true,"uniqueKey":"error_data.oneOf.2.url","typeLabel":"string"},"denied_by":{"type":"array","items":{"type":"string","uniqueKey":"error_data.oneOf.2.denied_by.items.[INDEX]","typeLabel":"string"},"description":"IDs of the access policies that blocked it.","isRequired":true,"uniqueKey":"error_data.oneOf.2.denied_by","typeLabel":"string[]"}},"uniqueKey":"error_data.oneOf.2","typeLabel":"object"}],"uniqueKey":"error_data","typeLabel":"object"},"required_permission":{"type":"string","enum":["logs:read","data:execute","monitors:read","monitors:write","batches:read","batches:write","access_policies:read","access_policies:write"],"description":"Permission required for this request when error_code is INSUFFICIENT_PERMISSIONS. Manage (write) also grants read access to the same resource group.","uniqueKey":"required_permission","typeLabel":"enum\u003cstring>"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","message":"\u003cstring>","error_code":"PROFILE_NOT_FOUND","error_data":{"is_authenticated":true,"should_retry":false,"retry_condition":"sufficient_credits","info_url":"https://context.dev/dashboard/subscription","credits_remaining":1,"credits_required":1,"is_credits_required_estimated":true,"credits_charged":1,"next_refill_at":"2023-11-07T05:31:56Z","next_refill_credits":123},"required_permission":"logs:read","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"4fd8abf4-a01f-4f30-b55e-1f125e6be7b5":{"description":"Insufficient credits (`USAGE_EXCEEDED`); authentication is valid. Retry once funded. Legacy deployments may return 401.","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"message":{"type":"string","description":"Human-readable error message.","uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["PROFILE_NOT_FOUND","PROFILE_BUSY","PROFILE_SESSION_EXPIRED","PROFILE_REAUTHENTICATION_REQUIRED","PROFILE_INVALID_CREDENTIALS","PROFILE_MISSING_CREDENTIALS","PROFILE_INTERACTION_REQUIRED","PROFILE_AUTHENTICATION_UNKNOWN","PROFILE_ORIGIN_BLOCKED","PROFILE_INVALID_SESSION","PROFILE_SESSION_TOO_LARGE","INTERNAL_ERROR","VALID","NOT_FOUND","FORBIDDEN","ACCESS_POLICY_DENIED","ACCESS_POLICIES_NOT_ENABLED","USAGE_EXCEEDED","RATE_LIMITED","UNAUTHORIZED","DISABLED","PAID_PLAN_REQUIRED","INSUFFICIENT_PERMISSIONS","TIMEOUT_EXCEEDS_MAXIMUM","TIMEOUT_TOO_SHORT_FOR_WAIT","WEBSITE_ACCESS_ERROR","WEBSITE_BLOCKED","WEBSITE_NOT_FOUND","PDF_SKIPPED","PDF_IMAGES_ONLY","NO_PUBLISHED_MARKDOWN","INPUT_VALIDATION_ERROR","ZDR_NOT_SUPPORTED","ZDR_NOT_ENABLED","FREE_EMAIL_DETECTED","DISPOSABLE_EMAIL_DETECTED","REQUEST_TIMEOUT","COLD_DOMAIN_TIMEOUT_TOO_LOW","UNSUPPORTED_CONTENT","CONTENT_TOO_LARGE","MONITOR_PAUSED","MONITOR_NO_WEBHOOK","COLLECTION_PAUSED","MONITOR_LIMIT_EXCEEDED","SEARCH_UNAVAILABLE","BATCH_LIMIT_EXCEEDED","BATCH_NOT_CANCELLABLE","BATCH_NOT_COMPLETED","IDEMPOTENCY_KEY_CONFLICT","DELIVERY_IN_PROGRESS","DELIVERY_ALREADY_DELIVERED","DELIVERY_EXPIRED","DELIVERY_CANCELLED"],"description":"Machine-readable error code.","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error_data":{"oneOf":[{"type":"object","description":"Credit admission or reservation failure details. credits_required is an admission estimate, not a final charge. should_retry is false for an unchanged request immediately; retry_condition requires sufficient account credits. Unknown balances, costs, and refill details are omitted. next_refill_at is an ISO 8601 UTC timestamp. Existing request_id and key_metadata remain on the error envelope.","required":["is_authenticated","should_retry","retry_condition","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.0.is_authenticated","typeLabel":"enum\u003cboolean>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.0.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["sufficient_credits"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.retry_condition","typeLabel":"enum\u003cstring>"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_remaining","typeLabel":"number"},"credits_required":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_required","typeLabel":"number"},"is_credits_required_estimated":{"type":"boolean","uniqueKey":"error_data.oneOf.0.is_credits_required_estimated","typeLabel":"boolean"},"credits_charged":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_charged","typeLabel":"number"},"next_refill_at":{"type":"string","format":"date-time","uniqueKey":"error_data.oneOf.0.next_refill_at","typeLabel":"string\u003cdate-time>"},"next_refill_credits":{"type":"number","exclusiveMinimum":0,"uniqueKey":"error_data.oneOf.0.next_refill_credits","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.1.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.oneOf.1.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.1.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.oneOf.1.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.oneOf.1.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.1.credits_remaining","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Sent with `ACCESS_POLICY_DENIED`.","required":["url","denied_by"],"properties":{"url":{"type":"string","description":"The URL that was blocked.","isRequired":true,"uniqueKey":"error_data.oneOf.2.url","typeLabel":"string"},"denied_by":{"type":"array","items":{"type":"string","uniqueKey":"error_data.oneOf.2.denied_by.items.[INDEX]","typeLabel":"string"},"description":"IDs of the access policies that blocked it.","isRequired":true,"uniqueKey":"error_data.oneOf.2.denied_by","typeLabel":"string[]"}},"uniqueKey":"error_data.oneOf.2","typeLabel":"object"}],"uniqueKey":"error_data","typeLabel":"object"},"required_permission":{"type":"string","enum":["logs:read","data:execute","monitors:read","monitors:write","batches:read","batches:write","access_policies:read","access_policies:write"],"description":"Permission required for this request when error_code is INSUFFICIENT_PERMISSIONS. Manage (write) also grants read access to the same resource group.","uniqueKey":"required_permission","typeLabel":"enum\u003cstring>"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","message":"\u003cstring>","error_code":"PROFILE_NOT_FOUND","error_data":{"is_authenticated":true,"should_retry":false,"retry_condition":"sufficient_credits","info_url":"https://context.dev/dashboard/subscription","credits_remaining":1,"credits_required":1,"is_credits_required_estimated":true,"credits_charged":1,"next_refill_at":"2023-11-07T05:31:56Z","next_refill_credits":123},"required_permission":"logs:read","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"729aaef5-5aa3-4585-b592-97702742b20a":{"description":"Too many active batches (`BATCH_LIMIT_EXCEEDED`), or the key lacks `batches:write` (`INSUFFICIENT_PERMISSIONS`).","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"message":{"type":"string","description":"Human-readable error message.","uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["PROFILE_NOT_FOUND","PROFILE_BUSY","PROFILE_SESSION_EXPIRED","PROFILE_REAUTHENTICATION_REQUIRED","PROFILE_INVALID_CREDENTIALS","PROFILE_MISSING_CREDENTIALS","PROFILE_INTERACTION_REQUIRED","PROFILE_AUTHENTICATION_UNKNOWN","PROFILE_ORIGIN_BLOCKED","PROFILE_INVALID_SESSION","PROFILE_SESSION_TOO_LARGE","INTERNAL_ERROR","VALID","NOT_FOUND","FORBIDDEN","ACCESS_POLICY_DENIED","ACCESS_POLICIES_NOT_ENABLED","USAGE_EXCEEDED","RATE_LIMITED","UNAUTHORIZED","DISABLED","PAID_PLAN_REQUIRED","INSUFFICIENT_PERMISSIONS","TIMEOUT_EXCEEDS_MAXIMUM","TIMEOUT_TOO_SHORT_FOR_WAIT","WEBSITE_ACCESS_ERROR","WEBSITE_BLOCKED","WEBSITE_NOT_FOUND","PDF_SKIPPED","PDF_IMAGES_ONLY","NO_PUBLISHED_MARKDOWN","INPUT_VALIDATION_ERROR","ZDR_NOT_SUPPORTED","ZDR_NOT_ENABLED","FREE_EMAIL_DETECTED","DISPOSABLE_EMAIL_DETECTED","REQUEST_TIMEOUT","COLD_DOMAIN_TIMEOUT_TOO_LOW","UNSUPPORTED_CONTENT","CONTENT_TOO_LARGE","MONITOR_PAUSED","MONITOR_NO_WEBHOOK","COLLECTION_PAUSED","MONITOR_LIMIT_EXCEEDED","SEARCH_UNAVAILABLE","BATCH_LIMIT_EXCEEDED","BATCH_NOT_CANCELLABLE","BATCH_NOT_COMPLETED","IDEMPOTENCY_KEY_CONFLICT","DELIVERY_IN_PROGRESS","DELIVERY_ALREADY_DELIVERED","DELIVERY_EXPIRED","DELIVERY_CANCELLED"],"description":"Machine-readable error code.","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error_data":{"oneOf":[{"type":"object","description":"Credit admission or reservation failure details. credits_required is an admission estimate, not a final charge. should_retry is false for an unchanged request immediately; retry_condition requires sufficient account credits. Unknown balances, costs, and refill details are omitted. next_refill_at is an ISO 8601 UTC timestamp. Existing request_id and key_metadata remain on the error envelope.","required":["is_authenticated","should_retry","retry_condition","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.0.is_authenticated","typeLabel":"enum\u003cboolean>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.0.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["sufficient_credits"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.retry_condition","typeLabel":"enum\u003cstring>"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_remaining","typeLabel":"number"},"credits_required":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_required","typeLabel":"number"},"is_credits_required_estimated":{"type":"boolean","uniqueKey":"error_data.oneOf.0.is_credits_required_estimated","typeLabel":"boolean"},"credits_charged":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_charged","typeLabel":"number"},"next_refill_at":{"type":"string","format":"date-time","uniqueKey":"error_data.oneOf.0.next_refill_at","typeLabel":"string\u003cdate-time>"},"next_refill_credits":{"type":"number","exclusiveMinimum":0,"uniqueKey":"error_data.oneOf.0.next_refill_credits","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.1.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.oneOf.1.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.1.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.oneOf.1.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.oneOf.1.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.1.credits_remaining","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Sent with `ACCESS_POLICY_DENIED`.","required":["url","denied_by"],"properties":{"url":{"type":"string","description":"The URL that was blocked.","isRequired":true,"uniqueKey":"error_data.oneOf.2.url","typeLabel":"string"},"denied_by":{"type":"array","items":{"type":"string","uniqueKey":"error_data.oneOf.2.denied_by.items.[INDEX]","typeLabel":"string"},"description":"IDs of the access policies that blocked it.","isRequired":true,"uniqueKey":"error_data.oneOf.2.denied_by","typeLabel":"string[]"}},"uniqueKey":"error_data.oneOf.2","typeLabel":"object"}],"uniqueKey":"error_data","typeLabel":"object"},"required_permission":{"type":"string","enum":["logs:read","data:execute","monitors:read","monitors:write","batches:read","batches:write","access_policies:read","access_policies:write"],"description":"Permission required for this request when error_code is INSUFFICIENT_PERMISSIONS. Manage (write) also grants read access to the same resource group.","uniqueKey":"required_permission","typeLabel":"enum\u003cstring>"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","message":"\u003cstring>","error_code":"PROFILE_NOT_FOUND","error_data":{"is_authenticated":true,"should_retry":false,"retry_condition":"sufficient_credits","info_url":"https://context.dev/dashboard/subscription","credits_remaining":1,"credits_required":1,"is_credits_required_estimated":true,"credits_charged":1,"next_refill_at":"2023-11-07T05:31:56Z","next_refill_credits":123},"required_permission":"logs:read","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"22f3c8ea-7f93-4839-8d5d-9ad1ab19bb71":{"description":"Idempotency-Key reused with a different body (error_code IDEMPOTENCY_KEY_CONFLICT).","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"message":{"type":"string","description":"Human-readable error message.","uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["PROFILE_NOT_FOUND","PROFILE_BUSY","PROFILE_SESSION_EXPIRED","PROFILE_REAUTHENTICATION_REQUIRED","PROFILE_INVALID_CREDENTIALS","PROFILE_MISSING_CREDENTIALS","PROFILE_INTERACTION_REQUIRED","PROFILE_AUTHENTICATION_UNKNOWN","PROFILE_ORIGIN_BLOCKED","PROFILE_INVALID_SESSION","PROFILE_SESSION_TOO_LARGE","INTERNAL_ERROR","VALID","NOT_FOUND","FORBIDDEN","ACCESS_POLICY_DENIED","ACCESS_POLICIES_NOT_ENABLED","USAGE_EXCEEDED","RATE_LIMITED","UNAUTHORIZED","DISABLED","PAID_PLAN_REQUIRED","INSUFFICIENT_PERMISSIONS","TIMEOUT_EXCEEDS_MAXIMUM","TIMEOUT_TOO_SHORT_FOR_WAIT","WEBSITE_ACCESS_ERROR","WEBSITE_BLOCKED","WEBSITE_NOT_FOUND","PDF_SKIPPED","PDF_IMAGES_ONLY","NO_PUBLISHED_MARKDOWN","INPUT_VALIDATION_ERROR","ZDR_NOT_SUPPORTED","ZDR_NOT_ENABLED","FREE_EMAIL_DETECTED","DISPOSABLE_EMAIL_DETECTED","REQUEST_TIMEOUT","COLD_DOMAIN_TIMEOUT_TOO_LOW","UNSUPPORTED_CONTENT","CONTENT_TOO_LARGE","MONITOR_PAUSED","MONITOR_NO_WEBHOOK","COLLECTION_PAUSED","MONITOR_LIMIT_EXCEEDED","SEARCH_UNAVAILABLE","BATCH_LIMIT_EXCEEDED","BATCH_NOT_CANCELLABLE","BATCH_NOT_COMPLETED","IDEMPOTENCY_KEY_CONFLICT","DELIVERY_IN_PROGRESS","DELIVERY_ALREADY_DELIVERED","DELIVERY_EXPIRED","DELIVERY_CANCELLED"],"description":"Machine-readable error code.","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error_data":{"oneOf":[{"type":"object","description":"Credit admission or reservation failure details. credits_required is an admission estimate, not a final charge. should_retry is false for an unchanged request immediately; retry_condition requires sufficient account credits. Unknown balances, costs, and refill details are omitted. next_refill_at is an ISO 8601 UTC timestamp. Existing request_id and key_metadata remain on the error envelope.","required":["is_authenticated","should_retry","retry_condition","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.0.is_authenticated","typeLabel":"enum\u003cboolean>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.0.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["sufficient_credits"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.retry_condition","typeLabel":"enum\u003cstring>"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_remaining","typeLabel":"number"},"credits_required":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_required","typeLabel":"number"},"is_credits_required_estimated":{"type":"boolean","uniqueKey":"error_data.oneOf.0.is_credits_required_estimated","typeLabel":"boolean"},"credits_charged":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_charged","typeLabel":"number"},"next_refill_at":{"type":"string","format":"date-time","uniqueKey":"error_data.oneOf.0.next_refill_at","typeLabel":"string\u003cdate-time>"},"next_refill_credits":{"type":"number","exclusiveMinimum":0,"uniqueKey":"error_data.oneOf.0.next_refill_credits","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.1.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.oneOf.1.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.1.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.oneOf.1.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.oneOf.1.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.1.credits_remaining","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Sent with `ACCESS_POLICY_DENIED`.","required":["url","denied_by"],"properties":{"url":{"type":"string","description":"The URL that was blocked.","isRequired":true,"uniqueKey":"error_data.oneOf.2.url","typeLabel":"string"},"denied_by":{"type":"array","items":{"type":"string","uniqueKey":"error_data.oneOf.2.denied_by.items.[INDEX]","typeLabel":"string"},"description":"IDs of the access policies that blocked it.","isRequired":true,"uniqueKey":"error_data.oneOf.2.denied_by","typeLabel":"string[]"}},"uniqueKey":"error_data.oneOf.2","typeLabel":"object"}],"uniqueKey":"error_data","typeLabel":"object"},"required_permission":{"type":"string","enum":["logs:read","data:execute","monitors:read","monitors:write","batches:read","batches:write","access_policies:read","access_policies:write"],"description":"Permission required for this request when error_code is INSUFFICIENT_PERMISSIONS. Manage (write) also grants read access to the same resource group.","uniqueKey":"required_permission","typeLabel":"enum\u003cstring>"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","message":"\u003cstring>","error_code":"PROFILE_NOT_FOUND","error_data":{"is_authenticated":true,"should_retry":false,"retry_condition":"sufficient_credits","info_url":"https://context.dev/dashboard/subscription","credits_remaining":1,"credits_required":1,"is_credits_required_estimated":true,"credits_charged":1,"next_refill_at":"2023-11-07T05:31:56Z","next_refill_credits":123},"required_permission":"logs:read","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"6b766def-8882-42cb-be65-229307f339b5":{"description":"Rate limit exceeded. Organization concurrency rejections include structured error_data and subscription settings; follow Retry-After before retrying.","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1,"maximum":60}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["RATE_LIMITED"],"description":"Error code indicating the rate limit was exceeded","isRequired":true,"uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"error_data":{"type":"object","properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.credits_remaining","typeLabel":"number"}},"required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","uniqueKey":"error_data","typeLabel":"object"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["message","error_code","request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","error_code":"RATE_LIMITED","request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","error_data":{"is_authenticated":true,"limit_type":"concurrency","limit":1,"remaining":1,"retry_after_seconds":1,"credits_charged":0,"should_retry":false,"retry_condition":"available_concurrency","recovery_options":["wait_for_in_flight_requests"],"info_url":"https://context.dev/dashboard/subscription","credits_remaining":1},"key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"64114a3d-1c42-4bc1-a301-27e7f45657b0":{"description":"Batch input could not be staged or queued.","headers":{"X-Request-Id":{"description":"Unique ID of this request; also `request_id` in JSON bodies.","schema":{"type":"string","format":"uuid"}},"X-RateLimit-Limit":{"description":"Maximum request units per minute, or maximum concurrent requests when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Remaining":{"description":"Request units remaining in the current minute, or concurrent requests still available when X-RateLimit-Mode is concurrency.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the per-minute rate limit resets. Omitted for concurrency limits.","schema":{"type":"integer"}},"X-RateLimit-Mode":{"description":"Set to concurrency when these headers report concurrent requests. When a per-minute limit also applies, its rejections report per-minute headers without this header. New Free accounts have 2 concurrent requests; no plan has a per-minute limit by default. Existing and custom allowances can differ.","schema":{"type":"string","enum":["concurrency"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.","example":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"message":{"type":"string","description":"Human-readable error message.","uniqueKey":"message","typeLabel":"string"},"error_code":{"type":"string","enum":["PROFILE_NOT_FOUND","PROFILE_BUSY","PROFILE_SESSION_EXPIRED","PROFILE_REAUTHENTICATION_REQUIRED","PROFILE_INVALID_CREDENTIALS","PROFILE_MISSING_CREDENTIALS","PROFILE_INTERACTION_REQUIRED","PROFILE_AUTHENTICATION_UNKNOWN","PROFILE_ORIGIN_BLOCKED","PROFILE_INVALID_SESSION","PROFILE_SESSION_TOO_LARGE","INTERNAL_ERROR","VALID","NOT_FOUND","FORBIDDEN","ACCESS_POLICY_DENIED","ACCESS_POLICIES_NOT_ENABLED","USAGE_EXCEEDED","RATE_LIMITED","UNAUTHORIZED","DISABLED","PAID_PLAN_REQUIRED","INSUFFICIENT_PERMISSIONS","TIMEOUT_EXCEEDS_MAXIMUM","TIMEOUT_TOO_SHORT_FOR_WAIT","WEBSITE_ACCESS_ERROR","WEBSITE_BLOCKED","WEBSITE_NOT_FOUND","PDF_SKIPPED","PDF_IMAGES_ONLY","NO_PUBLISHED_MARKDOWN","INPUT_VALIDATION_ERROR","ZDR_NOT_SUPPORTED","ZDR_NOT_ENABLED","FREE_EMAIL_DETECTED","DISPOSABLE_EMAIL_DETECTED","REQUEST_TIMEOUT","COLD_DOMAIN_TIMEOUT_TOO_LOW","UNSUPPORTED_CONTENT","CONTENT_TOO_LARGE","MONITOR_PAUSED","MONITOR_NO_WEBHOOK","COLLECTION_PAUSED","MONITOR_LIMIT_EXCEEDED","SEARCH_UNAVAILABLE","BATCH_LIMIT_EXCEEDED","BATCH_NOT_CANCELLABLE","BATCH_NOT_COMPLETED","IDEMPOTENCY_KEY_CONFLICT","DELIVERY_IN_PROGRESS","DELIVERY_ALREADY_DELIVERED","DELIVERY_EXPIRED","DELIVERY_CANCELLED"],"description":"Machine-readable error code.","uniqueKey":"error_code","typeLabel":"enum\u003cstring>"},"error_data":{"oneOf":[{"type":"object","description":"Credit admission or reservation failure details. credits_required is an admission estimate, not a final charge. should_retry is false for an unchanged request immediately; retry_condition requires sufficient account credits. Unknown balances, costs, and refill details are omitted. next_refill_at is an ISO 8601 UTC timestamp. Existing request_id and key_metadata remain on the error envelope.","required":["is_authenticated","should_retry","retry_condition","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.0.is_authenticated","typeLabel":"enum\u003cboolean>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.0.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["sufficient_credits"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.retry_condition","typeLabel":"enum\u003cstring>"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.0.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_remaining","typeLabel":"number"},"credits_required":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_required","typeLabel":"number"},"is_credits_required_estimated":{"type":"boolean","uniqueKey":"error_data.oneOf.0.is_credits_required_estimated","typeLabel":"boolean"},"credits_charged":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.0.credits_charged","typeLabel":"number"},"next_refill_at":{"type":"string","format":"date-time","uniqueKey":"error_data.oneOf.0.next_refill_at","typeLabel":"string\u003cdate-time>"},"next_refill_credits":{"type":"number","exclusiveMinimum":0,"uniqueKey":"error_data.oneOf.0.next_refill_credits","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Organization concurrency rejection details. Authentication is valid and no credits were charged. should_retry is false immediately; respect retry_after_seconds and wait for an in-flight request to finish or for the effective concurrency limit to increase. info_url opens subscription settings; no higher allowance is guaranteed for a particular account.","required":["is_authenticated","limit_type","limit","remaining","retry_after_seconds","credits_charged","should_retry","retry_condition","recovery_options","info_url"],"properties":{"is_authenticated":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"error_data.oneOf.1.is_authenticated","typeLabel":"enum\u003cboolean>"},"limit_type":{"type":"string","enum":["concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit_type","typeLabel":"enum\u003cstring>"},"limit":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.limit","typeLabel":"number"},"remaining":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.remaining","typeLabel":"number"},"retry_after_seconds":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_after_seconds","typeLabel":"number"},"credits_charged":{"type":"number","enum":[0],"isRequired":true,"uniqueKey":"error_data.oneOf.1.credits_charged","typeLabel":"enum\u003cnumber>"},"should_retry":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"error_data.oneOf.1.should_retry","typeLabel":"enum\u003cboolean>"},"retry_condition":{"type":"string","enum":["available_concurrency"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.retry_condition","typeLabel":"enum\u003cstring>"},"recovery_options":{"type":"array","items":{"type":"string","enum":["wait_for_in_flight_requests","increase_concurrency_limit"],"uniqueKey":"error_data.oneOf.1.recovery_options.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"error_data.oneOf.1.recovery_options","typeLabel":"enum\u003cstring>[]"},"info_url":{"type":"string","enum":["https://context.dev/dashboard/subscription"],"isRequired":true,"uniqueKey":"error_data.oneOf.1.info_url","typeLabel":"enum\u003cstring>"},"credits_remaining":{"type":"number","minimum":0,"uniqueKey":"error_data.oneOf.1.credits_remaining","typeLabel":"number"}},"uniqueKey":"error_data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Sent with `ACCESS_POLICY_DENIED`.","required":["url","denied_by"],"properties":{"url":{"type":"string","description":"The URL that was blocked.","isRequired":true,"uniqueKey":"error_data.oneOf.2.url","typeLabel":"string"},"denied_by":{"type":"array","items":{"type":"string","uniqueKey":"error_data.oneOf.2.denied_by.items.[INDEX]","typeLabel":"string"},"description":"IDs of the access policies that blocked it.","isRequired":true,"uniqueKey":"error_data.oneOf.2.denied_by","typeLabel":"string[]"}},"uniqueKey":"error_data.oneOf.2","typeLabel":"object"}],"uniqueKey":"error_data","typeLabel":"object"},"required_permission":{"type":"string","enum":["logs:read","data:execute","monitors:read","monitors:write","batches:read","batches:write","access_policies:read","access_policies:write"],"description":"Permission required for this request when error_code is INSUFFICIENT_PERMISSIONS. Manage (write) also grants read access to the same resource group.","uniqueKey":"required_permission","typeLabel":"enum\u003cstring>"},"key_metadata":{"type":"object","properties":{"credits_consumed":{"type":"integer","description":"Credits charged for this request.","isRequired":true,"uniqueKey":"key_metadata.credits_consumed","typeLabel":"integer"},"credits_remaining":{"type":"integer","description":"Credits remaining for your organization.","isRequired":true,"uniqueKey":"key_metadata.credits_remaining","typeLabel":"integer"}},"required":["credits_consumed","credits_remaining"],"description":"Credits this request used and your remaining balance.","uniqueKey":"key_metadata","typeLabel":"object"}},"required":["request_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"3f1c2a6e-8b4d-4c1e-9f0a-2d7b5e6c8a91","message":"\u003cstring>","error_code":"PROFILE_NOT_FOUND","error_data":{"is_authenticated":true,"should_retry":false,"retry_condition":"sufficient_credits","info_url":"https://context.dev/dashboard/subscription","credits_remaining":1,"credits_required":1,"is_credits_required_estimated":true,"credits_charged":1,"next_refill_at":"2023-11-07T05:31:56Z","next_refill_credits":123},"required_permission":"logs:read","key_metadata":{"credits_consumed":123,"credits_remaining":123}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"f15fc0da-00d0-401f-acde-0c2444c24308":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Send `Authorization: Bearer \u003cAPI_KEY>`. Keys have full access unless restricted to scopes.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"8bab7947-85a2-41fd-a071-d88beb1f84a5":{"url":"https://api.context.dev/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Send `Authorization: Bearer \u003cAPI_KEY>`. Keys have full access unless restricted to scopes.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Send `Authorization: Bearer \u003cAPI_KEY>`. Keys have full access unless restricted to scopes.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"branddev","siteName":"Context.dev","title":"Submit a batch - Context.dev","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-16T05:08:49.871Z","originalFileLocation":"api-reference/batches/submit.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Context.dev\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_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/branddev/eHtzC-r-MtjWWTqp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit a batch - Context.dev\">\u003cmeta data-mint-head property=\"og:description\" content=\"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Context.dev\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.context.dev/api-reference/batches/submit\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://branddev.mintlify.app/_mintlify/api/og/v2?division=Batches\u0026amp;title=Submit+a+batch\u0026amp;description=Scrape+up+to+100%2C000+URLs%2C+or+crawl+a+site%2C+asynchronously.+Poll+the+batch+ID+or+receive+a+webhook+when+it+finishes.\u0026amp;theme=c0dd5d1e119149821dc98dca\u0026amp;signature=2cfc120e23960f341facc8da5157161cae48979c4b73c2bbf31e86abeea3bddd\">\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=\"Submit a batch - Context.dev\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://branddev.mintlify.app/_mintlify/api/og/v2?division=Batches\u0026amp;title=Submit+a+batch\u0026amp;description=Scrape+up+to+100%2C000+URLs%2C+or+crawl+a+site%2C+asynchronously.+Poll+the+batch+ID+or+receive+a+webhook+when+it+finishes.\u0026amp;theme=c0dd5d1e119149821dc98dca\u0026amp;signature=2cfc120e23960f341facc8da5157161cae48979c4b73c2bbf31e86abeea3bddd\">\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/branddev/eHtzC-r-MtjWWTqp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Context.dev\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1d4ed8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.context.dev/api-reference/batches/submit\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/batches/submit.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.context.dev/#organization\",\"name\":\"Context.dev\",\"url\":\"https://docs.context.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/branddev/4cypEtfRwMBWfh6g/logo/light.svg?fit=max\u0026auto=format\u0026n=4cypEtfRwMBWfh6g\u0026q=85\u0026s=3cc3e8728a8fb93dde6da0868afa1f63\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.context.dev#website\",\"name\":\"Context.dev\",\"url\":\"https://docs.context.dev\",\"publisher\":{\"@id\":\"https://docs.context.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.context.dev/api-reference/batches/submit#webpage\",\"url\":\"https://docs.context.dev/api-reference/batches/submit\",\"name\":\"Submit a batch\",\"description\":\"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.\",\"dateModified\":\"2026-10-16T05:08:49.871Z\",\"isPartOf\":{\"@id\":\"https://docs.context.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.context.dev/api-reference/batches/submit#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.context.dev/api-reference/batches/submit#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Context.dev\",\"item\":\"https://docs.context.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Submit a batch\",\"item\":\"https://docs.context.dev/api-reference/batches/submit\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.context.dev/api-reference/batches/submit#apireference\",\"headline\":\"Submit a batch\",\"name\":\"Submit a batch\",\"description\":\"Scrape up to 100,000 URLs, or crawl a site, asynchronously. Poll the batch ID or receive a webhook when it finishes.\",\"url\":\"https://docs.context.dev/api-reference/batches/submit\",\"mainEntityOfPage\":{\"@id\":\"https://docs.context.dev/api-reference/batches/submit#webpage\"},\"dateModified\":\"2026-10-16T05:08:49.871Z\",\"publisher\":{\"@id\":\"https://docs.context.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.context.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Context.dev\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Context.dev","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Web Data","pages":[{"title":"Scrape Anything","sidebarTitle":"Scrape Anything","openapi":"POST /web/scrape","href":"/api-reference/web-scraping/scrape"},{"title":"Map URLs","sidebarTitle":"Map URLs","openapi":"GET /web/urls","href":"/api-reference/web-scraping/map"},{"title":"Crawl a website","sidebarTitle":"Crawl Website","openapi":"POST /web/crawl","href":"/api-reference/web-scraping/crawl"},{"title":"Search the web","sidebarTitle":"Search Web","openapi":"POST /web/search","href":"/api-reference/web-scraping/search"},{"title":"Answer questions","sidebarTitle":"Answer Questions","openapi":"POST /web/answers","href":"/api-reference/web-extraction/answers"},{"title":"Parse a file","sidebarTitle":"Parse File","openapi":"POST /parse","href":"/api-reference/utility/parse"}]},{"group":"Brand Data","pages":[{"title":"Retrieve a brand","sidebarTitle":"Retrieve Brand","openapi":"POST /brand/retrieve","href":"/api-reference/brand-intelligence/brand"},{"title":"Auto-complete Brand","sidebarTitle":"Auto-complete Brand","openapi":"GET /brand/search","href":"/api-reference/brand-intelligence/search"},{"title":"Extract a styleguide","sidebarTitle":"Styleguide","openapi":"GET /web/styleguide","href":"/api-reference/brand-intelligence/styleguide"},{"title":"Prefetch brand data","sidebarTitle":"Prefetch","openapi":"POST /utility/prefetch","href":"/api-reference/utility/prefetch"}]},{"group":"Entity Enrichment","pages":[{"title":"Search people","sidebarTitle":"Search People","openapi":"POST /people/search","href":"/api-reference/people/search"},{"title":"Enrich a person","sidebarTitle":"Enrich Person","openapi":"POST /people/enrich","href":"/api-reference/people/enrich"},{"title":"Search companies","sidebarTitle":"Search Companies","openapi":"POST /company/search","href":"/api-reference/company/search"},{"title":"Search news","sidebarTitle":"Search News","description":"Search news with a natural-language query, or find company news by name, domain, ticker, or ISIN. Filter articles and continue through results with a cursor.","openapi":"POST /news/search","href":"/api-reference/news/search"}]},{"group":"Batches","pages":[{"title":"Submit a batch","sidebarTitle":"Submit","openapi":"POST /batch/submit","href":"/api-reference/batches/submit"},{"title":"List batches","sidebarTitle":"List","description":"List your batches, newest first, with optional filters.","openapi":"GET /batch/list","href":"/api-reference/batches/list"},{"title":"Retrieve a batch","sidebarTitle":"Retrieve","openapi":"GET /batch/{batch_id}","href":"/api-reference/batches/retrieve"},{"title":"List batch results","sidebarTitle":"Results","openapi":"GET /batch/{batch_id}/results","href":"/api-reference/batches/results"},{"title":"Cancel a batch","sidebarTitle":"Cancel","openapi":"POST /batch/{batch_id}/cancel","href":"/api-reference/batches/cancel"},{"title":"Delete a batch","sidebarTitle":"Delete","openapi":"DELETE /batch/{batch_id}","href":"/api-reference/batches/delete"},{"group":"Webhooks","pages":[{"title":"Receive batch.completed events","sidebarTitle":"batch.completed","openapi":"webhook batchCompleted","href":"/api-reference/batches/webhooks/completed"},{"title":"Receive batch.failed events","sidebarTitle":"batch.failed","openapi":"webhook batchFailed","href":"/api-reference/batches/webhooks/failed"},{"title":"Receive batch.cancelled events","sidebarTitle":"batch.cancelled","openapi":"webhook batchCancelled","href":"/api-reference/batches/webhooks/cancelled"}]}]},{"group":"Monitors","pages":[{"group":"Management","pages":[{"title":"Create a monitor","sidebarTitle":"Create","openapi":"POST /monitors","href":"/api-reference/monitors/create"},{"title":"List monitors","sidebarTitle":"List","openapi":"GET /monitors","href":"/api-reference/monitors/list"},{"title":"Retrieve a monitor","sidebarTitle":"Retrieve","openapi":"GET /monitors/{monitor_id}","href":"/api-reference/monitors/retrieve"},{"title":"Update a monitor","sidebarTitle":"Update","openapi":"PATCH /monitors/{monitor_id}","href":"/api-reference/monitors/update"},{"title":"Delete a monitor","sidebarTitle":"Delete","openapi":"DELETE /monitors/{monitor_id}","href":"/api-reference/monitors/delete"}]},{"group":"Runs","pages":[{"title":"Run a monitor now","sidebarTitle":"Run Now","openapi":"POST /monitors/{monitor_id}/run","href":"/api-reference/monitors/run"},{"title":"List monitor runs","sidebarTitle":"List Runs","openapi":"GET /monitors/{monitor_id}/runs","href":"/api-reference/monitors/runs"},{"title":"Retrieve a monitor run","sidebarTitle":"Retrieve Run","openapi":"GET /monitors/{monitor_id}/runs/{run_id}","href":"/api-reference/monitors/retrieve-run"},{"title":"List runs for all monitors","sidebarTitle":"All Runs","openapi":"GET /monitors/runs","href":"/api-reference/monitors/account-runs"}]},{"group":"Changes","pages":[{"title":"List monitor changes","sidebarTitle":"List Changes","openapi":"GET /monitors/{monitor_id}/changes","href":"/api-reference/monitors/changes"},{"title":"Retrieve a monitor change","sidebarTitle":"Retrieve Change","openapi":"GET /monitors/changes/{change_id}","href":"/api-reference/monitors/change"},{"title":"List changes for all monitors","sidebarTitle":"All Changes","openapi":"GET /monitors/changes","href":"/api-reference/monitors/account-changes"}]},{"group":"Usage \u0026 Limits","pages":[{"title":"Retrieve monitor limits","sidebarTitle":"Limits","openapi":"GET /monitors/limits","href":"/api-reference/monitors/limits"},{"title":"Retrieve monitor credit usage","sidebarTitle":"Credit Usage","openapi":"GET /monitors/credit-usage","href":"/api-reference/monitors/credit-usage"}]},{"group":"Webhooks","pages":[{"title":"Receive change.detected events","sidebarTitle":"change.detected","openapi":"webhook monitorChangeDetected","href":"/api-reference/monitors/webhook-payload"},{"title":"Receive run.completed events","sidebarTitle":"run.completed","openapi":"webhook monitorRunCompleted","href":"/api-reference/monitors/webhook-run-completed"},{"title":"Rotate a monitor webhook secret","sidebarTitle":"Rotate Secret","openapi":"POST /monitors/{monitor_id}/webhook/rotate-secret","href":"/api-reference/monitors/rotate-webhook-secret"}]}]},{"group":"Webhook Deliveries","pages":[{"title":"List webhook deliveries","sidebarTitle":"List","openapi":"POST /webhooks/deliveries","href":"/api-reference/webhooks/list"},{"title":"Retrieve a webhook delivery","sidebarTitle":"Retrieve","openapi":"GET /webhooks/deliveries/{delivery_id}","href":"/api-reference/webhooks/retrieve"},{"title":"List webhook delivery attempts","sidebarTitle":"Attempts","openapi":"GET /webhooks/deliveries/{delivery_id}/attempts","href":"/api-reference/webhooks/attempts"},{"title":"Retry a webhook delivery","sidebarTitle":"Retry","openapi":"POST /webhooks/deliveries/{delivery_id}/retry","href":"/api-reference/webhooks/retry"}]},{"group":"Access Policies","pages":[{"title":"Create an access policy","sidebarTitle":"Create","openapi":"POST /access-policies","href":"/api-reference/access-policies/create"},{"title":"List access policies","sidebarTitle":"List","openapi":"GET /access-policies","href":"/api-reference/access-policies/list"},{"title":"Retrieve an access policy","sidebarTitle":"Retrieve","openapi":"GET /access-policies/{policy_id}","href":"/api-reference/access-policies/retrieve"},{"title":"Update an access policy","sidebarTitle":"Update","openapi":"PATCH /access-policies/{policy_id}","href":"/api-reference/access-policies/update"},{"title":"Delete an access policy","sidebarTitle":"Delete","openapi":"DELETE /access-policies/{policy_id}","href":"/api-reference/access-policies/delete"}]},{"group":"Account","pages":[{"title":"List request logs","sidebarTitle":"List logs","openapi":"GET /org/logs","href":"/api-reference/logs/list"},{"title":"Retrieve a request log","sidebarTitle":"Retrieve log","openapi":"GET /org/logs/{request_id}","href":"/api-reference/logs/retrieve"},{"title":"List browser profiles","sidebarTitle":"List browser profiles","openapi":"GET /org/browser/profiles","href":"/api-reference/browser-profiles/list"},{"title":"Retrieve credit usage","sidebarTitle":"Credit usage","openapi":"GET /org/usage","href":"/api-reference/usage/retrieve"},{"title":"Retrieve usage history","sidebarTitle":"Usage history","openapi":"GET /org/usage/history","href":"/api-reference/usage/history"}]},{"group":"Agent Feedback","pages":[{"title":"Submit agent feedback","sidebarTitle":"Submit","openapi":"POST /feedback","href":"/api-reference/feedback/submit"}]}]},{"tab":"Recipes","icon":"lightbulb","pages":[{"title":"Recipes","href":"/use-cases/live-web-context-for-agents"}]},{"tab":"Integrations","icon":"puzzle-piece","pages":[{"title":"Integrations","href":"/integrations/claude-connector"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Submit a batch - Context.dev","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}