[
 {
  "provider": "anthropic",
  "name": "anthropic-beta",
  "direction": "request",
  "required": "no",
  "description": "Comma-separated beta feature names, header may be repeated; unknown → 400. SDKs: `betas=[...]`; CLI: `--beta a,b`. Full list in the models/beta fragment (46 values documented).",
  "example": "anthropic-beta: context-management-2025-06-27,fast-mode-2026-02-01",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/beta-headers",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "x-api-key",
  "direction": "request",
  "required": "yes (unless Authorization)",
  "description": "Console API key. Described as the legacy fallback for Authorization but still fully supported (used by the SDKs and this atlas). Invalid → 401 'invalid x-api-key'.",
  "example": "x-api-key: sk-ant-…",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "Authorization",
  "direction": "request",
  "required": "yes (unless x-api-key)",
  "description": "`Bearer <token>`: API key, or short-lived access token from POST /v1/oauth/token (Workload Identity Federation) or `ant auth login` (OAuth). SDKs: `auth_token` / ANTHROPIC_AUTH_TOKEN.",
  "example": "Authorization: Bearer <token>",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-version",
  "direction": "request",
  "required": "yes",
  "description": "API version date. Only `2023-06-01` is current; live: `2020-01-01` → 400 'is not a valid version', `2023-01-01` → 400 'not allowed for this endpoint' (Messages). SDKs send 2023-06-01 automatically.",
  "example": "anthropic-version: 2023-06-01",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/versioning",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "content-type",
  "direction": "request",
  "required": "yes (with body)",
  "description": "application/json. Malformed JSON → 400 'The request body is not valid JSON'.",
  "example": "content-type: application/json",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "accept",
  "direction": "request",
  "required": "no",
  "description": "Not required; streaming responses are text/event-stream regardless.",
  "example": "accept: text/event-stream",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-workspace-id",
  "direction": "request",
  "required": "required for multi-workspace keys",
  "description": "Workspace to act in (wrkspc_…); optional otherwise; not used with WIF.",
  "example": "anthropic-workspace-id: wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-user-profile-id",
  "direction": "request",
  "required": "no (beta)",
  "description": "Attribute the request to a user profile (requires a user-profiles-* beta header).",
  "example": "anthropic-user-profile-id: …",
  "status": [
   "DOCUMENTED",
   "BETA"
  ],
  "source": "https://platform.claude.com/docs/en/api/messages",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "request-id",
  "direction": "response",
  "required": "always",
  "description": "Unique request id (req_…), also `request_id` in error bodies; SDKs expose `_request_id`. Present on 200 and error responses (live).",
  "example": "request-id: req_011CfBxdcLppPJYpctgsTcu6",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/errors",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-organization-id",
  "direction": "response",
  "required": "when authenticated",
  "description": "Organization id of the credential. Live: present on 200/400/404, absent on 401 and unknown-path 404.",
  "example": "anthropic-organization-id: <uuid>",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-workspace-id",
  "direction": "response",
  "required": "when resolvable",
  "description": "Workspace the credential resolved to; absent for Admin API or non-workspace credentials. Not observed on our default-workspace key.",
  "example": "anthropic-workspace-id: wrkspc_…",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "x-should-retry",
  "direction": "response",
  "required": "on errors",
  "description": "Undocumented in the header tables: `false` on every 4xx observed; the SDKs read it (true/false) to override retry decisions.",
  "example": "x-should-retry: false",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://platform.claude.com/docs/en/api/overview",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "retry-after",
  "direction": "response",
  "required": "on 429/529",
  "description": "Seconds to wait before retrying; absent on tier spend-cap 429.",
  "example": "retry-after: 8",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-ratelimit-requests-limit / -remaining / -reset",
  "direction": "response",
  "required": "on 200 (Messages)",
  "description": "Requests-per-minute bucket; reset is RFC 3339. Live: 10000 / 9999 / 2026-09-19T01:50:53Z.",
  "example": "anthropic-ratelimit-requests-limit: 10000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-ratelimit-tokens-limit / -remaining / -reset",
  "direction": "response",
  "required": "on 200",
  "description": "Most restrictive token bucket in effect (rounded to nearest thousand). Live: 12000000.",
  "example": "anthropic-ratelimit-tokens-limit: 12000000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-ratelimit-input-tokens-limit / -remaining / -reset",
  "direction": "response",
  "required": "on 200",
  "description": "Input-token bucket. Live: 10000000.",
  "example": "anthropic-ratelimit-input-tokens-remaining: 10000000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-ratelimit-output-tokens-limit / -remaining / -reset",
  "direction": "response",
  "required": "on 200",
  "description": "Output-token bucket. Live: 2000000.",
  "example": "anthropic-ratelimit-output-tokens-limit: 2000000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-priority-input-tokens-limit / -remaining / -reset",
  "direction": "response",
  "required": "Priority Tier only",
  "description": "Priority Tier input-token capacity; presence signals the request was eligible for Priority Tier.",
  "example": "anthropic-priority-input-tokens-limit: …",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "anthropic-priority-output-tokens-limit / -remaining / -reset",
  "direction": "response",
  "required": "Priority Tier only",
  "description": "Priority Tier output-token capacity.",
  "example": "anthropic-priority-output-tokens-limit: …",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/rate-limits",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "cf-ray",
  "direction": "response",
  "required": "always",
  "description": "Cloudflare edge id (requests traverse Cloudflare; 413 is returned by Cloudflare).",
  "example": "CF-RAY: a3d4f1316811a314-YUL",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://platform.claude.com/docs/en/api/errors",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "x-amzn-requestid",
  "direction": "response",
  "required": "Claude Platform on AWS only",
  "description": "AWS request id alongside request-id.",
  "example": "x-amzn-requestid: …",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://platform.claude.com/docs/en/api/errors",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "anthropic",
  "name": "content-type: text/event-stream",
  "direction": "response",
  "required": "when stream=true",
  "description": "SSE stream: named events (`event: <type>` + `data: <json>`), no `data: [DONE]` since version 2023-06-01.",
  "example": "content-type: text/event-stream",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://platform.claude.com/docs/en/build-with-claude/streaming",
  "_fragment": "generated/fragments/headers/anthropic-headers.json"
 },
 {
  "provider": "gemini",
  "name": "x-goog-api-key",
  "direction": "request",
  "required": "yes (unless Authorization or ?key=)",
  "description": "Gemini API key (AI Studio). Preferred way to authenticate the Gemini Developer API; used by the GenAI SDKs and this atlas. Standard keys are being replaced by authorization keys (bound to a service account); standard keys rejected from September 2026. Invalid/blocked keys -> 400 INVALID_ARGUMENT 'API key not valid' or 403 PERMISSION_DENIED; leaked keys -> 'Your API key was reported as leaked'.",
  "example": "x-goog-api-key: AIza...",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/api-key",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "key (query parameter)",
  "direction": "request",
  "required": "alternative to x-goog-api-key",
  "description": "`?key=API_KEY` query-string alternative documented in the discovery document ('Required unless you provide an OAuth 2.0 token'). Still shown in some REST reference snippets, but discouraged: keys end up in URLs, logs and referrers. Never used by this atlas.",
  "example": "GET /v1beta/models?key=AIza... (avoid)",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://ai.google.dev/api/models",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "Authorization",
  "direction": "request",
  "required": "OpenAI-compat: yes; native API: alternative",
  "description": "`Bearer <token>`. (1) OpenAI-compatibility layer (/v1beta/openai/*) REQUIRES the Gemini API key as `Authorization: Bearer <GEMINI_API_KEY>`; sending only x-goog-api-key returns 400 INVALID_ARGUMENT 'Missing or invalid Authorization header.' (live 2026-09-19). (2) Native API: OAuth 2.0 access token (user credentials or application-default credentials, scope generative-language) for stricter access control, tuned-model / corpora permissions; gcloud ADC flow documented in oauth.md.",
  "example": "Authorization: Bearer <api key | OAuth access token>",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/openai",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "x-goog-user-project",
  "direction": "request",
  "required": "no",
  "description": "Standard Google API header naming the Cloud project billed/quota-charged when authenticating with OAuth user credentials instead of an API key. Sent by the google-genai SDK when configured; not mentioned in Gemini docs pages.",
  "example": "x-goog-user-project: my-project-id",
  "status": [
   "UNVERIFIED"
  ],
  "source": "https://cloud.google.com/docs/authentication/rest#set-billing-project",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "Content-Type",
  "direction": "request",
  "required": "yes for JSON bodies",
  "description": "`application/json` for all JSON methods. Resumable media upload uses `X-Goog-Upload-*` headers instead. The Batch API JSONL upload uses mime type `jsonl`.",
  "example": "Content-Type: application/json",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/quickstart",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "alt (query parameter)",
  "direction": "request",
  "required": "for SSE streaming",
  "description": "`?alt=sse` switches streamGenerateContent / interactions streaming to Server-Sent Events (`text/event-stream`, `data: {...}` lines). Without it streamGenerateContent returns a JSON array of chunks. Discovery doc also lists alt=json|media|proto.",
  "example": "POST /v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/text-generation",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "x-goog-api-client",
  "direction": "request",
  "required": "no (SDK telemetry)",
  "description": "Client library identifier sent by the GenAI SDKs, e.g. `google-genai-sdk/2.24.0 gl-python/3.13` (Python) or `google-genai-sdk/2.23.0 gl-node/...` (JS). Not required for raw REST calls.",
  "example": "x-goog-api-client: google-genai-sdk/2.24.0 gl-python/3.13",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://github.com/googleapis/python-genai (_api_client.py)",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "X-Server-Timeout",
  "direction": "request",
  "required": "no",
  "description": "Server-side timeout hint (seconds) set by the google-genai SDK from `http_options.timeout` (SDK code); relevant for long Flex / Deep Research requests.",
  "example": "X-Server-Timeout: 600",
  "status": [
   "UNVERIFIED"
  ],
  "source": "https://github.com/googleapis/python-genai (_api_client.py)",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "X-Goog-Upload-Protocol / X-Goog-Upload-Command / X-Goog-Upload-Header-Content-Length / X-Goog-Upload-Header-Content-Type / X-Goog-Upload-Offset",
  "direction": "request",
  "required": "for resumable uploads",
  "description": "Resumable upload protocol on /upload/v1beta/files and /upload/v1beta/fileSearchStores/{store}:uploadToFileSearchStore: start with `X-Goog-Upload-Protocol: resumable`, `X-Goog-Upload-Command: start`, then `upload, finalize` to the `x-goog-upload-url` returned in the response headers.",
  "example": "X-Goog-Upload-Protocol: resumable",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/file-search",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "x-goog-upload-url",
  "direction": "response",
  "required": null,
  "description": "Returned by the resumable-upload `start` request; subsequent upload/finalize chunks are sent to this URL.",
  "example": "x-goog-upload-url: https://generativelanguage.googleapis.com/upload/v1beta/files?upload_id=...",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/files",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "X-Gemini-Service-Tier",
  "direction": "response",
  "required": null,
  "description": "Undocumented response header observed on every native generateContent response (200 and 429): the service tier that handled the request; mirrors `usageMetadata.serviceTier`. Absent on the OpenAI-compat endpoint.",
  "example": "X-Gemini-Service-Tier: standard",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live probe 2026-09-19 (tmp-live/gemini-models-probe.json)",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "Server-Timing",
  "direction": "response",
  "required": null,
  "description": "Google front-end timing, e.g. `gfet4t7; dur=87` (ms). Only timing header present; no request-id header is returned (use `responseId` in the JSON body).",
  "example": "Server-Timing: gfet4t7; dur=87",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live probe 2026-09-19",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "x-ratelimit-* / Retry-After",
  "direction": "response",
  "required": null,
  "description": "NOT exposed. Neither the docs nor live responses (200/404/429) carry rate-limit remaining/reset headers or Retry-After; the retry delay is embedded in the 429 message text ('Please retry in 54.2s').",
  "example": "(absent)",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live probe 2026-09-19",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "Content-Type",
  "direction": "response",
  "required": null,
  "description": "`application/json; charset=UTF-8` for JSON; `text/event-stream` with alt=sse; media downloads via /download/v1beta/files/{name}:download return the file's mime type.",
  "example": "Content-Type: application/json; charset=UTF-8",
  "status": [
   "LIVE_VERIFIED"
  ],
  "source": "live probe 2026-09-19",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "Set-Cookie / P3P / Cache-Control / Expires",
  "direction": "response",
  "required": null,
  "description": "Present only on the OpenAI-compatibility endpoints (/v1beta/openai/*), which are served by a different front end; harmless but note when comparing raw responses.",
  "example": "Cache-Control: private",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live probe 2026-09-19",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "gemini",
  "name": "Vertex-style headers (not applicable)",
  "direction": "request",
  "required": "no",
  "description": "The Gemini Developer API has no API-version header (version is in the URL path /v1 or /v1beta) and no beta-feature header; features are gated by path version only. Gemini Enterprise Agent Platform (Vertex AI) instead uses OAuth/ADC `Authorization: Bearer` with regional hosts `https://{location}-aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/publishers/google/models/{model}:generateContent`.",
  "example": "(none)",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://ai.google.dev/gemini-api/docs/api-versions",
  "_fragment": "generated/fragments/headers/gemini-headers.json"
 },
 {
  "provider": "openai",
  "name": "Authorization",
  "direction": "request",
  "required": true,
  "description": "`Bearer <credential>`: project API key (sk-proj-...), legacy user key (sk-...), service-account key, Admin API key (sk-admin-..., admin endpoints only) or a short-lived workload-identity access token. Revocation propagates within seconds; other auth-affecting updates within ~15 min.",
  "example": "Authorization: Bearer $OPENAI_API_KEY",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#authentication",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "OpenAI-Organization",
  "direction": "request",
  "required": false,
  "description": "Selects the billing organization for users in several orgs / legacy user keys. With a project key it must match the key's org, else 401 `mismatched_organization` (observed).",
  "example": "OpenAI-Organization: org-xxxxxxxx",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#authentication",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "OpenAI-Project",
  "direction": "request",
  "required": false,
  "description": "Selects the project for legacy user keys. Unknown project -> 401 `invalid_project` \"No such project\" (observed). Project keys are already project-bound.",
  "example": "OpenAI-Project: proj_xxxxxxxx",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#authentication",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "Content-Type",
  "direction": "request",
  "required": true,
  "description": "`application/json` for JSON endpoints (anything else -> 400 `unsupported_content_type`, observed); `multipart/form-data` for file uploads (files, uploads/parts, audio, image edits/variations, containers files); `application/sdp` for Realtime WebRTC.",
  "example": "Content-Type: application/json",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "OpenAI-Beta",
  "direction": "request",
  "required": false,
  "description": "Opt-in to beta surfaces. Values found in the docs/spec: `assistants=v2` (legacy Assistants), `agents=v1` (Agents API /v1/agents/*, 400 `invalid_beta` without it — observed by another agent), `chatkit_beta=v1` (ChatKit), `responses_multi_agent=v1` (Responses multi-agent), `workspace_agent_runs=v1`, `realtime=v1` (legacy Realtime beta). Historic `assistants=v1` retired.",
  "example": "OpenAI-Beta: agents=v1",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/reference/resources/beta",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "X-Client-Request-Id",
  "direction": "request",
  "required": false,
  "description": "Caller-supplied correlation id logged by OpenAI for supported endpoints (chat/completions, embeddings, responses, ...). ASCII only, <= 512 chars, unique per request; violation -> 400 (observed: \"X-Client-Request-Id header contains non-ASCII characters\"). Not echoed back in response headers (observed).",
  "example": "X-Client-Request-Id: 123e4567-e89b-12d3-a456-426614174000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#supplying-your-own-request-id-with-x-client-request-id",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "Idempotency-Key",
  "direction": "request",
  "required": false,
  "description": "NOT documented for the OpenAI API (no occurrence in the OpenAPI spec or docs pages). OpenAI SDKs do not send one. Deduplicate on your side (e.g. Responses `metadata`, Batch `custom_id`, webhook `webhook-id`).",
  "example": null,
  "status": [
   "UNVERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "Accept",
  "direction": "request",
  "required": false,
  "description": "`text/event-stream` is implied by `stream: true`; not required. For SSE responses the server sets `Content-Type: text/event-stream`.",
  "example": "Accept: text/event-stream",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/reference/resources/responses/streaming-events",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "User-Agent",
  "direction": "request",
  "required": false,
  "description": "SDKs send `OpenAI/Python <ver>` / `OpenAI/JS <ver>` plus `X-Stainless-*` telemetry headers (X-Stainless-Lang, -Package-Version, -OS, -Arch, -Runtime, -Runtime-Version, X-Stainless-Retry-Count, X-Stainless-Timeout, x-stainless-read-timeout). Total request headers must stay under 64 KiB (custom values <= 60 KiB).",
  "example": "User-Agent: OpenAI/Python 3.16.2",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#request-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-request-id",
  "direction": "response",
  "required": false,
  "description": "Unique request id for support/troubleshooting. Observed formats: `req_<32 hex>` on model endpoints (chat/completions, responses, audit_logs) and a UUID on others (models, webhook_endpoints, organization/*). Absent on edge 404s (unknown URL). SDKs expose it as `response._request_id` (Python) / `_request_id` (Node).",
  "example": "x-request-id: req_b02412ebc5604692b13b994c52e5e674",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#debugging-requests",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "openai-processing-ms",
  "direction": "response",
  "required": false,
  "description": "Server processing time in ms (observed 2-582 ms on our probes).",
  "example": "openai-processing-ms: 396",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#debugging-requests",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "openai-version",
  "direction": "response",
  "required": false,
  "description": "REST API version, currently `2020-10-01` (observed on every response including 4xx).",
  "example": "openai-version: 2020-10-01",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#debugging-requests",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "openai-organization",
  "direction": "response",
  "required": false,
  "description": "Organization slug/id that was billed (observed on model calls and on 403 admin errors; absent on 401 auth failures and on GET /v1/models/{id}).",
  "example": "openai-organization: org-slug",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#debugging-requests",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "openai-project",
  "direction": "response",
  "required": false,
  "description": "Project id (`proj_...`) of the key used. Observed on chat/completions, responses errors, webhook_endpoints, organization/* 403s. Not listed in the overview page (observed only).",
  "example": "openai-project: proj_xxxxxxxx",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#debugging-requests",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-limit-requests",
  "direction": "response",
  "required": false,
  "description": "RPM limit for the model/tier (observed 30000 on gpt-4.1-nano chat completion).",
  "example": "x-ratelimit-limit-requests: 30000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-limit-tokens",
  "direction": "response",
  "required": false,
  "description": "TPM limit (observed 150000000).",
  "example": "x-ratelimit-limit-tokens: 150000000",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-remaining-requests",
  "direction": "response",
  "required": false,
  "description": "Requests left in the window.",
  "example": "x-ratelimit-remaining-requests: 29999",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-remaining-tokens",
  "direction": "response",
  "required": false,
  "description": "Tokens left in the window (estimated from prompt chars + max tokens).",
  "example": "x-ratelimit-remaining-tokens: 149999995",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-reset-requests",
  "direction": "response",
  "required": false,
  "description": "Go-style duration until the request window resets (observed `2ms`; docs sample `1s`, `6m0s`).",
  "example": "x-ratelimit-reset-requests: 2ms",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-reset-tokens",
  "direction": "response",
  "required": false,
  "description": "Duration until the token window resets (observed `0s`).",
  "example": "x-ratelimit-reset-tokens: 0s",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-limit-project-tokens",
  "direction": "response",
  "required": false,
  "description": "Project-scoped TPM limit; only present when a project token limit applies (not observed on our project).",
  "example": "x-ratelimit-limit-project-tokens: 60000",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-remaining-project-tokens",
  "direction": "response",
  "required": false,
  "description": "Remaining project-scoped tokens (conditional).",
  "example": "x-ratelimit-remaining-project-tokens: 57000",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-ratelimit-reset-project-tokens",
  "direction": "response",
  "required": false,
  "description": "Reset duration for the project token window (conditional).",
  "example": "x-ratelimit-reset-project-tokens: 3s",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "Retry-After",
  "direction": "response",
  "required": false,
  "description": "Minimum seconds to wait; may accompany 429 (temporary rate limit / slow_down) and 503 (server_is_overloaded). Never sent for quota/billing 429s. SDKs also honour a `retry-after-ms` header and refuse to auto-retry when the delay exceeds their cap (Python: 60 s).",
  "example": "Retry-After: 56",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/rate-limits#rate-limits-in-headers",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "x-should-retry",
  "direction": "response",
  "required": false,
  "description": "Server hint honoured by the official SDKs: `true` forces a retry, `false` suppresses it (SDK source `_should_retry`). Not documented on the public docs pages.",
  "example": "x-should-retry: false",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://github.com/openai/openai-python (src/openai/_base_client.py)",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "retry-after-ms",
  "direction": "response",
  "required": false,
  "description": "Millisecond variant of Retry-After parsed by the SDKs before `retry-after`.",
  "example": "retry-after-ms: 1500",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://github.com/openai/openai-python (src/openai/_base_client.py)",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "CF-RAY",
  "direction": "response",
  "required": false,
  "description": "Cloudflare edge trace id (observed on every response, including the bodyless 404 for unknown URLs). Useful for support alongside x-request-id.",
  "example": "CF-RAY: a3d4e6b249d053f0-YUL",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "https://developers.openai.com/api/reference/overview#debugging-requests",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "Location",
  "direction": "response",
  "required": false,
  "description": "Realtime WebRTC: `POST /v1/realtime/calls` returns 201 with `Location: /v1/realtime/calls/{call_id}` (call id reused for accept/reject/hangup and matches `realtime.call.incoming` webhooks).",
  "example": "Location: /v1/realtime/calls/rtc_xxx",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/reference/resources/realtime",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "webhook-id",
  "direction": "webhook (OpenAI -> you)",
  "required": true,
  "description": "Unique delivery id (`wh_...`); use as idempotency key to deduplicate redeliveries. Part of the signed string `${webhook-id}.${webhook-timestamp}.${body}`.",
  "example": "webhook-id: wh_685342e6c53c8190a1be43f081506c52",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/webhooks#verifying-webhook-signatures",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "webhook-timestamp",
  "direction": "webhook (OpenAI -> you)",
  "required": true,
  "description": "Unix seconds at send time; SDKs reject if |now - ts| > tolerance (default 300 s).",
  "example": "webhook-timestamp: 1750287078",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/webhooks#verifying-webhook-signatures",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "webhook-signature",
  "direction": "webhook (OpenAI -> you)",
  "required": true,
  "description": "Standard Webhooks signature list: space-separated `v1,<base64(HMAC-SHA256(secret, id.timestamp.body))>` entries; secret is `whsec_<base64>` (decode after stripping the prefix). Multiple entries appear during secret rotation (keep_old_secret_active_for_24_hours).",
  "example": "webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/webhooks#verifying-webhook-signatures",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "user-agent (webhook)",
  "direction": "webhook (OpenAI -> you)",
  "required": false,
  "description": "`OpenAI/1.0 (+https://platform.openai.com/docs/webhooks)`; body Content-Type `application/json`.",
  "example": "user-agent: OpenAI/1.0 (+https://platform.openai.com/docs/webhooks)",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/webhooks#handling-webhook-requests-on-a-server",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "openai",
  "name": "Sec-WebSocket-Protocol / Authorization (Realtime WebSocket)",
  "direction": "request",
  "required": true,
  "description": "Realtime WebSocket (`wss://api.openai.com/v1/realtime?model=...`): server-side use `Authorization: Bearer <key>`; browsers cannot set headers so pass an ephemeral client secret via subprotocols `realtime, openai-insecure-api-key.<EPHEMERAL_KEY>` (from POST /v1/realtime/client_secrets). Legacy beta added `OpenAI-Beta: realtime=v1`.",
  "example": "Authorization: Bearer $OPENAI_API_KEY",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://developers.openai.com/api/docs/guides/realtime-conversations",
  "_fragment": "generated/fragments/headers/openai-headers.json"
 },
 {
  "provider": "xai",
  "name": "Authorization",
  "direction": "request",
  "required": "yes",
  "description": "Bearer API key (`xai-...`) for https://api.x.ai and regional/mTLS hosts; Bearer MANAGEMENT key for https://management-api.x.ai (distinct key type: an inference key on the Management API -> 401 {code:16,'Invalid bearer token. Please ensure you use a valid management key.'}). OAuth tokens are also accepted on /v1/me. Missing header -> 401 {code:'unauthenticated:no-credentials'}; malformed/incorrect key -> 400 {code:'invalid-argument','Incorrect API key provided...'} (not 401).",
  "example": "Authorization: Bearer xai-***",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://docs.x.ai/developers/quickstart",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "Content-Type",
  "direction": "request",
  "required": "yes for JSON POST bodies",
  "description": "application/json; multipart/form-data for file uploads and STT batch. Wrong type -> 415 Unsupported Media Type (documented).",
  "example": "Content-Type: application/json",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://docs.x.ai/developers/debugging",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-grok-conv-id",
  "direction": "request",
  "required": "no (recommended)",
  "description": "Chat Completions: conversation id used to route all requests of a conversation to the same server so the automatic prompt cache hits. Responses API equivalent is the body field `prompt_cache_key`. Not a beta header.",
  "example": "x-grok-conv-id: conv_abc123",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://docs.x.ai/developers/advanced-api-usage/prompt-caching/maximizing-cache-hits",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "xai-sdk-version / xai-sdk-language",
  "direction": "request",
  "required": "no",
  "description": "gRPC metadata automatically added by the official Python SDK (`python/1.19.0`, `python/3.12`).",
  "example": "xai-sdk-version: python/1.19.0",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "xai_sdk/client.py (installed .venv, xai-sdk 1.19.0)",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-request-id",
  "direction": "response",
  "required": "n/a",
  "description": "UUID of the request; also equals the `id` of chat.completion objects. Present on most inference responses (absent on GET /v1/models, /v1/api-key, /v1/me in our run). Quote it in bug reports to support@x.ai.",
  "example": "x-request-id: 0ef8d47f-e0a9-9d28-9dbf-a550f288c419",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-ratelimit-limit-requests",
  "direction": "response",
  "required": "n/a",
  "description": "Request budget of the key for the model (appears to be per minute: 7200 for grok-4.6/4.5, 1800 for grok-4.3/4.20/build, 1800 on POST /v1/tokenize-text). Not documented on docs.x.ai.",
  "example": "x-ratelimit-limit-requests: 1800",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-ratelimit-remaining-requests",
  "direction": "response",
  "required": "n/a",
  "description": "Remaining requests in the current window (equal to the limit after each of our single probes).",
  "example": "x-ratelimit-remaining-requests: 1800",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-ratelimit-limit-tokens",
  "direction": "response",
  "required": "n/a",
  "description": "Tokens-per-minute budget for the model (50000000 for grok-4.6/4.5, 10000000 for grok-4.3/4.20/build = documented Tier 0 TPM). Absent on tokenize-text and on the multi-agent Responses call.",
  "example": "x-ratelimit-limit-tokens: 10000000",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-ratelimit-remaining-tokens",
  "direction": "response",
  "required": "n/a",
  "description": "Remaining TPM budget.",
  "example": "x-ratelimit-remaining-tokens: 10000000",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "x-zero-data-retention",
  "direction": "response",
  "required": "n/a",
  "description": "\"true\" or \"false\": whether Zero Data Retention is active for the team (documented in the Security FAQ). Not observed in our run's captured header subset; GET /v1/me returned zdr_status \"no_zdr\".",
  "example": "x-zero-data-retention: false",
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://docs.x.ai/developers/faq/security",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "Server-Timing",
  "direction": "response",
  "required": "n/a",
  "description": "Cloudflare timing (`cfEdge;dur=..,cfOrigin;dur=..`) - origin duration is a useful latency proxy (grok-4.6 minimal call: cfOrigin 2369 ms).",
  "example": "Server-Timing: cfEdge;dur=68,cfOrigin;dur=2369",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "CF-RAY",
  "direction": "response",
  "required": "n/a",
  "description": "Cloudflare ray id + edge colo (…-YUL from Montreal).",
  "example": "CF-RAY: a3d593c10dbc0682-YUL",
  "status": [
   "LIVE_DISCOVERED"
  ],
  "source": "live 2026-09-19",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "Retry-After",
  "direction": "response",
  "required": "n/a",
  "description": "Not documented and not observed (no 429 triggered). Docs recommend exponential backoff on 429.",
  "example": null,
  "status": [
   "UNVERIFIED"
  ],
  "source": "https://docs.x.ai/developers/rate-limits",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "(no versioning / beta headers)",
  "direction": "request",
  "required": "no",
  "description": "xAI has no API-version header and no beta-feature headers (unlike anthropic-version / anthropic-beta or OpenAI-Beta). Features are selected by body fields (service_tier, reasoning_effort, store, prompt_cache_key, include) or by base URL.",
  "example": null,
  "status": [
   "DOCUMENTED"
  ],
  "source": "https://docs.x.ai/developers/rest-api-reference/inference/chat-completions",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 },
 {
  "provider": "xai",
  "name": "base URLs",
  "direction": "request",
  "required": "n/a",
  "description": "Global https://api.x.ai/v1 (processing region not guaranteed) · US regional https://us.api.x.ai/v1 (grok-4.6 only, 1.1x token prices, covers request handling + inference + moderation + retained data; LIVE: GET /v1/models lists only grok-4.6 at 22000/5500/66000 ticks) · https://eu-west-1.api.x.ai/v1 (UNDOCUMENTED, LIVE_DISCOVERED: GET /v1/models -> 200 listing only grok-4.3 at global prices) · mTLS https://mtls.api.x.ai (enterprise, team-level, API key still required) · WebSocket wss://api.x.ai/v1/responses, wss://api.x.ai/v1/realtime, wss://api.x.ai/v1/stt, wss://api.x.ai/v1/tts · gRPC api.x.ai:443 · Management https://management-api.x.ai · Model pages list clusters us-east-1, us-west-2, us-central-1, eu-west-1, us-saltlake-2; propagation endpoint example shows cloud9.api.x.ai and us-east-1.api.x.ai. Vertex AI and Microsoft Foundry expose Grok through their own hosts.",
  "example": "https://us.api.x.ai/v1/responses",
  "status": [
   "DOCUMENTED",
   "LIVE_VERIFIED"
  ],
  "source": "https://docs.x.ai/developers/advanced-api-usage/regions",
  "_fragment": "generated/fragments/headers/xai-headers.json"
 }
]