Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.
GET
/
api
/
v1
/
records
Incremental completed records and subsequent changes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"GEOly Docs","colors":{"primary":"#0A0A0A","light":"#FAFAFA","dark":"#0A0A0A"},"logo":{"light":"https://mintcdn.com/ge-oly/Cn9GPNuGnA715ktI/logo/light.svg?fit=max\u0026auto=format\u0026n=Cn9GPNuGnA715ktI\u0026q=85\u0026s=d3cea28520cc9660b9bd70ab642920fe","dark":"https://mintcdn.com/ge-oly/Cn9GPNuGnA715ktI/logo/dark.svg?fit=max\u0026auto=format\u0026n=Cn9GPNuGnA715ktI\u0026q=85\u0026s=27331f9b0a5bcd18013b345d305edbcd","href":"https://www.geoly.ai"},"favicon":"https://mintcdn.com/ge-oly/Cn9GPNuGnA715ktI/favicon.png?fit=max\u0026auto=format\u0026n=Cn9GPNuGnA715ktI\u0026q=85\u0026s=357b47b037719a7aee6ea367a758d2e2","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript"]}},"navbar":{"links":[{"href":"https://www.geoly.ai/blog","label":"Blog"},{"href":"https://www.geoly.ai/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Sign in","href":"https://app.geoly.ai"}},"footer":{"socials":{"website":"https://www.geoly.ai"}},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"zh","href":"zh"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ge-oly","hasAudioNarration":false,"actualSubdomain":"ge-oly","customDomains":["docs.geoly.ai"],"gitSource":{"type":"github","owner":"geoly-ai","repo":"geoly-web-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6ae8442a0b211b76a285b925"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae868924729f9837cf157d2","collectionId":"4954b9a1-24f0-43a8-9a87-bb3a554577d0","liveDeploymentHistoryId":"6ae868924729f9837cf157d2","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae868924729f9837cf157d2","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"zh","tag":"文档","count":20},{"language":"en","tag":"API Reference","count":18},{"language":"zh","tag":"API Reference","count":18},{"language":"en","tag":"Documentation","count":15},{"language":"en","tag":"Reports","count":6},{"language":"zh","tag":"洞察","count":6},{"language":"zh","tag":"报表","count":6},{"language":"en","tag":"Records","count":5},{"language":"zh","tag":"监测记录","count":5},{"language":"en","tag":"Catalog","count":4},{"language":"en","tag":"Get started","count":4},{"language":"zh","tag":"目录","count":4},{"language":"en","tag":"Insights","count":3},{"language":"en","tag":"MCP Server","count":3},{"language":"en","tag":"Shopify app","count":3},{"language":"zh","tag":"监测","count":3},{"language":"zh","tag":"MCP Server","count":3},{"language":"zh","tag":"入门","count":3},{"language":"zh","tag":"Shopify 应用","count":3},{"language":"en","tag":"Monitoring","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"zh/api-reference/records/sync-records","slug":"/zh/api-reference/records/sync-records","pageMetadata":{"title":"增量同步记录","openapi":"api-reference/openapi.json GET /api/v1/records","description":"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.","href":"/zh/api-reference/records/sync-records"},"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: \"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"增量同步记录","openapi":"api-reference/openapi.json GET /api/v1/records","description":"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.","href":"/zh/api-reference/records/sync-records"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"listRecordsFeed","summary":"Incremental completed records and subsequent changes","description":"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.","tags":["Records"],"security":["301959f6-eba0-4950-b66b-5a25fc3fa106"],"x-geoly-stability":"stable","x-geoly-cost":{"tier":"light","base":1,"unit":"call","long_window_multiplier":null,"guard_rpm":20},"x-geoly-required-permission":"prompt:read","x-geoly-pagination":{"style":"feed","limit_param":"limit","max_limit":100,"cursor_param":"cursor","next_cursor_path":"$.page.next_cursor","checkpoint_path":"$.page.sync_cursor","scan_limit":1000},"x-speakeasy-pagination":{"type":"cursor","inputs":[{"name":"cursor","in":"parameters","type":"cursor"}],"outputs":{"nextCursor":"$.page.next_cursor"}},"parameters":["f91660ec-995a-478a-b376-718e84764589","c750af44-c66c-4853-9da6-9ece55336910","b5fba252-c18e-4bd0-aba7-20798ecec2ce","a4945567-751e-4c16-a884-4b7174c95f8e","f4a2b13f-15f6-4db8-ad3e-8a7f18c76388"],"responses":{"200":"2a623591-bc12-4c87-89ab-d70219f83a98","400":"def0afa3-8761-4bb5-a091-7d65c6f57c24","401":"1473d5a7-d420-4278-99aa-477aeeb053d4","402":"579e84a2-1e38-4ff7-9be7-3060e3112f7d","403":"868c5e10-a303-4446-bec9-e9596cd91077","422":"74a45657-219b-432a-a559-3b680da4a2c0","429":"f9755513-0405-48de-868c-eedab02fab95","500":"6c6a5d46-30fa-46c7-9192-7f493bb64682","503":"a3fc03f7-7c41-4c21-bd2b-5ec619fb1efc"},"method":"get","type":"path","servers":["ff9899c6-8f8e-4cb4-84f4-02cccd12d5a4"],"path":"/api/v1/records","baseUrlOptions":["https://app.geoly.ai"],"title":"Incremental completed records and subsequent changes","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f91660ec-995a-478a-b376-718e84764589":{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100,"isRequired":false,"uniqueKey":"","typeLabel":"integer"}},"c750af44-c66c-4853-9da6-9ece55336910":{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":1024,"isRequired":false,"uniqueKey":"","typeLabel":"string"}},"b5fba252-c18e-4bd0-aba7-20798ecec2ce":{"name":"updated_since","in":"query","required":false,"description":"Initial inclusive lower bound on changed_at for the first page (UTC with milliseconds). Ignored when cursor is present.","schema":{"default":"1970-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":false,"description":"Initial inclusive lower bound on changed_at for the first page (UTC with milliseconds). Ignored when cursor is present.","uniqueKey":"","typeLabel":"string\u003cdate-time>"}},"a4945567-751e-4c16-a884-4b7174c95f8e":{"name":"business_date_from","in":"query","required":false,"description":"Optional earliest business day; filters inside each scanned batch and does not shorten the scan (UTC+8 business day, YYYY-MM-DD).","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","isRequired":false,"description":"Optional earliest business day; filters inside each scanned batch and does not shorten the scan (UTC+8 business day, YYYY-MM-DD).","uniqueKey":"","typeLabel":"string"}},"f4a2b13f-15f6-4db8-ad3e-8a7f18c76388":{"name":"include","in":"query","required":false,"schema":{"type":"string","enum":["answer_text","citations","answer_text,citations"],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"2a623591-bc12-4c87-89ab-d70219f83a98":{"description":"Incremental completed records and subsequent changes. `data` follows RecordFeed when meta.schema_conformant is true.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].id","typeLabel":"string"},"prompt_id":{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].prompt_id","typeLabel":"string"},"prompt_text":{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].prompt_text","typeLabel":"string"},"platform_code":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].platform_code.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].platform_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].platform_code","typeLabel":"string | null"},"platform_name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].platform_name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].platform_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].platform_name","typeLabel":"string | null"},"record_date_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].record_date_at","typeLabel":"string\u003cdate-time>"},"business_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].business_date","typeLabel":"string"},"changed_at":{"description":"Update position of this record (prompt_record.updated_at, microseconds). The feed orders by changed_at then id; upsert by id.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].changed_at","typeLabel":"string\u003cdate-time>"},"status":{"type":"string","const":"completed","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].status","typeLabel":"string"},"mentions":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].mentions.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].mentions.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].mentions","typeLabel":"integer | null"},"mention_rank":{"oneOf":[{"type":"integer","description":"Read-time value. Rank backfills do not advance changed_at, so this can change while changed_at stays the same and the feed will not re-emit the record for it. To reconcile, poll again from an updated_since rewound by an overlap of at least 24 hours, or re-read records by record date.","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].mention_rank.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Read-time value. Rank backfills do not advance changed_at, so this can change while changed_at stays the same and the feed will not re-emit the record for it. To reconcile, poll again from an updated_since rewound by an overlap of at least 24 hours, or re-read records by record date.","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].mention_rank.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].mention_rank","typeLabel":"integer | null"},"sentiment":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].sentiment.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].sentiment.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].sentiment","typeLabel":"string | null"},"sentiment_polarity":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].sentiment_polarity.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].sentiment_polarity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].sentiment_polarity","typeLabel":"number | null"},"answer_text":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].answer_text.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].answer_text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].answer_text","typeLabel":"string | null"},"citations":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].id","typeLabel":"string"},"source_type":{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].source_type","typeLabel":"string"},"url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].url","typeLabel":"string | null"},"domain":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].domain.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].domain.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].domain","typeLabel":"string | null"},"title":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].title","typeLabel":"string | null"},"position":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].position.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].position.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].position","typeLabel":"integer | null"}},"required":["id","source_type","url","domain","title","position"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX].additionalProperties","typeLabel":"any"},"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Requested with include=citations: up to 30 per record, ordered by position (nulls last) then id — the same order and cut as GET /api/v1/records/{record_id}. citations_truncated flags a cut.","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"id":{"type":"string"},"source_type":{"type":"string"},"url":{"oneOf":[{"type":"string"},{"type":"null"}]},"domain":{"oneOf":[{"type":"string"},{"type":"null"}]},"title":{"oneOf":[{"type":"string"},{"type":"null"}]},"position":{"oneOf":[{"type":"integer"},{"type":"null"}]}},"required":["id","source_type","url","domain","title","position"],"additionalProperties":{"oneOf":[{}]}},"description":"Requested with include=citations: up to 30 per record, ordered by position (nulls last) then id — the same order and cut as GET /api/v1/records/{record_id}. citations_truncated flags a cut.","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations","typeLabel":"object[] | null"},"citations_truncated":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations_truncated.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations_truncated.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.items.[INDEX].citations_truncated","typeLabel":"boolean | null"}},"required":["id","prompt_id","prompt_text","platform_code","platform_name","record_date_at","business_date","changed_at","status","mentions","mention_rank","sentiment","sentiment_polarity","answer_text","citations","citations_truncated"],"additionalProperties":{"oneOf":[{}],"uniqueKey":"data.oneOf.0.items.[INDEX].additionalProperties","typeLabel":"any"},"uniqueKey":"data.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Incremental completed records and subsequent changes. null only when meta.schema_conformant is false and the output could not be mapped.","isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Incremental completed records and subsequent changes. null only when meta.schema_conformant is false and the output could not be mapped.","isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data","typeLabel":"object[] | null"},"page":{"type":"object","description":"Bounded incremental scan. Empty pages can have a continuation. Persist sync_cursor after processing data; do not advance on schema_conformant=false.","properties":{"next_cursor":{"oneOf":[{"type":"string","description":"Continue this scan: pass as `cursor` with the same limit, business_date_from and include (updated_since is ignored with a cursor). null = caught up to the watermark.","isRequired":true,"uniqueKey":"page.next_cursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Continue this scan: pass as `cursor` with the same limit, business_date_from and include (updated_since is ignored with a cursor). null = caught up to the watermark.","isRequired":true,"uniqueKey":"page.next_cursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"page.next_cursor","typeLabel":"string | null"},"sync_cursor":{"oneOf":[{"type":"string","description":"Checkpoint to persist together with the processed rows. After next_cursor is null, poll later with it (every 5 to 15 minutes is enough). null only when schema_conformant is false: do not advance.","isRequired":true,"uniqueKey":"page.sync_cursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Checkpoint to persist together with the processed rows. After next_cursor is null, poll later with it (every 5 to 15 minutes is enough). null only when schema_conformant is false: do not advance.","isRequired":true,"uniqueKey":"page.sync_cursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"page.sync_cursor","typeLabel":"string | null"},"limit":{"type":"integer","isRequired":true,"uniqueKey":"page.limit","typeLabel":"integer"},"scanned":{"type":"integer","uniqueKey":"page.scanned","typeLabel":"integer"},"watermark_at":{"type":"string","format":"date-time","description":"Exclusive upper bound of this scan: at least five minutes behind database time and never past the oldest in-flight transaction.","uniqueKey":"page.watermark_at","typeLabel":"string\u003cdate-time>"}},"required":["next_cursor","sync_cursor","limit"],"isRequired":true,"uniqueKey":"page","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","description":"Report name for POST /api/v1/reports/{report}; resource labels include quota, brand, topics, prompt-catalog, prompt, prompt-records, prompt-records-latest, record, record-feed, created-prompt and prompt-run.","isRequired":true,"uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","isRequired":true,"uniqueKey":"meta.duration_ms","typeLabel":"integer"},"schema_conformant":{"type":"boolean","description":"true = data matches the documented schema exactly (every declared key present). false = the report output drifted; data is still returned as mapped (or null) — treat it as best effort.","isRequired":true,"uniqueKey":"meta.schema_conformant","typeLabel":"boolean"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id","report","duration_ms","schema_conformant"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["data","page","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":[{"id":"\u003cstring>","prompt_id":"\u003cstring>","prompt_text":"\u003cstring>","platform_code":"\u003cstring>","platform_name":"\u003cstring>","record_date_at":"2023-11-07T05:31:56Z","business_date":"\u003cstring>","changed_at":"2023-11-07T05:31:56Z","status":"completed","mentions":123,"mention_rank":123,"sentiment":"\u003cstring>","sentiment_polarity":123,"answer_text":"\u003cstring>","citations":[{"id":"\u003cstring>","source_type":"\u003cstring>","url":"\u003cstring>","domain":"\u003cstring>","title":"\u003cstring>","position":123}],"citations_truncated":true}],"page":{"next_cursor":"\u003cstring>","sync_cursor":"\u003cstring>","limit":123,"scanned":123,"watermark_at":"2023-11-07T05:31:56Z"},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"schema_conformant":true,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"def0afa3-8761-4bb5-a091-7d65c6f57c24":{"description":"INVALID_ARGUMENT (unknown query parameter, non-integer or out-of-range number, invalid enum value — details.errors[] lists each {param, reason, allowed?}) / INVALID_CURSOR (the cursor is malformed, or limit, business_date_from or include differ from the request that issued it; resend them unchanged, or start a new pass from updated_since). Not charged.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"1473d5a7-d420-4278-99aa-477aeeb053d4":{"description":"UNAUTHORIZED: missing or invalid API key.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"579e84a2-1e38-4ff7-9be7-3060e3112f7d":{"description":"QUOTA_EXCEEDED / SUBSCRIPTION_INACTIVE / ORG_NOT_ELIGIBLE. Not charged.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"868c5e10-a303-4446-bec9-e9596cd91077":{"description":"API_KEY_BRAND_REQUIRED (the key is not bound to a brand) / PERMISSION_DENIED (the key lacks the read permission in x-geoly-required-permission; details.required names it). Not charged.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"74a45657-219b-432a-a559-3b680da4a2c0":{"description":"RESPONSE_TOO_LARGE: response exceeds 4 MB; omit include=answer_text to retrieve metadata. Rejected before settlement.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"f9755513-0405-48de-868c-eedab02fab95":{"description":"RATE_LIMITED / GUARDED_RATE_LIMITED / BUSY / BUDGET_EXCEEDED. Not charged; honor Retry-After and pace with X-DB-Budget-*.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying (429; 503 when retryable).","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"6c6a5d46-30fa-46c7-9192-7f493bb64682":{"description":"INTERNAL_ERROR: unexpected server error (not charged). Retry once with backoff; report the Request-Id if it persists.","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"a3fc03f7-7c41-4c21-bd2b-5ec619fb1efc":{"description":"TOOL_TIMEOUT / OVERLOADED / CIRCUIT_OPEN / TOOL_FAILED / FEED_NOT_READY (the dedicated feed index or the safe watermark is not available; no fallback scan was run). Not charged; retry later, honoring Retry-After when present. (502 / 504 are never used.)","headers":{"Request-Id":{"description":"Unique id of this request (equals meta.request_id). Include it when reporting a problem.","schema":{"type":"string"}},"GEOly-API-Version":{"description":"API contract version. Always \"1\" on /api/v1.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per credential in the current one-minute window. Sent on every response after the API key has been authenticated; absent on errors raised while authenticating (401) and on 405.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the current window resets (0–60).","schema":{"type":"integer"}},"X-DB-Budget-Limit":{"description":"Organization database-seconds budget per rolling 60 minutes. Sent on every response after authentication.","schema":{"type":"integer"}},"X-DB-Budget-Used":{"description":"Database seconds used by the organization in the last 60 minutes.","schema":{"type":"integer"}},"X-DB-Budget-Reset":{"description":"Seconds until the oldest usage bucket expires.","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying (429; 503 when retryable).","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"[Extensible enum] One of x-geoly-error-codes.","examples":["INVALID_BODY","INVALID_ARGUMENT","INVALID_CURSOR","IDEMPOTENCY_KEY_INVALID","FAILED_PRECONDITION","UNAUTHORIZED","SUBSCRIPTION_INACTIVE","QUOTA_EXCEEDED","ORG_NOT_ELIGIBLE","PLAN_LIMIT_REACHED","API_KEY_BRAND_REQUIRED","ORG_SELECTION_REQUIRED","ORGANIZATION_REQUIRED","PERMISSION_DENIED","REPORT_NOT_FOUND","NOT_FOUND","METHOD_NOT_ALLOWED","IDEMPOTENCY_KEY_REUSED","REQUEST_IN_PROGRESS","IDEMPOTENCY_OUTCOME_UNKNOWN","TOOL_SURFACE_RETIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","QUERY_TOO_EXPENSIVE","RESPONSE_TOO_LARGE","RATE_LIMITED","GUARDED_RATE_LIMITED","BUSY","BUDGET_EXCEEDED","INTERNAL_ERROR","TOOL_TIMEOUT","OVERLOADED","CIRCUIT_OPEN","TOOL_FAILED","FEED_NOT_READY","IDEMPOTENCY_UNAVAILABLE"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"For humans; do not parse.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","description":"Stable keys: errors[] ({param, reason, allowed?, message}) on INVALID_ARGUMENT; reason; required (PERMISSION_DENIED); retry_after_seconds (429); max_bytes / actual_bytes (413 / 422); _quota (receipt); resource / id (404 NOT_FOUND of a single-resource endpoint). Other keys are informational and may change.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"report":{"type":"string","uniqueKey":"meta.report","typeLabel":"string"},"duration_ms":{"type":"integer","uniqueKey":"meta.duration_ms","typeLabel":"integer"},"quota":{"type":"object","description":"Billing outcome of this call. remaining / resets_at / unlimited are null on paths that never reserved credits (free reports, calls rejected before execution) — except QUOTA_EXCEEDED, which carries the live balance. Absent when the call was rejected before the report ran (schema errors, cursor errors, authentication).","properties":{"cost":{"type":"integer","description":"Credits actually charged for this call.","isRequired":true,"uniqueKey":"meta.quota.cost","typeLabel":"integer"},"unlimited":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"meta.quota.unlimited.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.unlimited","typeLabel":"boolean | null"},"remaining":{"oneOf":[{"type":"integer","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits left this period; null when unlimited or unknown on this path.","isRequired":true,"uniqueKey":"meta.quota.remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.remaining","typeLabel":"integer | null"},"resets_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"meta.quota.resets_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.resets_at","typeLabel":"string\u003cdate-time> | null"},"charge":{"type":"string","examples":["charged","min_fee","free","refunded","refund_pending","unbilled"],"description":"[Extensible enum] charged = normal settlement (per row, or one call for a call-priced read — including a not-found from the prompt or record detail); min_fee = minimum call fee (no data / not found from a per-row report / platform not purchased / missing locale); free = free report or endpoint; refunded / refund_pending = failed and refunded; unbilled = rejected before execution, or not metered.","isRequired":true,"uniqueKey":"meta.quota.charge","typeLabel":"string"},"min_fee_reason":{"oneOf":[{"type":"string","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.0","typeLabel":"string"},{"type":"null","examples":["missing_locale","no_data",null],"description":"[Extensible enum]","isRequired":true,"uniqueKey":"meta.quota.min_fee_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.quota.min_fee_reason","typeLabel":"string | null"}},"required":["cost","unlimited","remaining","resets_at","charge","min_fee_reason"],"uniqueKey":"meta.quota","typeLabel":"object"}},"required":["request_id"],"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["error","meta"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_BODY","message":"\u003cstring>","details":{}},"meta":{"request_id":"\u003cstring>","report":"\u003cstring>","duration_ms":123,"quota":{"cost":123,"unlimited":true,"remaining":123,"resets_at":"2023-11-07T05:31:56Z","charge":"charged","min_fee_reason":"missing_locale"}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"301959f6-eba0-4950-b66b-5a25fc3fa106":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key from Settings → Developer → API keys (prefix geom_). Each key is bound to one brand.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"ff9899c6-8f8e-4cb4-84f4-02cccd12d5a4":{"url":"https://app.geoly.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key from Settings → Developer → API keys (prefix geom_). Each key is bound to one brand.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key from Settings → Developer → API keys (prefix geom_). Each key is bound to one brand.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"ge-oly","siteName":"GEOly Docs","title":"增量同步记录 - GEOly Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/records/sync-records","matchLevel":1},"zh":{"href":"/zh/api-reference/records/sync-records","matchLevel":0}}},"lastModified":"2026-11-02T10:40:30.478Z","originalFileLocation":"zh/api-reference/records/sync-records.mdx","locale":"zh"},"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=\"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GEOly Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_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/ge-oly/PxJaGKKHma1N8v8R/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"增量同步记录 - GEOly Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GEOly Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.geoly.ai/zh/api-reference/records/sync-records\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ge-oly.mintlify.app/_mintlify/api/og/v2?division=%E7%9B%91%E6%B5%8B%E8%AE%B0%E5%BD%95\u0026amp;title=%E5%A2%9E%E9%87%8F%E5%90%8C%E6%AD%A5%E8%AE%B0%E5%BD%95\u0026amp;description=Completed+records+ordered+by+changed_at+then+id%2C+not+by+record+date%2C+so+a+late+completion+appears+at+its+completion+update.+Uses+a+dedicated+index+and+a+safe+wa\u0026amp;theme=6f479ed031130532e88a7020\u0026amp;signature=4982532d696d22764f704be618b2cff796728cd8a6f443e756e68258d1fbd7b2\">\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=\"增量同步记录 - GEOly Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ge-oly.mintlify.app/_mintlify/api/og/v2?division=%E7%9B%91%E6%B5%8B%E8%AE%B0%E5%BD%95\u0026amp;title=%E5%A2%9E%E9%87%8F%E5%90%8C%E6%AD%A5%E8%AE%B0%E5%BD%95\u0026amp;description=Completed+records+ordered+by+changed_at+then+id%2C+not+by+record+date%2C+so+a+late+completion+appears+at+its+completion+update.+Uses+a+dedicated+index+and+a+safe+wa\u0026amp;theme=6f479ed031130532e88a7020\u0026amp;signature=4982532d696d22764f704be618b2cff796728cd8a6f443e756e68258d1fbd7b2\">\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/ge-oly/PxJaGKKHma1N8v8R/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GEOly Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A0A0A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.geoly.ai/zh/api-reference/records/sync-records\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/zh/api-reference/records/sync-records.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.geoly.ai/zh/api-reference/records/sync-records\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.geoly.ai/api-reference/records/sync-records\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.geoly.ai/api-reference/records/sync-records\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.geoly.ai/#organization\",\"name\":\"GEOly Docs\",\"url\":\"https://docs.geoly.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ge-oly/Cn9GPNuGnA715ktI/logo/light.svg?fit=max\u0026auto=format\u0026n=Cn9GPNuGnA715ktI\u0026q=85\u0026s=d3cea28520cc9660b9bd70ab642920fe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.geoly.ai#website\",\"name\":\"GEOly Docs\",\"url\":\"https://docs.geoly.ai\",\"publisher\":{\"@id\":\"https://docs.geoly.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records#webpage\",\"url\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records\",\"name\":\"增量同步记录\",\"description\":\"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.\",\"dateModified\":\"2026-11-02T10:40:30.478Z\",\"isPartOf\":{\"@id\":\"https://docs.geoly.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"监测记录\",\"item\":\"https://docs.geoly.ai/zh/api-reference/records/list-prompt-records\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"增量同步记录\",\"item\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records#apireference\",\"headline\":\"增量同步记录\",\"name\":\"增量同步记录\",\"description\":\"Completed records ordered by changed_at then id, not by record date, so a late completion appears at its completion update. Uses a dedicated index and a safe watermark at least five minutes behind database time; a long-running database transaction that has already written holds the watermark at five minutes before its start until it ends, and polls in that time return nothing newer but are still billed. Scan work is bounded, so an empty page can have next_cursor. Follow next_cursor until it is null, then save page.sync_cursor and poll with it; every 5 to 15 minutes is enough, because nothing newer than the watermark is returned. Bound the first sync with updated_since rather than business_date_from, which filters inside each scanned batch and does not shorten the scan. With a cursor, updated_since is ignored; keep limit, business_date_from and include unchanged. Repeated records are updates: upsert by id. Analysis fields are read-time values: mention_rank backfills do not advance changed_at, so a rank change alone is not re-emitted. Deletions and records that leave completed are not emitted either. Reconcile by starting a separate pass without a cursor from an updated_since rewound at least 24 hours (a rewound updated_since sent together with a saved cursor is ignored and reconciles nothing), or by re-reading records by record date. Optional answer_text and citations expansions; citations cap at 30 with a flag. Every call, including an empty poll, is billed at the price in x-geoly-cost.\",\"url\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records\",\"mainEntityOfPage\":{\"@id\":\"https://docs.geoly.ai/zh/api-reference/records/sync-records#webpage\"},\"dateModified\":\"2026-11-02T10:40:30.478Z\",\"publisher\":{\"@id\":\"https://docs.geoly.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.geoly.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GEOly Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"GEOly Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/api-reference/records/sync-records"}]},{"language":"zh","tabs":[{"tab":"文档","icon":"book-open","pages":[{"title":"文档","href":"/zh"}]},{"tab":"MCP Server","icon":"plug","pages":[{"title":"MCP Server","href":"/zh/developers/mcp"}]},{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"开始使用","icon":"book-open","pages":[{"title":"GEOly Data API","sidebarTitle":"概览","href":"/zh/developers/data-api"}]},{"group":"账号","icon":"user","pages":[{"title":"获取品牌","openapi":"api-reference/openapi.json GET /api/v1/brand","href":"/zh/api-reference/account/get-brand"},{"title":"查询额度","openapi":"api-reference/openapi.json GET /api/v1/quota","href":"/zh/api-reference/account/get-quota"}]},{"group":"目录","icon":"list","pages":[{"title":"列出主题","openapi":"api-reference/openapi.json GET /api/v1/topics","href":"/zh/api-reference/catalog/list-topics"},{"title":"列出提示词","openapi":"api-reference/openapi.json GET /api/v1/prompts","href":"/zh/api-reference/catalog/list-prompts"},{"title":"获取提示词","openapi":"api-reference/openapi.json GET /api/v1/prompts/{prompt_id}","href":"/zh/api-reference/catalog/get-prompt"},{"title":"创建提示词","openapi":"api-reference/openapi.json POST /api/v1/prompts","href":"/zh/api-reference/catalog/create-prompt"}]},{"group":"监测记录","icon":"database","pages":[{"title":"列出提示词的监测记录","openapi":"api-reference/openapi.json GET /api/v1/prompts/{prompt_id}/records","href":"/zh/api-reference/records/list-prompt-records"},{"title":"获取各平台最新记录","openapi":"api-reference/openapi.json GET /api/v1/prompts/{prompt_id}/records/latest","href":"/zh/api-reference/records/get-latest-records"},{"title":"获取单条监测记录","openapi":"api-reference/openapi.json GET /api/v1/records/{record_id}","description":"Answer text is only returned when include=answer_text. Citations, search sources and shopping are bounded (30/30/20), with total counts and truncation flags. Internal provider errors and raw analysis are excluded. Responses exceeding 4 MB are rejected before settlement; omit include to fetch metadata. Billed per call at the price in x-geoly-cost, using the existing MCP credit meter. Billing outcomes are in meta.quota.","href":"/zh/api-reference/records/get-record"},{"title":"增量同步记录","openapi":"api-reference/openapi.json GET /api/v1/records","href":"/zh/api-reference/records/sync-records"},{"title":"触发监测","openapi":"api-reference/openapi.json POST /api/v1/prompts/{prompt_id}/runs","description":"Returns 202 when work was dispatched, otherwise 200 when naturally deduplicated. Location points to monitoring records. Consumes monitoring credits through the existing trigger. Refusals decided before anything is written (plan prompt limit, archived prompt, no allowed or available platform, expired plan) return 4xx with details.reason set to the original tool code and details.write_outcome = not_started; the idempotency key is released. Optional Idempotency-Key uses a 24-hour completed-result window; unknown outcomes require inspection, never a blind retry.","href":"/zh/api-reference/records/trigger-run"}]},{"group":"报表","icon":"chart-column","pages":[{"title":"品牌可见度概览","openapi":"api-reference/openapi.json POST /api/v1/reports/overview","href":"/zh/api-reference/reports/overview"},{"title":"每日可见度指标","openapi":"api-reference/openapi.json POST /api/v1/reports/analytics","href":"/zh/api-reference/reports/analytics"},{"title":"品牌榜","openapi":"api-reference/openapi.json POST /api/v1/reports/brand-board","href":"/zh/api-reference/reports/brand-board"},{"title":"引用来源榜","openapi":"api-reference/openapi.json POST /api/v1/reports/citations","href":"/zh/api-reference/reports/citations"},{"title":"提示词表现表","openapi":"api-reference/openapi.json POST /api/v1/reports/prompts","href":"/zh/api-reference/reports/prompts"},{"title":"单条提示词概览","openapi":"api-reference/openapi.json POST /api/v1/reports/prompt-overview","href":"/zh/api-reference/reports/prompt-overview"}]}]}]}]},"basePath":"","title":"增量同步记录 - GEOly Docs","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"]}