[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openrouter-openrouter-analytics-schema":3,"mdc-en24sh-key":33,"related-repo-openrouter-openrouter-analytics-schema":3476,"related-org-openrouter-openrouter-analytics-schema":3556},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":31,"mdContent":32},"openrouter-analytics-schema","query OpenRouter analytics schema","Discover the OpenRouter analytics schema — available metrics, dimensions, filter operators, and granularities. Use when you need to know what analytics data is queryable, what dimensions you can break down by, or how to map a user's question to the right metric\u002Fdimension combination.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"openrouter","OpenRouter","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenrouter.png","OpenRouterTeam",[13,17,20],{"name":14,"slug":15,"type":16},"LLM","llm","tag",{"name":18,"slug":19,"type":16},"Reporting","reporting",{"name":21,"slug":22,"type":16},"Analytics","analytics",187,"https:\u002F\u002Fgithub.com\u002FOpenRouterTeam\u002Fskills","2026-07-14T05:38:32.721796",null,26,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":26},[],"https:\u002F\u002Fgithub.com\u002FOpenRouterTeam\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fopenrouter-analytics-schema","---\nname: openrouter-analytics-schema\ndescription: Discover the OpenRouter analytics schema — available metrics, dimensions, filter operators, and granularities. Use when you need to know what analytics data is queryable, what dimensions you can break down by, or how to map a user's question to the right metric\u002Fdimension combination.\nversion: 0.1.0\n---\n\n# OpenRouter Analytics Schema Discovery\n\nDiscover what analytics data is available for querying. The meta endpoint returns live, always-current definitions of metrics, dimensions, filter operators, and granularities.\n\n## Prerequisites\n\n- An OpenRouter **management key**. Management keys are separate from regular API keys — get one at https:\u002F\u002Fopenrouter.ai\u002Fsettings\u002Fmanagement-keys\n- Pass it via `--api-key \u003Ckey>` or set the `OPENROUTER_API_KEY` environment variable\n\n## Discovery Endpoint\n\n```\nGET https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\u002Fanalytics\u002Fmeta\nAuthorization: Bearer sk-or-v1-...\n```\n\nOr via the `openrouter-analytics` skill scripts:\n\n```bash\ncd \u003Copenrouter-analytics-skill-path>\u002Fscripts && npx tsx discover-schema.ts\n```\n\n## Response Shape\n\n```json\n{\n  \"data\": {\n    \"metrics\": [\n      { \"name\": \"request_count\", \"display_label\": \"Request Count\", \"is_rate\": false, \"display_format\": \"number\" }\n    ],\n    \"dimensions\": [\n      { \"name\": \"model\", \"display_label\": \"Model\" }\n    ],\n    \"operators\": [\n      { \"name\": \"eq\", \"value_type\": \"scalar\" }\n    ],\n    \"granularities\": [\n      { \"name\": \"day\", \"display_label\": \"Day\" }\n    ]\n  }\n}\n```\n\n## Understanding Metrics\n\nEach metric has:\n\n| Field | Meaning |\n|---|---|\n| `name` | Identifier to use in query requests |\n| `display_label` | Human-readable label |\n| `is_rate` | Whether this is a ratio\u002Frate (averaged, not summed) |\n| `display_format` | How the value should be formatted: `number`, `currency`, `percent`, `latency`, or `throughput` |\n\n### Time Range Limits\n\nMost volume and cost metrics support time ranges up to **365 days** with daily granularity. Latency\u002Fthroughput metrics and some dimensions (`provider`, `origin`, `country`, `finish_reason`, `external_user`, `context_length_bucket`, `generation_id`) are limited to **31-day** time ranges. If a query times out, try narrowing the time range or removing latency\u002Fthroughput metrics and per-generation dimensions.\n\n### Metric Categories\n\n**Volume metrics** (how much):\n- `request_count` — number of API requests (up to 365 days)\n- `tokens_total`, `tokens_prompt`, `tokens_completion` — token counts (up to 365 days)\n- `reasoning_tokens` — tokens used for extended thinking (up to 365 days)\n- `cached_tokens` — tokens served from cache (up to 365 days)\n- `byok_request_count` — number of BYOK requests (up to 365 days)\n- `guardrail_invoked_count` — count of requests that triggered guardrails (31-day limit)\n- `response_cached_count` — count of responses served from cache (31-day limit)\n\n**Cost metrics** (how much money):\n- `total_usage` — total cost in USD, including BYOK inference cost (up to 365 days). Computed as `sum(usage) + sum(byok_usage_inference)` so it reflects true spend for both credits and BYOK users.\n- `byok_usage` — BYOK (bring your own key) inference cost in USD (up to 365 days)\n- `credits_usage` — all charges billed to OpenRouter credits in USD, including BYOK platform fees (up to 365 days)\n- `openrouter_usage` — non-BYOK inference spend in USD; excludes requests made with user-provided keys (31-day limit)\n- `byok_fees` — BYOK platform fees in USD; the platform fee portion of `credits_usage` charged on BYOK requests (31-day limit). `credits_usage` includes both non-BYOK inference charges and these BYOK platform fees.\n- `usage_upstream` — provider-side (upstream) cost in USD (up to 365 days)\n- `usage_cache` — cache cost component in USD (up to 365 days)\n- `usage_data` — data logging cost adjustment in USD; typically negative when a data logging discount applies (up to 365 days)\n- `usage_web` — web search cost in USD (up to 365 days)\n- `usage_upstream_web` — provider-side web search cost in USD (up to 365 days)\n- `usage_file` — file processing cost in USD (31-day limit)\n- `usage_upstream_file` — provider-side file processing cost in USD (31-day limit)\n- `usage_web_fetch` — web fetch cost in USD (31-day limit)\n- `usage_upstream_web_fetch` — provider-side web fetch cost in USD (31-day limit)\n\n**Performance metrics** (how fast):\n- `avg_latency`, `p50_latency`, `p90_latency`, `p99_latency` — response latency in milliseconds\n- `avg_throughput`, `p50_throughput`, `p90_throughput`, `p99_throughput` — tokens per second\n\n**Efficiency metrics** (how well):\n- `cache_hit_rate` — ratio of cached tokens to prompt tokens (0–1)\n- `guardrail_invoked_rate` — ratio of requests that triggered guardrails\n- `response_cached_rate` — ratio of responses served from cache\n\n## Understanding Dimensions\n\nEach dimension has:\n\n| Field | Meaning |\n|---|---|\n| `name` | Identifier to use in query requests |\n| `display_label` | Human-readable label |\n\nDimensions are what you break down by — \"show me spend *by model*\" means `dimensions: [\"model\"]`.\n\nYou can combine up to 2 dimensions in a single query (e.g., `[\"model\", \"provider\"]`).\n\n### Label Resolution\n\nSome dimensions have their raw IDs automatically resolved to human-readable labels in query results. Data rows contain the resolved display names directly:\n\n| Dimension | Resolved to |\n|---|---|\n| `api_key_id` | Key name\u002Flabel |\n| `app` | App title or origin URL |\n| `user` | User name or email address |\n| `workspace` | Workspace name |\n\nAll other dimensions (e.g., `model`, `provider`, `country`) are returned as-is without resolution.\n\n> Rows with an empty `user` value represent traffic not attributed to a specific org member (e.g., API keys created at the org level).\n\n### Dimension Categories\n\n**Available with all time ranges:**\n- `model` — the OpenRouter model ID (permaslug)\n- `variant` — model variant (e.g., standard, extended)\n- `api_key_id` — which API key made the request\n- `user` — the creator user ID (for org-level queries)\n- `workspace` — workspace ID\n- `app` — application ID\n\n**Limited to 31-day time ranges:**\n- `generation_id` — unique ID for each generation (use to drill down to individual requests, then inspect via the `openrouter-generations` skill)\n- `provider` — upstream provider name\n- `origin` — request origin\u002Fsource\n- `country` — request country\n- `finish_reason` — why the generation ended (stop, length, etc.)\n- `external_user` — custom user ID passed by the caller\n- `context_length_bucket` — bucketed context length (1K, 10K, 100K, etc.)\n\n## Classifier Dimensions\n\nBeyond the standard dimensions above, you can group by **classifier dimensions** — dynamic labels produced by a user-created classifier (e.g., topic, sentiment, category).\n\n- Use the `classifier_dimensions` request field to group by classifier-produced values\n- Use the `classifier_filters` request field to filter on classifier values\n- The classifier must belong to your account (validated server-side)\n- Classifier dimensions\u002Ffilters limit the query time range to 31 days\n- See the `openrouter-analytics-query` skill for the full request shape\n\n### Mapping Questions to Classifier Queries\n\n| Question pattern | Request fields | Notes |\n|---|---|---|\n| \"Spend by topic\" | `classifier_dimensions: { classifier_id, dimension_names: [\"topic\"] }` + `metrics: [\"total_usage\"]` | Single dimension → column aliased to `topic` |\n| \"Only billing-related requests\" | `classifier_filters: { classifier_id, filters: [{ field: \"category\", operator: \"eq\", value: \"billing\" }] }` | Filters support `eq`, `neq`, `in`, `not_in` only |\n| \"Sentiment breakdown including unclassified\" | `classifier_dimensions: { classifier_id, dimension_names: [\"sentiment\"], include_nulls: true }` | Includes rows without classification |\n\n## Understanding Operators\n\nFilter operators for the `filters` array in query requests:\n\n| Operator | Value Type | Meaning |\n|---|---|---|\n| `eq` | scalar | Equals |\n| `neq` | scalar | Not equals |\n| `gt` | scalar | Greater than |\n| `gte` | scalar | Greater than or equal |\n| `lt` | scalar | Less than |\n| `lte` | scalar | Less than or equal |\n| `in` | array | In list |\n| `not_in` | array | Not in list |\n\n## Understanding Granularities\n\nTime bucketing for time-series queries:\n\n| Granularity | Use when |\n|---|---|\n| `minute` | Last few hours, real-time monitoring |\n| `hour` | Last 1–3 days |\n| `day` | Last week to 3 months |\n| `week` | Last 3–12 months |\n| `month` | Year-scale trends |\n\nWhen no granularity is set, the query returns aggregate totals without time bucketing.\n\n## Mapping Questions to Queries\n\nUse this guide to translate natural-language questions into the right metric\u002Fdimension\u002Ffilter combination:\n\n| Question pattern | Metrics | Dimensions | Notes |\n|---|---|---|---|\n| \"How much did I spend?\" | `total_usage` | — | Add granularity for trends |\n| \"Which models cost the most?\" | `total_usage` | `model` | Order by `total_usage` desc |\n| \"How many requests?\" | `request_count` | — | Add `model` or `api_key_id` for breakdown |\n| \"How many tokens?\" | `tokens_total` | — | Use `tokens_prompt` \u002F `tokens_completion` for split |\n| \"Which provider is fastest?\" | `avg_latency`, `p90_latency` | `provider` | 31-day limit |\n| \"What's my cache hit rate?\" | `cache_hit_rate` | `model` | Rate metric — shows per-model caching |\n| \"Which API key uses the most?\" | `request_count`, `total_usage` | `api_key_id` | — |\n| \"Usage over time\" | `request_count` or `total_usage` | — | Set `granularity: \"day\"` |\n| \"Latency trends\" | `p90_latency` | — | Set `granularity: \"hour\"`, 31d limit |\n| \"Usage by country\" | `request_count` | `country` | 31-day limit |\n| \"How can I save money?\" | `total_usage`, `cache_hit_rate`, `tokens_total` | `model` | See cost optimization in `openrouter-analytics` skill |\n| \"Show me individual requests\" | `total_usage`, `tokens_total` | `generation_id` | 31-day limit. Use returned IDs with `openrouter-generations` skill for full metadata and content |\n| \"How much BYOK spend?\" | `byok_usage` | `model` | Up to 365 days |\n| \"BYOK vs credits split?\" | `byok_usage`, `credits_usage` | — | Both up to 365 days |\n| \"BYOK platform fees?\" | `byok_fees` | `model` | 31-day limit |\n| \"Non-BYOK inference spend?\" | `openrouter_usage` | `model` | 31-day limit |\n| \"How many guardrail triggers?\" | `guardrail_invoked_count`, `guardrail_invoked_rate` | `model` | 31-day limit |\n| \"How many cached responses?\" | `response_cached_count`, `response_cached_rate` | `model` | 31-day limit |\n| \"Where does my spend go?\" | `usage_upstream`, `usage_cache`, `usage_data` | — | Full cost breakdown (up to 365 days) |\n| \"Web search costs?\" | `usage_web`, `usage_upstream_web` | `model` | Up to 365 days |\n| \"File processing costs?\" | `usage_file`, `usage_upstream_file` | `model` | 31-day limit |\n| \"Web fetch costs?\" | `usage_web_fetch`, `usage_upstream_web_fetch` | `model` | 31-day limit |\n\n## Filter Value Reference\n\nSeveral dimensions are **label-resolved** in query results — the response shows human-readable names, but filters must use the underlying ID. Here's where to find each:\n\n| Dimension | Filter value | Where to find it |\n|---|---|---|\n| `api_key_id` | Numeric ID **or** 64-char SHA-256 hash | Numeric ID: generation metadata (`api_key_id` field). Hash: `GET \u002Fapi\u002Fv1\u002Fkeys` (`key_hash` field). Hashes are auto-resolved server-side. If a hash can't be resolved, a sentinel value returns zero rows (no error). |\n| `user` | Clerk user ID (e.g. `user_abc123`) | User settings or org member list — not the display name\u002Femail shown in results. |\n| `workspace` | Workspace UUID | Workspace settings page or `GET \u002Fapi\u002Fv1\u002Fworkspaces` — not the workspace name shown in results. |\n| `app` | Numeric app ID | Generation metadata (`app_id` field) or app settings — not the app title shown in results. |\n| `model` | Permaslug (e.g. `openai\u002Fgpt-4o`) | Model page URL or `GET \u002Fapi\u002Fv1\u002Fmodels` — not the display name. |\n\nOther dimensions (`provider`, `origin`, `country`, `finish_reason`, `external_user`, etc.) are not enriched — filter values match what's returned in results.\n\n## Constraints\n\n- Maximum 2 dimensions per query\n- Maximum 20 filters per query\n- Maximum 10 classifier dimensions per query\n- Maximum 10 classifier filters per query\n- Maximum 10,000 rows returned per query (default 1,000)\n- `group_limit` (1–10,000): controls max rows per dimension combination. Auto-computed on time-series queries with dimensions to guarantee full time-window coverage. Set explicitly to cap per-group rows (e.g., top N per model per day).\n- Most volume\u002Fcost metrics: up to 365 days with daily granularity\n- Latency\u002Fthroughput metrics and per-generation dimensions: up to 31 days\n- Classifier dimensions\u002Ffilters: always limited to 31 days\n- Minute granularity: only available when the time window is ≤ 3 hours\n- Rate-limited to 64 requests per minute\n",{"data":34,"body":36},{"name":4,"description":6,"version":35},"0.1.0",{"type":37,"children":38},"root",[39,48,54,61,109,115,127,140,210,216,777,783,788,915,922,991,997,1007,1100,1110,1289,1299,1366,1376,1412,1418,1423,1473,1494,1507,1513,1518,1608,1632,1648,1654,1662,1726,1734,1815,1821,1833,1884,1890,2025,2031,2044,2235,2241,2246,2352,2357,2363,2368,3146,3152,3164,3364,3400,3406,3470],{"type":40,"tag":41,"props":42,"children":44},"element","h1",{"id":43},"openrouter-analytics-schema-discovery",[45],{"type":46,"value":47},"text","OpenRouter Analytics Schema Discovery",{"type":40,"tag":49,"props":50,"children":51},"p",{},[52],{"type":46,"value":53},"Discover what analytics data is available for querying. The meta endpoint returns live, always-current definitions of metrics, dimensions, filter operators, and granularities.",{"type":40,"tag":55,"props":56,"children":58},"h2",{"id":57},"prerequisites",[59],{"type":46,"value":60},"Prerequisites",{"type":40,"tag":62,"props":63,"children":64},"ul",{},[65,87],{"type":40,"tag":66,"props":67,"children":68},"li",{},[69,71,77,79],{"type":46,"value":70},"An OpenRouter ",{"type":40,"tag":72,"props":73,"children":74},"strong",{},[75],{"type":46,"value":76},"management key",{"type":46,"value":78},". Management keys are separate from regular API keys — get one at ",{"type":40,"tag":80,"props":81,"children":85},"a",{"href":82,"rel":83},"https:\u002F\u002Fopenrouter.ai\u002Fsettings\u002Fmanagement-keys",[84],"nofollow",[86],{"type":46,"value":82},{"type":40,"tag":66,"props":88,"children":89},{},[90,92,99,101,107],{"type":46,"value":91},"Pass it via ",{"type":40,"tag":93,"props":94,"children":96},"code",{"className":95},[],[97],{"type":46,"value":98},"--api-key \u003Ckey>",{"type":46,"value":100}," or set the ",{"type":40,"tag":93,"props":102,"children":104},{"className":103},[],[105],{"type":46,"value":106},"OPENROUTER_API_KEY",{"type":46,"value":108}," environment variable",{"type":40,"tag":55,"props":110,"children":112},{"id":111},"discovery-endpoint",[113],{"type":46,"value":114},"Discovery Endpoint",{"type":40,"tag":116,"props":117,"children":121},"pre",{"className":118,"code":120,"language":46},[119],"language-text","GET https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\u002Fanalytics\u002Fmeta\nAuthorization: Bearer sk-or-v1-...\n",[122],{"type":40,"tag":93,"props":123,"children":125},{"__ignoreMap":124},"",[126],{"type":46,"value":120},{"type":40,"tag":49,"props":128,"children":129},{},[130,132,138],{"type":46,"value":131},"Or via the ",{"type":40,"tag":93,"props":133,"children":135},{"className":134},[],[136],{"type":46,"value":137},"openrouter-analytics",{"type":46,"value":139}," skill scripts:",{"type":40,"tag":116,"props":141,"children":145},{"className":142,"code":143,"language":144,"meta":124,"style":124},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cd \u003Copenrouter-analytics-skill-path>\u002Fscripts && npx tsx discover-schema.ts\n","bash",[146],{"type":40,"tag":93,"props":147,"children":148},{"__ignoreMap":124},[149],{"type":40,"tag":150,"props":151,"children":154},"span",{"class":152,"line":153},"line",1,[155,161,167,173,179,184,189,194,200,205],{"type":40,"tag":150,"props":156,"children":158},{"style":157},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[159],{"type":46,"value":160},"cd",{"type":40,"tag":150,"props":162,"children":164},{"style":163},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[165],{"type":46,"value":166}," \u003C",{"type":40,"tag":150,"props":168,"children":170},{"style":169},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[171],{"type":46,"value":172},"openrouter-analytics-skill-pat",{"type":40,"tag":150,"props":174,"children":176},{"style":175},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[177],{"type":46,"value":178},"h",{"type":40,"tag":150,"props":180,"children":181},{"style":163},[182],{"type":46,"value":183},">",{"type":40,"tag":150,"props":185,"children":186},{"style":169},[187],{"type":46,"value":188},"\u002Fscripts",{"type":40,"tag":150,"props":190,"children":191},{"style":163},[192],{"type":46,"value":193}," &&",{"type":40,"tag":150,"props":195,"children":197},{"style":196},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[198],{"type":46,"value":199}," npx",{"type":40,"tag":150,"props":201,"children":202},{"style":169},[203],{"type":46,"value":204}," tsx",{"type":40,"tag":150,"props":206,"children":207},{"style":169},[208],{"type":46,"value":209}," discover-schema.ts\n",{"type":40,"tag":55,"props":211,"children":213},{"id":212},"response-shape",[214],{"type":46,"value":215},"Response Shape",{"type":40,"tag":116,"props":217,"children":221},{"className":218,"code":219,"language":220,"meta":124,"style":124},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"data\": {\n    \"metrics\": [\n      { \"name\": \"request_count\", \"display_label\": \"Request Count\", \"is_rate\": false, \"display_format\": \"number\" }\n    ],\n    \"dimensions\": [\n      { \"name\": \"model\", \"display_label\": \"Model\" }\n    ],\n    \"operators\": [\n      { \"name\": \"eq\", \"value_type\": \"scalar\" }\n    ],\n    \"granularities\": [\n      { \"name\": \"day\", \"display_label\": \"Day\" }\n    ]\n  }\n}\n","json",[222],{"type":40,"tag":93,"props":223,"children":224},{"__ignoreMap":124},[225,233,263,290,427,436,461,535,543,568,643,651,676,750,759,768],{"type":40,"tag":150,"props":226,"children":227},{"class":152,"line":153},[228],{"type":40,"tag":150,"props":229,"children":230},{"style":163},[231],{"type":46,"value":232},"{\n",{"type":40,"tag":150,"props":234,"children":236},{"class":152,"line":235},2,[237,242,248,253,258],{"type":40,"tag":150,"props":238,"children":239},{"style":163},[240],{"type":46,"value":241},"  \"",{"type":40,"tag":150,"props":243,"children":245},{"style":244},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[246],{"type":46,"value":247},"data",{"type":40,"tag":150,"props":249,"children":250},{"style":163},[251],{"type":46,"value":252},"\"",{"type":40,"tag":150,"props":254,"children":255},{"style":163},[256],{"type":46,"value":257},":",{"type":40,"tag":150,"props":259,"children":260},{"style":163},[261],{"type":46,"value":262}," {\n",{"type":40,"tag":150,"props":264,"children":266},{"class":152,"line":265},3,[267,272,277,281,285],{"type":40,"tag":150,"props":268,"children":269},{"style":163},[270],{"type":46,"value":271},"    \"",{"type":40,"tag":150,"props":273,"children":274},{"style":196},[275],{"type":46,"value":276},"metrics",{"type":40,"tag":150,"props":278,"children":279},{"style":163},[280],{"type":46,"value":252},{"type":40,"tag":150,"props":282,"children":283},{"style":163},[284],{"type":46,"value":257},{"type":40,"tag":150,"props":286,"children":287},{"style":163},[288],{"type":46,"value":289}," [\n",{"type":40,"tag":150,"props":291,"children":293},{"class":152,"line":292},4,[294,299,304,310,314,318,322,327,331,336,340,345,349,353,357,362,366,370,374,379,383,387,392,396,401,405,409,413,418,422],{"type":40,"tag":150,"props":295,"children":296},{"style":163},[297],{"type":46,"value":298},"      {",{"type":40,"tag":150,"props":300,"children":301},{"style":163},[302],{"type":46,"value":303}," \"",{"type":40,"tag":150,"props":305,"children":307},{"style":306},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[308],{"type":46,"value":309},"name",{"type":40,"tag":150,"props":311,"children":312},{"style":163},[313],{"type":46,"value":252},{"type":40,"tag":150,"props":315,"children":316},{"style":163},[317],{"type":46,"value":257},{"type":40,"tag":150,"props":319,"children":320},{"style":163},[321],{"type":46,"value":303},{"type":40,"tag":150,"props":323,"children":324},{"style":169},[325],{"type":46,"value":326},"request_count",{"type":40,"tag":150,"props":328,"children":329},{"style":163},[330],{"type":46,"value":252},{"type":40,"tag":150,"props":332,"children":333},{"style":163},[334],{"type":46,"value":335},",",{"type":40,"tag":150,"props":337,"children":338},{"style":163},[339],{"type":46,"value":303},{"type":40,"tag":150,"props":341,"children":342},{"style":306},[343],{"type":46,"value":344},"display_label",{"type":40,"tag":150,"props":346,"children":347},{"style":163},[348],{"type":46,"value":252},{"type":40,"tag":150,"props":350,"children":351},{"style":163},[352],{"type":46,"value":257},{"type":40,"tag":150,"props":354,"children":355},{"style":163},[356],{"type":46,"value":303},{"type":40,"tag":150,"props":358,"children":359},{"style":169},[360],{"type":46,"value":361},"Request Count",{"type":40,"tag":150,"props":363,"children":364},{"style":163},[365],{"type":46,"value":252},{"type":40,"tag":150,"props":367,"children":368},{"style":163},[369],{"type":46,"value":335},{"type":40,"tag":150,"props":371,"children":372},{"style":163},[373],{"type":46,"value":303},{"type":40,"tag":150,"props":375,"children":376},{"style":306},[377],{"type":46,"value":378},"is_rate",{"type":40,"tag":150,"props":380,"children":381},{"style":163},[382],{"type":46,"value":252},{"type":40,"tag":150,"props":384,"children":385},{"style":163},[386],{"type":46,"value":257},{"type":40,"tag":150,"props":388,"children":389},{"style":163},[390],{"type":46,"value":391}," false,",{"type":40,"tag":150,"props":393,"children":394},{"style":163},[395],{"type":46,"value":303},{"type":40,"tag":150,"props":397,"children":398},{"style":306},[399],{"type":46,"value":400},"display_format",{"type":40,"tag":150,"props":402,"children":403},{"style":163},[404],{"type":46,"value":252},{"type":40,"tag":150,"props":406,"children":407},{"style":163},[408],{"type":46,"value":257},{"type":40,"tag":150,"props":410,"children":411},{"style":163},[412],{"type":46,"value":303},{"type":40,"tag":150,"props":414,"children":415},{"style":169},[416],{"type":46,"value":417},"number",{"type":40,"tag":150,"props":419,"children":420},{"style":163},[421],{"type":46,"value":252},{"type":40,"tag":150,"props":423,"children":424},{"style":163},[425],{"type":46,"value":426}," }\n",{"type":40,"tag":150,"props":428,"children":430},{"class":152,"line":429},5,[431],{"type":40,"tag":150,"props":432,"children":433},{"style":163},[434],{"type":46,"value":435},"    ],\n",{"type":40,"tag":150,"props":437,"children":439},{"class":152,"line":438},6,[440,444,449,453,457],{"type":40,"tag":150,"props":441,"children":442},{"style":163},[443],{"type":46,"value":271},{"type":40,"tag":150,"props":445,"children":446},{"style":196},[447],{"type":46,"value":448},"dimensions",{"type":40,"tag":150,"props":450,"children":451},{"style":163},[452],{"type":46,"value":252},{"type":40,"tag":150,"props":454,"children":455},{"style":163},[456],{"type":46,"value":257},{"type":40,"tag":150,"props":458,"children":459},{"style":163},[460],{"type":46,"value":289},{"type":40,"tag":150,"props":462,"children":464},{"class":152,"line":463},7,[465,469,473,477,481,485,489,494,498,502,506,510,514,518,522,527,531],{"type":40,"tag":150,"props":466,"children":467},{"style":163},[468],{"type":46,"value":298},{"type":40,"tag":150,"props":470,"children":471},{"style":163},[472],{"type":46,"value":303},{"type":40,"tag":150,"props":474,"children":475},{"style":306},[476],{"type":46,"value":309},{"type":40,"tag":150,"props":478,"children":479},{"style":163},[480],{"type":46,"value":252},{"type":40,"tag":150,"props":482,"children":483},{"style":163},[484],{"type":46,"value":257},{"type":40,"tag":150,"props":486,"children":487},{"style":163},[488],{"type":46,"value":303},{"type":40,"tag":150,"props":490,"children":491},{"style":169},[492],{"type":46,"value":493},"model",{"type":40,"tag":150,"props":495,"children":496},{"style":163},[497],{"type":46,"value":252},{"type":40,"tag":150,"props":499,"children":500},{"style":163},[501],{"type":46,"value":335},{"type":40,"tag":150,"props":503,"children":504},{"style":163},[505],{"type":46,"value":303},{"type":40,"tag":150,"props":507,"children":508},{"style":306},[509],{"type":46,"value":344},{"type":40,"tag":150,"props":511,"children":512},{"style":163},[513],{"type":46,"value":252},{"type":40,"tag":150,"props":515,"children":516},{"style":163},[517],{"type":46,"value":257},{"type":40,"tag":150,"props":519,"children":520},{"style":163},[521],{"type":46,"value":303},{"type":40,"tag":150,"props":523,"children":524},{"style":169},[525],{"type":46,"value":526},"Model",{"type":40,"tag":150,"props":528,"children":529},{"style":163},[530],{"type":46,"value":252},{"type":40,"tag":150,"props":532,"children":533},{"style":163},[534],{"type":46,"value":426},{"type":40,"tag":150,"props":536,"children":538},{"class":152,"line":537},8,[539],{"type":40,"tag":150,"props":540,"children":541},{"style":163},[542],{"type":46,"value":435},{"type":40,"tag":150,"props":544,"children":546},{"class":152,"line":545},9,[547,551,556,560,564],{"type":40,"tag":150,"props":548,"children":549},{"style":163},[550],{"type":46,"value":271},{"type":40,"tag":150,"props":552,"children":553},{"style":196},[554],{"type":46,"value":555},"operators",{"type":40,"tag":150,"props":557,"children":558},{"style":163},[559],{"type":46,"value":252},{"type":40,"tag":150,"props":561,"children":562},{"style":163},[563],{"type":46,"value":257},{"type":40,"tag":150,"props":565,"children":566},{"style":163},[567],{"type":46,"value":289},{"type":40,"tag":150,"props":569,"children":571},{"class":152,"line":570},10,[572,576,580,584,588,592,596,601,605,609,613,618,622,626,630,635,639],{"type":40,"tag":150,"props":573,"children":574},{"style":163},[575],{"type":46,"value":298},{"type":40,"tag":150,"props":577,"children":578},{"style":163},[579],{"type":46,"value":303},{"type":40,"tag":150,"props":581,"children":582},{"style":306},[583],{"type":46,"value":309},{"type":40,"tag":150,"props":585,"children":586},{"style":163},[587],{"type":46,"value":252},{"type":40,"tag":150,"props":589,"children":590},{"style":163},[591],{"type":46,"value":257},{"type":40,"tag":150,"props":593,"children":594},{"style":163},[595],{"type":46,"value":303},{"type":40,"tag":150,"props":597,"children":598},{"style":169},[599],{"type":46,"value":600},"eq",{"type":40,"tag":150,"props":602,"children":603},{"style":163},[604],{"type":46,"value":252},{"type":40,"tag":150,"props":606,"children":607},{"style":163},[608],{"type":46,"value":335},{"type":40,"tag":150,"props":610,"children":611},{"style":163},[612],{"type":46,"value":303},{"type":40,"tag":150,"props":614,"children":615},{"style":306},[616],{"type":46,"value":617},"value_type",{"type":40,"tag":150,"props":619,"children":620},{"style":163},[621],{"type":46,"value":252},{"type":40,"tag":150,"props":623,"children":624},{"style":163},[625],{"type":46,"value":257},{"type":40,"tag":150,"props":627,"children":628},{"style":163},[629],{"type":46,"value":303},{"type":40,"tag":150,"props":631,"children":632},{"style":169},[633],{"type":46,"value":634},"scalar",{"type":40,"tag":150,"props":636,"children":637},{"style":163},[638],{"type":46,"value":252},{"type":40,"tag":150,"props":640,"children":641},{"style":163},[642],{"type":46,"value":426},{"type":40,"tag":150,"props":644,"children":646},{"class":152,"line":645},11,[647],{"type":40,"tag":150,"props":648,"children":649},{"style":163},[650],{"type":46,"value":435},{"type":40,"tag":150,"props":652,"children":654},{"class":152,"line":653},12,[655,659,664,668,672],{"type":40,"tag":150,"props":656,"children":657},{"style":163},[658],{"type":46,"value":271},{"type":40,"tag":150,"props":660,"children":661},{"style":196},[662],{"type":46,"value":663},"granularities",{"type":40,"tag":150,"props":665,"children":666},{"style":163},[667],{"type":46,"value":252},{"type":40,"tag":150,"props":669,"children":670},{"style":163},[671],{"type":46,"value":257},{"type":40,"tag":150,"props":673,"children":674},{"style":163},[675],{"type":46,"value":289},{"type":40,"tag":150,"props":677,"children":679},{"class":152,"line":678},13,[680,684,688,692,696,700,704,709,713,717,721,725,729,733,737,742,746],{"type":40,"tag":150,"props":681,"children":682},{"style":163},[683],{"type":46,"value":298},{"type":40,"tag":150,"props":685,"children":686},{"style":163},[687],{"type":46,"value":303},{"type":40,"tag":150,"props":689,"children":690},{"style":306},[691],{"type":46,"value":309},{"type":40,"tag":150,"props":693,"children":694},{"style":163},[695],{"type":46,"value":252},{"type":40,"tag":150,"props":697,"children":698},{"style":163},[699],{"type":46,"value":257},{"type":40,"tag":150,"props":701,"children":702},{"style":163},[703],{"type":46,"value":303},{"type":40,"tag":150,"props":705,"children":706},{"style":169},[707],{"type":46,"value":708},"day",{"type":40,"tag":150,"props":710,"children":711},{"style":163},[712],{"type":46,"value":252},{"type":40,"tag":150,"props":714,"children":715},{"style":163},[716],{"type":46,"value":335},{"type":40,"tag":150,"props":718,"children":719},{"style":163},[720],{"type":46,"value":303},{"type":40,"tag":150,"props":722,"children":723},{"style":306},[724],{"type":46,"value":344},{"type":40,"tag":150,"props":726,"children":727},{"style":163},[728],{"type":46,"value":252},{"type":40,"tag":150,"props":730,"children":731},{"style":163},[732],{"type":46,"value":257},{"type":40,"tag":150,"props":734,"children":735},{"style":163},[736],{"type":46,"value":303},{"type":40,"tag":150,"props":738,"children":739},{"style":169},[740],{"type":46,"value":741},"Day",{"type":40,"tag":150,"props":743,"children":744},{"style":163},[745],{"type":46,"value":252},{"type":40,"tag":150,"props":747,"children":748},{"style":163},[749],{"type":46,"value":426},{"type":40,"tag":150,"props":751,"children":753},{"class":152,"line":752},14,[754],{"type":40,"tag":150,"props":755,"children":756},{"style":163},[757],{"type":46,"value":758},"    ]\n",{"type":40,"tag":150,"props":760,"children":762},{"class":152,"line":761},15,[763],{"type":40,"tag":150,"props":764,"children":765},{"style":163},[766],{"type":46,"value":767},"  }\n",{"type":40,"tag":150,"props":769,"children":771},{"class":152,"line":770},16,[772],{"type":40,"tag":150,"props":773,"children":774},{"style":163},[775],{"type":46,"value":776},"}\n",{"type":40,"tag":55,"props":778,"children":780},{"id":779},"understanding-metrics",[781],{"type":46,"value":782},"Understanding Metrics",{"type":40,"tag":49,"props":784,"children":785},{},[786],{"type":46,"value":787},"Each metric has:",{"type":40,"tag":789,"props":790,"children":791},"table",{},[792,811],{"type":40,"tag":793,"props":794,"children":795},"thead",{},[796],{"type":40,"tag":797,"props":798,"children":799},"tr",{},[800,806],{"type":40,"tag":801,"props":802,"children":803},"th",{},[804],{"type":46,"value":805},"Field",{"type":40,"tag":801,"props":807,"children":808},{},[809],{"type":46,"value":810},"Meaning",{"type":40,"tag":812,"props":813,"children":814},"tbody",{},[815,832,848,864],{"type":40,"tag":797,"props":816,"children":817},{},[818,827],{"type":40,"tag":819,"props":820,"children":821},"td",{},[822],{"type":40,"tag":93,"props":823,"children":825},{"className":824},[],[826],{"type":46,"value":309},{"type":40,"tag":819,"props":828,"children":829},{},[830],{"type":46,"value":831},"Identifier to use in query requests",{"type":40,"tag":797,"props":833,"children":834},{},[835,843],{"type":40,"tag":819,"props":836,"children":837},{},[838],{"type":40,"tag":93,"props":839,"children":841},{"className":840},[],[842],{"type":46,"value":344},{"type":40,"tag":819,"props":844,"children":845},{},[846],{"type":46,"value":847},"Human-readable label",{"type":40,"tag":797,"props":849,"children":850},{},[851,859],{"type":40,"tag":819,"props":852,"children":853},{},[854],{"type":40,"tag":93,"props":855,"children":857},{"className":856},[],[858],{"type":46,"value":378},{"type":40,"tag":819,"props":860,"children":861},{},[862],{"type":46,"value":863},"Whether this is a ratio\u002Frate (averaged, not summed)",{"type":40,"tag":797,"props":865,"children":866},{},[867,875],{"type":40,"tag":819,"props":868,"children":869},{},[870],{"type":40,"tag":93,"props":871,"children":873},{"className":872},[],[874],{"type":46,"value":400},{"type":40,"tag":819,"props":876,"children":877},{},[878,880,885,887,893,894,900,901,907,909],{"type":46,"value":879},"How the value should be formatted: ",{"type":40,"tag":93,"props":881,"children":883},{"className":882},[],[884],{"type":46,"value":417},{"type":46,"value":886},", ",{"type":40,"tag":93,"props":888,"children":890},{"className":889},[],[891],{"type":46,"value":892},"currency",{"type":46,"value":886},{"type":40,"tag":93,"props":895,"children":897},{"className":896},[],[898],{"type":46,"value":899},"percent",{"type":46,"value":886},{"type":40,"tag":93,"props":902,"children":904},{"className":903},[],[905],{"type":46,"value":906},"latency",{"type":46,"value":908},", or ",{"type":40,"tag":93,"props":910,"children":912},{"className":911},[],[913],{"type":46,"value":914},"throughput",{"type":40,"tag":916,"props":917,"children":919},"h3",{"id":918},"time-range-limits",[920],{"type":46,"value":921},"Time Range Limits",{"type":40,"tag":49,"props":923,"children":924},{},[925,927,932,934,940,941,947,948,954,955,961,962,968,969,975,976,982,984,989],{"type":46,"value":926},"Most volume and cost metrics support time ranges up to ",{"type":40,"tag":72,"props":928,"children":929},{},[930],{"type":46,"value":931},"365 days",{"type":46,"value":933}," with daily granularity. Latency\u002Fthroughput metrics and some dimensions (",{"type":40,"tag":93,"props":935,"children":937},{"className":936},[],[938],{"type":46,"value":939},"provider",{"type":46,"value":886},{"type":40,"tag":93,"props":942,"children":944},{"className":943},[],[945],{"type":46,"value":946},"origin",{"type":46,"value":886},{"type":40,"tag":93,"props":949,"children":951},{"className":950},[],[952],{"type":46,"value":953},"country",{"type":46,"value":886},{"type":40,"tag":93,"props":956,"children":958},{"className":957},[],[959],{"type":46,"value":960},"finish_reason",{"type":46,"value":886},{"type":40,"tag":93,"props":963,"children":965},{"className":964},[],[966],{"type":46,"value":967},"external_user",{"type":46,"value":886},{"type":40,"tag":93,"props":970,"children":972},{"className":971},[],[973],{"type":46,"value":974},"context_length_bucket",{"type":46,"value":886},{"type":40,"tag":93,"props":977,"children":979},{"className":978},[],[980],{"type":46,"value":981},"generation_id",{"type":46,"value":983},") are limited to ",{"type":40,"tag":72,"props":985,"children":986},{},[987],{"type":46,"value":988},"31-day",{"type":46,"value":990}," time ranges. If a query times out, try narrowing the time range or removing latency\u002Fthroughput metrics and per-generation dimensions.",{"type":40,"tag":916,"props":992,"children":994},{"id":993},"metric-categories",[995],{"type":46,"value":996},"Metric Categories",{"type":40,"tag":49,"props":998,"children":999},{},[1000,1005],{"type":40,"tag":72,"props":1001,"children":1002},{},[1003],{"type":46,"value":1004},"Volume metrics",{"type":46,"value":1006}," (how much):",{"type":40,"tag":62,"props":1008,"children":1009},{},[1010,1020,1045,1056,1067,1078,1089],{"type":40,"tag":66,"props":1011,"children":1012},{},[1013,1018],{"type":40,"tag":93,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":46,"value":326},{"type":46,"value":1019}," — number of API requests (up to 365 days)",{"type":40,"tag":66,"props":1021,"children":1022},{},[1023,1029,1030,1036,1037,1043],{"type":40,"tag":93,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":46,"value":1028},"tokens_total",{"type":46,"value":886},{"type":40,"tag":93,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":46,"value":1035},"tokens_prompt",{"type":46,"value":886},{"type":40,"tag":93,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":46,"value":1042},"tokens_completion",{"type":46,"value":1044}," — token counts (up to 365 days)",{"type":40,"tag":66,"props":1046,"children":1047},{},[1048,1054],{"type":40,"tag":93,"props":1049,"children":1051},{"className":1050},[],[1052],{"type":46,"value":1053},"reasoning_tokens",{"type":46,"value":1055}," — tokens used for extended thinking (up to 365 days)",{"type":40,"tag":66,"props":1057,"children":1058},{},[1059,1065],{"type":40,"tag":93,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":46,"value":1064},"cached_tokens",{"type":46,"value":1066}," — tokens served from cache (up to 365 days)",{"type":40,"tag":66,"props":1068,"children":1069},{},[1070,1076],{"type":40,"tag":93,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":46,"value":1075},"byok_request_count",{"type":46,"value":1077}," — number of BYOK requests (up to 365 days)",{"type":40,"tag":66,"props":1079,"children":1080},{},[1081,1087],{"type":40,"tag":93,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":46,"value":1086},"guardrail_invoked_count",{"type":46,"value":1088}," — count of requests that triggered guardrails (31-day limit)",{"type":40,"tag":66,"props":1090,"children":1091},{},[1092,1098],{"type":40,"tag":93,"props":1093,"children":1095},{"className":1094},[],[1096],{"type":46,"value":1097},"response_cached_count",{"type":46,"value":1099}," — count of responses served from cache (31-day limit)",{"type":40,"tag":49,"props":1101,"children":1102},{},[1103,1108],{"type":40,"tag":72,"props":1104,"children":1105},{},[1106],{"type":46,"value":1107},"Cost metrics",{"type":46,"value":1109}," (how much money):",{"type":40,"tag":62,"props":1111,"children":1112},{},[1113,1132,1143,1154,1165,1190,1201,1212,1223,1234,1245,1256,1267,1278],{"type":40,"tag":66,"props":1114,"children":1115},{},[1116,1122,1124,1130],{"type":40,"tag":93,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":46,"value":1121},"total_usage",{"type":46,"value":1123}," — total cost in USD, including BYOK inference cost (up to 365 days). Computed as ",{"type":40,"tag":93,"props":1125,"children":1127},{"className":1126},[],[1128],{"type":46,"value":1129},"sum(usage) + sum(byok_usage_inference)",{"type":46,"value":1131}," so it reflects true spend for both credits and BYOK users.",{"type":40,"tag":66,"props":1133,"children":1134},{},[1135,1141],{"type":40,"tag":93,"props":1136,"children":1138},{"className":1137},[],[1139],{"type":46,"value":1140},"byok_usage",{"type":46,"value":1142}," — BYOK (bring your own key) inference cost in USD (up to 365 days)",{"type":40,"tag":66,"props":1144,"children":1145},{},[1146,1152],{"type":40,"tag":93,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":46,"value":1151},"credits_usage",{"type":46,"value":1153}," — all charges billed to OpenRouter credits in USD, including BYOK platform fees (up to 365 days)",{"type":40,"tag":66,"props":1155,"children":1156},{},[1157,1163],{"type":40,"tag":93,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":46,"value":1162},"openrouter_usage",{"type":46,"value":1164}," — non-BYOK inference spend in USD; excludes requests made with user-provided keys (31-day limit)",{"type":40,"tag":66,"props":1166,"children":1167},{},[1168,1174,1176,1181,1183,1188],{"type":40,"tag":93,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":46,"value":1173},"byok_fees",{"type":46,"value":1175}," — BYOK platform fees in USD; the platform fee portion of ",{"type":40,"tag":93,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":46,"value":1151},{"type":46,"value":1182}," charged on BYOK requests (31-day limit). ",{"type":40,"tag":93,"props":1184,"children":1186},{"className":1185},[],[1187],{"type":46,"value":1151},{"type":46,"value":1189}," includes both non-BYOK inference charges and these BYOK platform fees.",{"type":40,"tag":66,"props":1191,"children":1192},{},[1193,1199],{"type":40,"tag":93,"props":1194,"children":1196},{"className":1195},[],[1197],{"type":46,"value":1198},"usage_upstream",{"type":46,"value":1200}," — provider-side (upstream) cost in USD (up to 365 days)",{"type":40,"tag":66,"props":1202,"children":1203},{},[1204,1210],{"type":40,"tag":93,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":46,"value":1209},"usage_cache",{"type":46,"value":1211}," — cache cost component in USD (up to 365 days)",{"type":40,"tag":66,"props":1213,"children":1214},{},[1215,1221],{"type":40,"tag":93,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":46,"value":1220},"usage_data",{"type":46,"value":1222}," — data logging cost adjustment in USD; typically negative when a data logging discount applies (up to 365 days)",{"type":40,"tag":66,"props":1224,"children":1225},{},[1226,1232],{"type":40,"tag":93,"props":1227,"children":1229},{"className":1228},[],[1230],{"type":46,"value":1231},"usage_web",{"type":46,"value":1233}," — web search cost in USD (up to 365 days)",{"type":40,"tag":66,"props":1235,"children":1236},{},[1237,1243],{"type":40,"tag":93,"props":1238,"children":1240},{"className":1239},[],[1241],{"type":46,"value":1242},"usage_upstream_web",{"type":46,"value":1244}," — provider-side web search cost in USD (up to 365 days)",{"type":40,"tag":66,"props":1246,"children":1247},{},[1248,1254],{"type":40,"tag":93,"props":1249,"children":1251},{"className":1250},[],[1252],{"type":46,"value":1253},"usage_file",{"type":46,"value":1255}," — file processing cost in USD (31-day limit)",{"type":40,"tag":66,"props":1257,"children":1258},{},[1259,1265],{"type":40,"tag":93,"props":1260,"children":1262},{"className":1261},[],[1263],{"type":46,"value":1264},"usage_upstream_file",{"type":46,"value":1266}," — provider-side file processing cost in USD (31-day limit)",{"type":40,"tag":66,"props":1268,"children":1269},{},[1270,1276],{"type":40,"tag":93,"props":1271,"children":1273},{"className":1272},[],[1274],{"type":46,"value":1275},"usage_web_fetch",{"type":46,"value":1277}," — web fetch cost in USD (31-day limit)",{"type":40,"tag":66,"props":1279,"children":1280},{},[1281,1287],{"type":40,"tag":93,"props":1282,"children":1284},{"className":1283},[],[1285],{"type":46,"value":1286},"usage_upstream_web_fetch",{"type":46,"value":1288}," — provider-side web fetch cost in USD (31-day limit)",{"type":40,"tag":49,"props":1290,"children":1291},{},[1292,1297],{"type":40,"tag":72,"props":1293,"children":1294},{},[1295],{"type":46,"value":1296},"Performance metrics",{"type":46,"value":1298}," (how fast):",{"type":40,"tag":62,"props":1300,"children":1301},{},[1302,1334],{"type":40,"tag":66,"props":1303,"children":1304},{},[1305,1311,1312,1318,1319,1325,1326,1332],{"type":40,"tag":93,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":46,"value":1310},"avg_latency",{"type":46,"value":886},{"type":40,"tag":93,"props":1313,"children":1315},{"className":1314},[],[1316],{"type":46,"value":1317},"p50_latency",{"type":46,"value":886},{"type":40,"tag":93,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":46,"value":1324},"p90_latency",{"type":46,"value":886},{"type":40,"tag":93,"props":1327,"children":1329},{"className":1328},[],[1330],{"type":46,"value":1331},"p99_latency",{"type":46,"value":1333}," — response latency in milliseconds",{"type":40,"tag":66,"props":1335,"children":1336},{},[1337,1343,1344,1350,1351,1357,1358,1364],{"type":40,"tag":93,"props":1338,"children":1340},{"className":1339},[],[1341],{"type":46,"value":1342},"avg_throughput",{"type":46,"value":886},{"type":40,"tag":93,"props":1345,"children":1347},{"className":1346},[],[1348],{"type":46,"value":1349},"p50_throughput",{"type":46,"value":886},{"type":40,"tag":93,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":46,"value":1356},"p90_throughput",{"type":46,"value":886},{"type":40,"tag":93,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":46,"value":1363},"p99_throughput",{"type":46,"value":1365}," — tokens per second",{"type":40,"tag":49,"props":1367,"children":1368},{},[1369,1374],{"type":40,"tag":72,"props":1370,"children":1371},{},[1372],{"type":46,"value":1373},"Efficiency metrics",{"type":46,"value":1375}," (how well):",{"type":40,"tag":62,"props":1377,"children":1378},{},[1379,1390,1401],{"type":40,"tag":66,"props":1380,"children":1381},{},[1382,1388],{"type":40,"tag":93,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":46,"value":1387},"cache_hit_rate",{"type":46,"value":1389}," — ratio of cached tokens to prompt tokens (0–1)",{"type":40,"tag":66,"props":1391,"children":1392},{},[1393,1399],{"type":40,"tag":93,"props":1394,"children":1396},{"className":1395},[],[1397],{"type":46,"value":1398},"guardrail_invoked_rate",{"type":46,"value":1400}," — ratio of requests that triggered guardrails",{"type":40,"tag":66,"props":1402,"children":1403},{},[1404,1410],{"type":40,"tag":93,"props":1405,"children":1407},{"className":1406},[],[1408],{"type":46,"value":1409},"response_cached_rate",{"type":46,"value":1411}," — ratio of responses served from cache",{"type":40,"tag":55,"props":1413,"children":1415},{"id":1414},"understanding-dimensions",[1416],{"type":46,"value":1417},"Understanding Dimensions",{"type":40,"tag":49,"props":1419,"children":1420},{},[1421],{"type":46,"value":1422},"Each dimension has:",{"type":40,"tag":789,"props":1424,"children":1425},{},[1426,1440],{"type":40,"tag":793,"props":1427,"children":1428},{},[1429],{"type":40,"tag":797,"props":1430,"children":1431},{},[1432,1436],{"type":40,"tag":801,"props":1433,"children":1434},{},[1435],{"type":46,"value":805},{"type":40,"tag":801,"props":1437,"children":1438},{},[1439],{"type":46,"value":810},{"type":40,"tag":812,"props":1441,"children":1442},{},[1443,1458],{"type":40,"tag":797,"props":1444,"children":1445},{},[1446,1454],{"type":40,"tag":819,"props":1447,"children":1448},{},[1449],{"type":40,"tag":93,"props":1450,"children":1452},{"className":1451},[],[1453],{"type":46,"value":309},{"type":40,"tag":819,"props":1455,"children":1456},{},[1457],{"type":46,"value":831},{"type":40,"tag":797,"props":1459,"children":1460},{},[1461,1469],{"type":40,"tag":819,"props":1462,"children":1463},{},[1464],{"type":40,"tag":93,"props":1465,"children":1467},{"className":1466},[],[1468],{"type":46,"value":344},{"type":40,"tag":819,"props":1470,"children":1471},{},[1472],{"type":46,"value":847},{"type":40,"tag":49,"props":1474,"children":1475},{},[1476,1478,1484,1486,1492],{"type":46,"value":1477},"Dimensions are what you break down by — \"show me spend ",{"type":40,"tag":1479,"props":1480,"children":1481},"em",{},[1482],{"type":46,"value":1483},"by model",{"type":46,"value":1485},"\" means ",{"type":40,"tag":93,"props":1487,"children":1489},{"className":1488},[],[1490],{"type":46,"value":1491},"dimensions: [\"model\"]",{"type":46,"value":1493},".",{"type":40,"tag":49,"props":1495,"children":1496},{},[1497,1499,1505],{"type":46,"value":1498},"You can combine up to 2 dimensions in a single query (e.g., ",{"type":40,"tag":93,"props":1500,"children":1502},{"className":1501},[],[1503],{"type":46,"value":1504},"[\"model\", \"provider\"]",{"type":46,"value":1506},").",{"type":40,"tag":916,"props":1508,"children":1510},{"id":1509},"label-resolution",[1511],{"type":46,"value":1512},"Label Resolution",{"type":40,"tag":49,"props":1514,"children":1515},{},[1516],{"type":46,"value":1517},"Some dimensions have their raw IDs automatically resolved to human-readable labels in query results. Data rows contain the resolved display names directly:",{"type":40,"tag":789,"props":1519,"children":1520},{},[1521,1537],{"type":40,"tag":793,"props":1522,"children":1523},{},[1524],{"type":40,"tag":797,"props":1525,"children":1526},{},[1527,1532],{"type":40,"tag":801,"props":1528,"children":1529},{},[1530],{"type":46,"value":1531},"Dimension",{"type":40,"tag":801,"props":1533,"children":1534},{},[1535],{"type":46,"value":1536},"Resolved to",{"type":40,"tag":812,"props":1538,"children":1539},{},[1540,1557,1574,1591],{"type":40,"tag":797,"props":1541,"children":1542},{},[1543,1552],{"type":40,"tag":819,"props":1544,"children":1545},{},[1546],{"type":40,"tag":93,"props":1547,"children":1549},{"className":1548},[],[1550],{"type":46,"value":1551},"api_key_id",{"type":40,"tag":819,"props":1553,"children":1554},{},[1555],{"type":46,"value":1556},"Key name\u002Flabel",{"type":40,"tag":797,"props":1558,"children":1559},{},[1560,1569],{"type":40,"tag":819,"props":1561,"children":1562},{},[1563],{"type":40,"tag":93,"props":1564,"children":1566},{"className":1565},[],[1567],{"type":46,"value":1568},"app",{"type":40,"tag":819,"props":1570,"children":1571},{},[1572],{"type":46,"value":1573},"App title or origin URL",{"type":40,"tag":797,"props":1575,"children":1576},{},[1577,1586],{"type":40,"tag":819,"props":1578,"children":1579},{},[1580],{"type":40,"tag":93,"props":1581,"children":1583},{"className":1582},[],[1584],{"type":46,"value":1585},"user",{"type":40,"tag":819,"props":1587,"children":1588},{},[1589],{"type":46,"value":1590},"User name or email address",{"type":40,"tag":797,"props":1592,"children":1593},{},[1594,1603],{"type":40,"tag":819,"props":1595,"children":1596},{},[1597],{"type":40,"tag":93,"props":1598,"children":1600},{"className":1599},[],[1601],{"type":46,"value":1602},"workspace",{"type":40,"tag":819,"props":1604,"children":1605},{},[1606],{"type":46,"value":1607},"Workspace name",{"type":40,"tag":49,"props":1609,"children":1610},{},[1611,1613,1618,1619,1624,1625,1630],{"type":46,"value":1612},"All other dimensions (e.g., ",{"type":40,"tag":93,"props":1614,"children":1616},{"className":1615},[],[1617],{"type":46,"value":493},{"type":46,"value":886},{"type":40,"tag":93,"props":1620,"children":1622},{"className":1621},[],[1623],{"type":46,"value":939},{"type":46,"value":886},{"type":40,"tag":93,"props":1626,"children":1628},{"className":1627},[],[1629],{"type":46,"value":953},{"type":46,"value":1631},") are returned as-is without resolution.",{"type":40,"tag":1633,"props":1634,"children":1635},"blockquote",{},[1636],{"type":40,"tag":49,"props":1637,"children":1638},{},[1639,1641,1646],{"type":46,"value":1640},"Rows with an empty ",{"type":40,"tag":93,"props":1642,"children":1644},{"className":1643},[],[1645],{"type":46,"value":1585},{"type":46,"value":1647}," value represent traffic not attributed to a specific org member (e.g., API keys created at the org level).",{"type":40,"tag":916,"props":1649,"children":1651},{"id":1650},"dimension-categories",[1652],{"type":46,"value":1653},"Dimension Categories",{"type":40,"tag":49,"props":1655,"children":1656},{},[1657],{"type":40,"tag":72,"props":1658,"children":1659},{},[1660],{"type":46,"value":1661},"Available with all time ranges:",{"type":40,"tag":62,"props":1663,"children":1664},{},[1665,1675,1686,1696,1706,1716],{"type":40,"tag":66,"props":1666,"children":1667},{},[1668,1673],{"type":40,"tag":93,"props":1669,"children":1671},{"className":1670},[],[1672],{"type":46,"value":493},{"type":46,"value":1674}," — the OpenRouter model ID (permaslug)",{"type":40,"tag":66,"props":1676,"children":1677},{},[1678,1684],{"type":40,"tag":93,"props":1679,"children":1681},{"className":1680},[],[1682],{"type":46,"value":1683},"variant",{"type":46,"value":1685}," — model variant (e.g., standard, extended)",{"type":40,"tag":66,"props":1687,"children":1688},{},[1689,1694],{"type":40,"tag":93,"props":1690,"children":1692},{"className":1691},[],[1693],{"type":46,"value":1551},{"type":46,"value":1695}," — which API key made the request",{"type":40,"tag":66,"props":1697,"children":1698},{},[1699,1704],{"type":40,"tag":93,"props":1700,"children":1702},{"className":1701},[],[1703],{"type":46,"value":1585},{"type":46,"value":1705}," — the creator user ID (for org-level queries)",{"type":40,"tag":66,"props":1707,"children":1708},{},[1709,1714],{"type":40,"tag":93,"props":1710,"children":1712},{"className":1711},[],[1713],{"type":46,"value":1602},{"type":46,"value":1715}," — workspace ID",{"type":40,"tag":66,"props":1717,"children":1718},{},[1719,1724],{"type":40,"tag":93,"props":1720,"children":1722},{"className":1721},[],[1723],{"type":46,"value":1568},{"type":46,"value":1725}," — application ID",{"type":40,"tag":49,"props":1727,"children":1728},{},[1729],{"type":40,"tag":72,"props":1730,"children":1731},{},[1732],{"type":46,"value":1733},"Limited to 31-day time ranges:",{"type":40,"tag":62,"props":1735,"children":1736},{},[1737,1755,1765,1775,1785,1795,1805],{"type":40,"tag":66,"props":1738,"children":1739},{},[1740,1745,1747,1753],{"type":40,"tag":93,"props":1741,"children":1743},{"className":1742},[],[1744],{"type":46,"value":981},{"type":46,"value":1746}," — unique ID for each generation (use to drill down to individual requests, then inspect via the ",{"type":40,"tag":93,"props":1748,"children":1750},{"className":1749},[],[1751],{"type":46,"value":1752},"openrouter-generations",{"type":46,"value":1754}," skill)",{"type":40,"tag":66,"props":1756,"children":1757},{},[1758,1763],{"type":40,"tag":93,"props":1759,"children":1761},{"className":1760},[],[1762],{"type":46,"value":939},{"type":46,"value":1764}," — upstream provider name",{"type":40,"tag":66,"props":1766,"children":1767},{},[1768,1773],{"type":40,"tag":93,"props":1769,"children":1771},{"className":1770},[],[1772],{"type":46,"value":946},{"type":46,"value":1774}," — request origin\u002Fsource",{"type":40,"tag":66,"props":1776,"children":1777},{},[1778,1783],{"type":40,"tag":93,"props":1779,"children":1781},{"className":1780},[],[1782],{"type":46,"value":953},{"type":46,"value":1784}," — request country",{"type":40,"tag":66,"props":1786,"children":1787},{},[1788,1793],{"type":40,"tag":93,"props":1789,"children":1791},{"className":1790},[],[1792],{"type":46,"value":960},{"type":46,"value":1794}," — why the generation ended (stop, length, etc.)",{"type":40,"tag":66,"props":1796,"children":1797},{},[1798,1803],{"type":40,"tag":93,"props":1799,"children":1801},{"className":1800},[],[1802],{"type":46,"value":967},{"type":46,"value":1804}," — custom user ID passed by the caller",{"type":40,"tag":66,"props":1806,"children":1807},{},[1808,1813],{"type":40,"tag":93,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":46,"value":974},{"type":46,"value":1814}," — bucketed context length (1K, 10K, 100K, etc.)",{"type":40,"tag":55,"props":1816,"children":1818},{"id":1817},"classifier-dimensions",[1819],{"type":46,"value":1820},"Classifier Dimensions",{"type":40,"tag":49,"props":1822,"children":1823},{},[1824,1826,1831],{"type":46,"value":1825},"Beyond the standard dimensions above, you can group by ",{"type":40,"tag":72,"props":1827,"children":1828},{},[1829],{"type":46,"value":1830},"classifier dimensions",{"type":46,"value":1832}," — dynamic labels produced by a user-created classifier (e.g., topic, sentiment, category).",{"type":40,"tag":62,"props":1834,"children":1835},{},[1836,1849,1861,1866,1871],{"type":40,"tag":66,"props":1837,"children":1838},{},[1839,1841,1847],{"type":46,"value":1840},"Use the ",{"type":40,"tag":93,"props":1842,"children":1844},{"className":1843},[],[1845],{"type":46,"value":1846},"classifier_dimensions",{"type":46,"value":1848}," request field to group by classifier-produced values",{"type":40,"tag":66,"props":1850,"children":1851},{},[1852,1853,1859],{"type":46,"value":1840},{"type":40,"tag":93,"props":1854,"children":1856},{"className":1855},[],[1857],{"type":46,"value":1858},"classifier_filters",{"type":46,"value":1860}," request field to filter on classifier values",{"type":40,"tag":66,"props":1862,"children":1863},{},[1864],{"type":46,"value":1865},"The classifier must belong to your account (validated server-side)",{"type":40,"tag":66,"props":1867,"children":1868},{},[1869],{"type":46,"value":1870},"Classifier dimensions\u002Ffilters limit the query time range to 31 days",{"type":40,"tag":66,"props":1872,"children":1873},{},[1874,1876,1882],{"type":46,"value":1875},"See the ",{"type":40,"tag":93,"props":1877,"children":1879},{"className":1878},[],[1880],{"type":46,"value":1881},"openrouter-analytics-query",{"type":46,"value":1883}," skill for the full request shape",{"type":40,"tag":916,"props":1885,"children":1887},{"id":1886},"mapping-questions-to-classifier-queries",[1888],{"type":46,"value":1889},"Mapping Questions to Classifier Queries",{"type":40,"tag":789,"props":1891,"children":1892},{},[1893,1914],{"type":40,"tag":793,"props":1894,"children":1895},{},[1896],{"type":40,"tag":797,"props":1897,"children":1898},{},[1899,1904,1909],{"type":40,"tag":801,"props":1900,"children":1901},{},[1902],{"type":46,"value":1903},"Question pattern",{"type":40,"tag":801,"props":1905,"children":1906},{},[1907],{"type":46,"value":1908},"Request fields",{"type":40,"tag":801,"props":1910,"children":1911},{},[1912],{"type":46,"value":1913},"Notes",{"type":40,"tag":812,"props":1915,"children":1916},{},[1917,1953,2003],{"type":40,"tag":797,"props":1918,"children":1919},{},[1920,1925,1942],{"type":40,"tag":819,"props":1921,"children":1922},{},[1923],{"type":46,"value":1924},"\"Spend by topic\"",{"type":40,"tag":819,"props":1926,"children":1927},{},[1928,1934,1936],{"type":40,"tag":93,"props":1929,"children":1931},{"className":1930},[],[1932],{"type":46,"value":1933},"classifier_dimensions: { classifier_id, dimension_names: [\"topic\"] }",{"type":46,"value":1935}," + ",{"type":40,"tag":93,"props":1937,"children":1939},{"className":1938},[],[1940],{"type":46,"value":1941},"metrics: [\"total_usage\"]",{"type":40,"tag":819,"props":1943,"children":1944},{},[1945,1947],{"type":46,"value":1946},"Single dimension → column aliased to ",{"type":40,"tag":93,"props":1948,"children":1950},{"className":1949},[],[1951],{"type":46,"value":1952},"topic",{"type":40,"tag":797,"props":1954,"children":1955},{},[1956,1961,1970],{"type":40,"tag":819,"props":1957,"children":1958},{},[1959],{"type":46,"value":1960},"\"Only billing-related requests\"",{"type":40,"tag":819,"props":1962,"children":1963},{},[1964],{"type":40,"tag":93,"props":1965,"children":1967},{"className":1966},[],[1968],{"type":46,"value":1969},"classifier_filters: { classifier_id, filters: [{ field: \"category\", operator: \"eq\", value: \"billing\" }] }",{"type":40,"tag":819,"props":1971,"children":1972},{},[1973,1975,1980,1981,1987,1988,1994,1995,2001],{"type":46,"value":1974},"Filters support ",{"type":40,"tag":93,"props":1976,"children":1978},{"className":1977},[],[1979],{"type":46,"value":600},{"type":46,"value":886},{"type":40,"tag":93,"props":1982,"children":1984},{"className":1983},[],[1985],{"type":46,"value":1986},"neq",{"type":46,"value":886},{"type":40,"tag":93,"props":1989,"children":1991},{"className":1990},[],[1992],{"type":46,"value":1993},"in",{"type":46,"value":886},{"type":40,"tag":93,"props":1996,"children":1998},{"className":1997},[],[1999],{"type":46,"value":2000},"not_in",{"type":46,"value":2002}," only",{"type":40,"tag":797,"props":2004,"children":2005},{},[2006,2011,2020],{"type":40,"tag":819,"props":2007,"children":2008},{},[2009],{"type":46,"value":2010},"\"Sentiment breakdown including unclassified\"",{"type":40,"tag":819,"props":2012,"children":2013},{},[2014],{"type":40,"tag":93,"props":2015,"children":2017},{"className":2016},[],[2018],{"type":46,"value":2019},"classifier_dimensions: { classifier_id, dimension_names: [\"sentiment\"], include_nulls: true }",{"type":40,"tag":819,"props":2021,"children":2022},{},[2023],{"type":46,"value":2024},"Includes rows without classification",{"type":40,"tag":55,"props":2026,"children":2028},{"id":2027},"understanding-operators",[2029],{"type":46,"value":2030},"Understanding Operators",{"type":40,"tag":49,"props":2032,"children":2033},{},[2034,2036,2042],{"type":46,"value":2035},"Filter operators for the ",{"type":40,"tag":93,"props":2037,"children":2039},{"className":2038},[],[2040],{"type":46,"value":2041},"filters",{"type":46,"value":2043}," array in query requests:",{"type":40,"tag":789,"props":2045,"children":2046},{},[2047,2067],{"type":40,"tag":793,"props":2048,"children":2049},{},[2050],{"type":40,"tag":797,"props":2051,"children":2052},{},[2053,2058,2063],{"type":40,"tag":801,"props":2054,"children":2055},{},[2056],{"type":46,"value":2057},"Operator",{"type":40,"tag":801,"props":2059,"children":2060},{},[2061],{"type":46,"value":2062},"Value Type",{"type":40,"tag":801,"props":2064,"children":2065},{},[2066],{"type":46,"value":810},{"type":40,"tag":812,"props":2068,"children":2069},{},[2070,2090,2110,2131,2152,2173,2194,2215],{"type":40,"tag":797,"props":2071,"children":2072},{},[2073,2081,2085],{"type":40,"tag":819,"props":2074,"children":2075},{},[2076],{"type":40,"tag":93,"props":2077,"children":2079},{"className":2078},[],[2080],{"type":46,"value":600},{"type":40,"tag":819,"props":2082,"children":2083},{},[2084],{"type":46,"value":634},{"type":40,"tag":819,"props":2086,"children":2087},{},[2088],{"type":46,"value":2089},"Equals",{"type":40,"tag":797,"props":2091,"children":2092},{},[2093,2101,2105],{"type":40,"tag":819,"props":2094,"children":2095},{},[2096],{"type":40,"tag":93,"props":2097,"children":2099},{"className":2098},[],[2100],{"type":46,"value":1986},{"type":40,"tag":819,"props":2102,"children":2103},{},[2104],{"type":46,"value":634},{"type":40,"tag":819,"props":2106,"children":2107},{},[2108],{"type":46,"value":2109},"Not equals",{"type":40,"tag":797,"props":2111,"children":2112},{},[2113,2122,2126],{"type":40,"tag":819,"props":2114,"children":2115},{},[2116],{"type":40,"tag":93,"props":2117,"children":2119},{"className":2118},[],[2120],{"type":46,"value":2121},"gt",{"type":40,"tag":819,"props":2123,"children":2124},{},[2125],{"type":46,"value":634},{"type":40,"tag":819,"props":2127,"children":2128},{},[2129],{"type":46,"value":2130},"Greater than",{"type":40,"tag":797,"props":2132,"children":2133},{},[2134,2143,2147],{"type":40,"tag":819,"props":2135,"children":2136},{},[2137],{"type":40,"tag":93,"props":2138,"children":2140},{"className":2139},[],[2141],{"type":46,"value":2142},"gte",{"type":40,"tag":819,"props":2144,"children":2145},{},[2146],{"type":46,"value":634},{"type":40,"tag":819,"props":2148,"children":2149},{},[2150],{"type":46,"value":2151},"Greater than or equal",{"type":40,"tag":797,"props":2153,"children":2154},{},[2155,2164,2168],{"type":40,"tag":819,"props":2156,"children":2157},{},[2158],{"type":40,"tag":93,"props":2159,"children":2161},{"className":2160},[],[2162],{"type":46,"value":2163},"lt",{"type":40,"tag":819,"props":2165,"children":2166},{},[2167],{"type":46,"value":634},{"type":40,"tag":819,"props":2169,"children":2170},{},[2171],{"type":46,"value":2172},"Less than",{"type":40,"tag":797,"props":2174,"children":2175},{},[2176,2185,2189],{"type":40,"tag":819,"props":2177,"children":2178},{},[2179],{"type":40,"tag":93,"props":2180,"children":2182},{"className":2181},[],[2183],{"type":46,"value":2184},"lte",{"type":40,"tag":819,"props":2186,"children":2187},{},[2188],{"type":46,"value":634},{"type":40,"tag":819,"props":2190,"children":2191},{},[2192],{"type":46,"value":2193},"Less than or equal",{"type":40,"tag":797,"props":2195,"children":2196},{},[2197,2205,2210],{"type":40,"tag":819,"props":2198,"children":2199},{},[2200],{"type":40,"tag":93,"props":2201,"children":2203},{"className":2202},[],[2204],{"type":46,"value":1993},{"type":40,"tag":819,"props":2206,"children":2207},{},[2208],{"type":46,"value":2209},"array",{"type":40,"tag":819,"props":2211,"children":2212},{},[2213],{"type":46,"value":2214},"In list",{"type":40,"tag":797,"props":2216,"children":2217},{},[2218,2226,2230],{"type":40,"tag":819,"props":2219,"children":2220},{},[2221],{"type":40,"tag":93,"props":2222,"children":2224},{"className":2223},[],[2225],{"type":46,"value":2000},{"type":40,"tag":819,"props":2227,"children":2228},{},[2229],{"type":46,"value":2209},{"type":40,"tag":819,"props":2231,"children":2232},{},[2233],{"type":46,"value":2234},"Not in list",{"type":40,"tag":55,"props":2236,"children":2238},{"id":2237},"understanding-granularities",[2239],{"type":46,"value":2240},"Understanding Granularities",{"type":40,"tag":49,"props":2242,"children":2243},{},[2244],{"type":46,"value":2245},"Time bucketing for time-series queries:",{"type":40,"tag":789,"props":2247,"children":2248},{},[2249,2265],{"type":40,"tag":793,"props":2250,"children":2251},{},[2252],{"type":40,"tag":797,"props":2253,"children":2254},{},[2255,2260],{"type":40,"tag":801,"props":2256,"children":2257},{},[2258],{"type":46,"value":2259},"Granularity",{"type":40,"tag":801,"props":2261,"children":2262},{},[2263],{"type":46,"value":2264},"Use when",{"type":40,"tag":812,"props":2266,"children":2267},{},[2268,2285,2302,2318,2335],{"type":40,"tag":797,"props":2269,"children":2270},{},[2271,2280],{"type":40,"tag":819,"props":2272,"children":2273},{},[2274],{"type":40,"tag":93,"props":2275,"children":2277},{"className":2276},[],[2278],{"type":46,"value":2279},"minute",{"type":40,"tag":819,"props":2281,"children":2282},{},[2283],{"type":46,"value":2284},"Last few hours, real-time monitoring",{"type":40,"tag":797,"props":2286,"children":2287},{},[2288,2297],{"type":40,"tag":819,"props":2289,"children":2290},{},[2291],{"type":40,"tag":93,"props":2292,"children":2294},{"className":2293},[],[2295],{"type":46,"value":2296},"hour",{"type":40,"tag":819,"props":2298,"children":2299},{},[2300],{"type":46,"value":2301},"Last 1–3 days",{"type":40,"tag":797,"props":2303,"children":2304},{},[2305,2313],{"type":40,"tag":819,"props":2306,"children":2307},{},[2308],{"type":40,"tag":93,"props":2309,"children":2311},{"className":2310},[],[2312],{"type":46,"value":708},{"type":40,"tag":819,"props":2314,"children":2315},{},[2316],{"type":46,"value":2317},"Last week to 3 months",{"type":40,"tag":797,"props":2319,"children":2320},{},[2321,2330],{"type":40,"tag":819,"props":2322,"children":2323},{},[2324],{"type":40,"tag":93,"props":2325,"children":2327},{"className":2326},[],[2328],{"type":46,"value":2329},"week",{"type":40,"tag":819,"props":2331,"children":2332},{},[2333],{"type":46,"value":2334},"Last 3–12 months",{"type":40,"tag":797,"props":2336,"children":2337},{},[2338,2347],{"type":40,"tag":819,"props":2339,"children":2340},{},[2341],{"type":40,"tag":93,"props":2342,"children":2344},{"className":2343},[],[2345],{"type":46,"value":2346},"month",{"type":40,"tag":819,"props":2348,"children":2349},{},[2350],{"type":46,"value":2351},"Year-scale trends",{"type":40,"tag":49,"props":2353,"children":2354},{},[2355],{"type":46,"value":2356},"When no granularity is set, the query returns aggregate totals without time bucketing.",{"type":40,"tag":55,"props":2358,"children":2360},{"id":2359},"mapping-questions-to-queries",[2361],{"type":46,"value":2362},"Mapping Questions to Queries",{"type":40,"tag":49,"props":2364,"children":2365},{},[2366],{"type":46,"value":2367},"Use this guide to translate natural-language questions into the right metric\u002Fdimension\u002Ffilter combination:",{"type":40,"tag":789,"props":2369,"children":2370},{},[2371,2395],{"type":40,"tag":793,"props":2372,"children":2373},{},[2374],{"type":40,"tag":797,"props":2375,"children":2376},{},[2377,2381,2386,2391],{"type":40,"tag":801,"props":2378,"children":2379},{},[2380],{"type":46,"value":1903},{"type":40,"tag":801,"props":2382,"children":2383},{},[2384],{"type":46,"value":2385},"Metrics",{"type":40,"tag":801,"props":2387,"children":2388},{},[2389],{"type":46,"value":2390},"Dimensions",{"type":40,"tag":801,"props":2392,"children":2393},{},[2394],{"type":46,"value":1913},{"type":40,"tag":812,"props":2396,"children":2397},{},[2398,2424,2460,2499,2538,2573,2602,2636,2673,2705,2733,2781,2823,2852,2883,2911,2939,2973,3007,3044,3078,3112],{"type":40,"tag":797,"props":2399,"children":2400},{},[2401,2406,2414,2419],{"type":40,"tag":819,"props":2402,"children":2403},{},[2404],{"type":46,"value":2405},"\"How much did I spend?\"",{"type":40,"tag":819,"props":2407,"children":2408},{},[2409],{"type":40,"tag":93,"props":2410,"children":2412},{"className":2411},[],[2413],{"type":46,"value":1121},{"type":40,"tag":819,"props":2415,"children":2416},{},[2417],{"type":46,"value":2418},"—",{"type":40,"tag":819,"props":2420,"children":2421},{},[2422],{"type":46,"value":2423},"Add granularity for trends",{"type":40,"tag":797,"props":2425,"children":2426},{},[2427,2432,2440,2448],{"type":40,"tag":819,"props":2428,"children":2429},{},[2430],{"type":46,"value":2431},"\"Which models cost the most?\"",{"type":40,"tag":819,"props":2433,"children":2434},{},[2435],{"type":40,"tag":93,"props":2436,"children":2438},{"className":2437},[],[2439],{"type":46,"value":1121},{"type":40,"tag":819,"props":2441,"children":2442},{},[2443],{"type":40,"tag":93,"props":2444,"children":2446},{"className":2445},[],[2447],{"type":46,"value":493},{"type":40,"tag":819,"props":2449,"children":2450},{},[2451,2453,2458],{"type":46,"value":2452},"Order by ",{"type":40,"tag":93,"props":2454,"children":2456},{"className":2455},[],[2457],{"type":46,"value":1121},{"type":46,"value":2459}," desc",{"type":40,"tag":797,"props":2461,"children":2462},{},[2463,2468,2476,2480],{"type":40,"tag":819,"props":2464,"children":2465},{},[2466],{"type":46,"value":2467},"\"How many requests?\"",{"type":40,"tag":819,"props":2469,"children":2470},{},[2471],{"type":40,"tag":93,"props":2472,"children":2474},{"className":2473},[],[2475],{"type":46,"value":326},{"type":40,"tag":819,"props":2477,"children":2478},{},[2479],{"type":46,"value":2418},{"type":40,"tag":819,"props":2481,"children":2482},{},[2483,2485,2490,2492,2497],{"type":46,"value":2484},"Add ",{"type":40,"tag":93,"props":2486,"children":2488},{"className":2487},[],[2489],{"type":46,"value":493},{"type":46,"value":2491}," or ",{"type":40,"tag":93,"props":2493,"children":2495},{"className":2494},[],[2496],{"type":46,"value":1551},{"type":46,"value":2498}," for breakdown",{"type":40,"tag":797,"props":2500,"children":2501},{},[2502,2507,2515,2519],{"type":40,"tag":819,"props":2503,"children":2504},{},[2505],{"type":46,"value":2506},"\"How many tokens?\"",{"type":40,"tag":819,"props":2508,"children":2509},{},[2510],{"type":40,"tag":93,"props":2511,"children":2513},{"className":2512},[],[2514],{"type":46,"value":1028},{"type":40,"tag":819,"props":2516,"children":2517},{},[2518],{"type":46,"value":2418},{"type":40,"tag":819,"props":2520,"children":2521},{},[2522,2524,2529,2531,2536],{"type":46,"value":2523},"Use ",{"type":40,"tag":93,"props":2525,"children":2527},{"className":2526},[],[2528],{"type":46,"value":1035},{"type":46,"value":2530}," \u002F ",{"type":40,"tag":93,"props":2532,"children":2534},{"className":2533},[],[2535],{"type":46,"value":1042},{"type":46,"value":2537}," for split",{"type":40,"tag":797,"props":2539,"children":2540},{},[2541,2546,2560,2568],{"type":40,"tag":819,"props":2542,"children":2543},{},[2544],{"type":46,"value":2545},"\"Which provider is fastest?\"",{"type":40,"tag":819,"props":2547,"children":2548},{},[2549,2554,2555],{"type":40,"tag":93,"props":2550,"children":2552},{"className":2551},[],[2553],{"type":46,"value":1310},{"type":46,"value":886},{"type":40,"tag":93,"props":2556,"children":2558},{"className":2557},[],[2559],{"type":46,"value":1324},{"type":40,"tag":819,"props":2561,"children":2562},{},[2563],{"type":40,"tag":93,"props":2564,"children":2566},{"className":2565},[],[2567],{"type":46,"value":939},{"type":40,"tag":819,"props":2569,"children":2570},{},[2571],{"type":46,"value":2572},"31-day limit",{"type":40,"tag":797,"props":2574,"children":2575},{},[2576,2581,2589,2597],{"type":40,"tag":819,"props":2577,"children":2578},{},[2579],{"type":46,"value":2580},"\"What's my cache hit rate?\"",{"type":40,"tag":819,"props":2582,"children":2583},{},[2584],{"type":40,"tag":93,"props":2585,"children":2587},{"className":2586},[],[2588],{"type":46,"value":1387},{"type":40,"tag":819,"props":2590,"children":2591},{},[2592],{"type":40,"tag":93,"props":2593,"children":2595},{"className":2594},[],[2596],{"type":46,"value":493},{"type":40,"tag":819,"props":2598,"children":2599},{},[2600],{"type":46,"value":2601},"Rate metric — shows per-model caching",{"type":40,"tag":797,"props":2603,"children":2604},{},[2605,2610,2624,2632],{"type":40,"tag":819,"props":2606,"children":2607},{},[2608],{"type":46,"value":2609},"\"Which API key uses the most?\"",{"type":40,"tag":819,"props":2611,"children":2612},{},[2613,2618,2619],{"type":40,"tag":93,"props":2614,"children":2616},{"className":2615},[],[2617],{"type":46,"value":326},{"type":46,"value":886},{"type":40,"tag":93,"props":2620,"children":2622},{"className":2621},[],[2623],{"type":46,"value":1121},{"type":40,"tag":819,"props":2625,"children":2626},{},[2627],{"type":40,"tag":93,"props":2628,"children":2630},{"className":2629},[],[2631],{"type":46,"value":1551},{"type":40,"tag":819,"props":2633,"children":2634},{},[2635],{"type":46,"value":2418},{"type":40,"tag":797,"props":2637,"children":2638},{},[2639,2644,2658,2662],{"type":40,"tag":819,"props":2640,"children":2641},{},[2642],{"type":46,"value":2643},"\"Usage over time\"",{"type":40,"tag":819,"props":2645,"children":2646},{},[2647,2652,2653],{"type":40,"tag":93,"props":2648,"children":2650},{"className":2649},[],[2651],{"type":46,"value":326},{"type":46,"value":2491},{"type":40,"tag":93,"props":2654,"children":2656},{"className":2655},[],[2657],{"type":46,"value":1121},{"type":40,"tag":819,"props":2659,"children":2660},{},[2661],{"type":46,"value":2418},{"type":40,"tag":819,"props":2663,"children":2664},{},[2665,2667],{"type":46,"value":2666},"Set ",{"type":40,"tag":93,"props":2668,"children":2670},{"className":2669},[],[2671],{"type":46,"value":2672},"granularity: \"day\"",{"type":40,"tag":797,"props":2674,"children":2675},{},[2676,2681,2689,2693],{"type":40,"tag":819,"props":2677,"children":2678},{},[2679],{"type":46,"value":2680},"\"Latency trends\"",{"type":40,"tag":819,"props":2682,"children":2683},{},[2684],{"type":40,"tag":93,"props":2685,"children":2687},{"className":2686},[],[2688],{"type":46,"value":1324},{"type":40,"tag":819,"props":2690,"children":2691},{},[2692],{"type":46,"value":2418},{"type":40,"tag":819,"props":2694,"children":2695},{},[2696,2697,2703],{"type":46,"value":2666},{"type":40,"tag":93,"props":2698,"children":2700},{"className":2699},[],[2701],{"type":46,"value":2702},"granularity: \"hour\"",{"type":46,"value":2704},", 31d limit",{"type":40,"tag":797,"props":2706,"children":2707},{},[2708,2713,2721,2729],{"type":40,"tag":819,"props":2709,"children":2710},{},[2711],{"type":46,"value":2712},"\"Usage by country\"",{"type":40,"tag":819,"props":2714,"children":2715},{},[2716],{"type":40,"tag":93,"props":2717,"children":2719},{"className":2718},[],[2720],{"type":46,"value":326},{"type":40,"tag":819,"props":2722,"children":2723},{},[2724],{"type":40,"tag":93,"props":2725,"children":2727},{"className":2726},[],[2728],{"type":46,"value":953},{"type":40,"tag":819,"props":2730,"children":2731},{},[2732],{"type":46,"value":2572},{"type":40,"tag":797,"props":2734,"children":2735},{},[2736,2741,2761,2769],{"type":40,"tag":819,"props":2737,"children":2738},{},[2739],{"type":46,"value":2740},"\"How can I save money?\"",{"type":40,"tag":819,"props":2742,"children":2743},{},[2744,2749,2750,2755,2756],{"type":40,"tag":93,"props":2745,"children":2747},{"className":2746},[],[2748],{"type":46,"value":1121},{"type":46,"value":886},{"type":40,"tag":93,"props":2751,"children":2753},{"className":2752},[],[2754],{"type":46,"value":1387},{"type":46,"value":886},{"type":40,"tag":93,"props":2757,"children":2759},{"className":2758},[],[2760],{"type":46,"value":1028},{"type":40,"tag":819,"props":2762,"children":2763},{},[2764],{"type":40,"tag":93,"props":2765,"children":2767},{"className":2766},[],[2768],{"type":46,"value":493},{"type":40,"tag":819,"props":2770,"children":2771},{},[2772,2774,2779],{"type":46,"value":2773},"See cost optimization in ",{"type":40,"tag":93,"props":2775,"children":2777},{"className":2776},[],[2778],{"type":46,"value":137},{"type":46,"value":2780}," skill",{"type":40,"tag":797,"props":2782,"children":2783},{},[2784,2789,2803,2811],{"type":40,"tag":819,"props":2785,"children":2786},{},[2787],{"type":46,"value":2788},"\"Show me individual requests\"",{"type":40,"tag":819,"props":2790,"children":2791},{},[2792,2797,2798],{"type":40,"tag":93,"props":2793,"children":2795},{"className":2794},[],[2796],{"type":46,"value":1121},{"type":46,"value":886},{"type":40,"tag":93,"props":2799,"children":2801},{"className":2800},[],[2802],{"type":46,"value":1028},{"type":40,"tag":819,"props":2804,"children":2805},{},[2806],{"type":40,"tag":93,"props":2807,"children":2809},{"className":2808},[],[2810],{"type":46,"value":981},{"type":40,"tag":819,"props":2812,"children":2813},{},[2814,2816,2821],{"type":46,"value":2815},"31-day limit. Use returned IDs with ",{"type":40,"tag":93,"props":2817,"children":2819},{"className":2818},[],[2820],{"type":46,"value":1752},{"type":46,"value":2822}," skill for full metadata and content",{"type":40,"tag":797,"props":2824,"children":2825},{},[2826,2831,2839,2847],{"type":40,"tag":819,"props":2827,"children":2828},{},[2829],{"type":46,"value":2830},"\"How much BYOK spend?\"",{"type":40,"tag":819,"props":2832,"children":2833},{},[2834],{"type":40,"tag":93,"props":2835,"children":2837},{"className":2836},[],[2838],{"type":46,"value":1140},{"type":40,"tag":819,"props":2840,"children":2841},{},[2842],{"type":40,"tag":93,"props":2843,"children":2845},{"className":2844},[],[2846],{"type":46,"value":493},{"type":40,"tag":819,"props":2848,"children":2849},{},[2850],{"type":46,"value":2851},"Up to 365 days",{"type":40,"tag":797,"props":2853,"children":2854},{},[2855,2860,2874,2878],{"type":40,"tag":819,"props":2856,"children":2857},{},[2858],{"type":46,"value":2859},"\"BYOK vs credits split?\"",{"type":40,"tag":819,"props":2861,"children":2862},{},[2863,2868,2869],{"type":40,"tag":93,"props":2864,"children":2866},{"className":2865},[],[2867],{"type":46,"value":1140},{"type":46,"value":886},{"type":40,"tag":93,"props":2870,"children":2872},{"className":2871},[],[2873],{"type":46,"value":1151},{"type":40,"tag":819,"props":2875,"children":2876},{},[2877],{"type":46,"value":2418},{"type":40,"tag":819,"props":2879,"children":2880},{},[2881],{"type":46,"value":2882},"Both up to 365 days",{"type":40,"tag":797,"props":2884,"children":2885},{},[2886,2891,2899,2907],{"type":40,"tag":819,"props":2887,"children":2888},{},[2889],{"type":46,"value":2890},"\"BYOK platform fees?\"",{"type":40,"tag":819,"props":2892,"children":2893},{},[2894],{"type":40,"tag":93,"props":2895,"children":2897},{"className":2896},[],[2898],{"type":46,"value":1173},{"type":40,"tag":819,"props":2900,"children":2901},{},[2902],{"type":40,"tag":93,"props":2903,"children":2905},{"className":2904},[],[2906],{"type":46,"value":493},{"type":40,"tag":819,"props":2908,"children":2909},{},[2910],{"type":46,"value":2572},{"type":40,"tag":797,"props":2912,"children":2913},{},[2914,2919,2927,2935],{"type":40,"tag":819,"props":2915,"children":2916},{},[2917],{"type":46,"value":2918},"\"Non-BYOK inference spend?\"",{"type":40,"tag":819,"props":2920,"children":2921},{},[2922],{"type":40,"tag":93,"props":2923,"children":2925},{"className":2924},[],[2926],{"type":46,"value":1162},{"type":40,"tag":819,"props":2928,"children":2929},{},[2930],{"type":40,"tag":93,"props":2931,"children":2933},{"className":2932},[],[2934],{"type":46,"value":493},{"type":40,"tag":819,"props":2936,"children":2937},{},[2938],{"type":46,"value":2572},{"type":40,"tag":797,"props":2940,"children":2941},{},[2942,2947,2961,2969],{"type":40,"tag":819,"props":2943,"children":2944},{},[2945],{"type":46,"value":2946},"\"How many guardrail triggers?\"",{"type":40,"tag":819,"props":2948,"children":2949},{},[2950,2955,2956],{"type":40,"tag":93,"props":2951,"children":2953},{"className":2952},[],[2954],{"type":46,"value":1086},{"type":46,"value":886},{"type":40,"tag":93,"props":2957,"children":2959},{"className":2958},[],[2960],{"type":46,"value":1398},{"type":40,"tag":819,"props":2962,"children":2963},{},[2964],{"type":40,"tag":93,"props":2965,"children":2967},{"className":2966},[],[2968],{"type":46,"value":493},{"type":40,"tag":819,"props":2970,"children":2971},{},[2972],{"type":46,"value":2572},{"type":40,"tag":797,"props":2974,"children":2975},{},[2976,2981,2995,3003],{"type":40,"tag":819,"props":2977,"children":2978},{},[2979],{"type":46,"value":2980},"\"How many cached responses?\"",{"type":40,"tag":819,"props":2982,"children":2983},{},[2984,2989,2990],{"type":40,"tag":93,"props":2985,"children":2987},{"className":2986},[],[2988],{"type":46,"value":1097},{"type":46,"value":886},{"type":40,"tag":93,"props":2991,"children":2993},{"className":2992},[],[2994],{"type":46,"value":1409},{"type":40,"tag":819,"props":2996,"children":2997},{},[2998],{"type":40,"tag":93,"props":2999,"children":3001},{"className":3000},[],[3002],{"type":46,"value":493},{"type":40,"tag":819,"props":3004,"children":3005},{},[3006],{"type":46,"value":2572},{"type":40,"tag":797,"props":3008,"children":3009},{},[3010,3015,3035,3039],{"type":40,"tag":819,"props":3011,"children":3012},{},[3013],{"type":46,"value":3014},"\"Where does my spend go?\"",{"type":40,"tag":819,"props":3016,"children":3017},{},[3018,3023,3024,3029,3030],{"type":40,"tag":93,"props":3019,"children":3021},{"className":3020},[],[3022],{"type":46,"value":1198},{"type":46,"value":886},{"type":40,"tag":93,"props":3025,"children":3027},{"className":3026},[],[3028],{"type":46,"value":1209},{"type":46,"value":886},{"type":40,"tag":93,"props":3031,"children":3033},{"className":3032},[],[3034],{"type":46,"value":1220},{"type":40,"tag":819,"props":3036,"children":3037},{},[3038],{"type":46,"value":2418},{"type":40,"tag":819,"props":3040,"children":3041},{},[3042],{"type":46,"value":3043},"Full cost breakdown (up to 365 days)",{"type":40,"tag":797,"props":3045,"children":3046},{},[3047,3052,3066,3074],{"type":40,"tag":819,"props":3048,"children":3049},{},[3050],{"type":46,"value":3051},"\"Web search costs?\"",{"type":40,"tag":819,"props":3053,"children":3054},{},[3055,3060,3061],{"type":40,"tag":93,"props":3056,"children":3058},{"className":3057},[],[3059],{"type":46,"value":1231},{"type":46,"value":886},{"type":40,"tag":93,"props":3062,"children":3064},{"className":3063},[],[3065],{"type":46,"value":1242},{"type":40,"tag":819,"props":3067,"children":3068},{},[3069],{"type":40,"tag":93,"props":3070,"children":3072},{"className":3071},[],[3073],{"type":46,"value":493},{"type":40,"tag":819,"props":3075,"children":3076},{},[3077],{"type":46,"value":2851},{"type":40,"tag":797,"props":3079,"children":3080},{},[3081,3086,3100,3108],{"type":40,"tag":819,"props":3082,"children":3083},{},[3084],{"type":46,"value":3085},"\"File processing costs?\"",{"type":40,"tag":819,"props":3087,"children":3088},{},[3089,3094,3095],{"type":40,"tag":93,"props":3090,"children":3092},{"className":3091},[],[3093],{"type":46,"value":1253},{"type":46,"value":886},{"type":40,"tag":93,"props":3096,"children":3098},{"className":3097},[],[3099],{"type":46,"value":1264},{"type":40,"tag":819,"props":3101,"children":3102},{},[3103],{"type":40,"tag":93,"props":3104,"children":3106},{"className":3105},[],[3107],{"type":46,"value":493},{"type":40,"tag":819,"props":3109,"children":3110},{},[3111],{"type":46,"value":2572},{"type":40,"tag":797,"props":3113,"children":3114},{},[3115,3120,3134,3142],{"type":40,"tag":819,"props":3116,"children":3117},{},[3118],{"type":46,"value":3119},"\"Web fetch costs?\"",{"type":40,"tag":819,"props":3121,"children":3122},{},[3123,3128,3129],{"type":40,"tag":93,"props":3124,"children":3126},{"className":3125},[],[3127],{"type":46,"value":1275},{"type":46,"value":886},{"type":40,"tag":93,"props":3130,"children":3132},{"className":3131},[],[3133],{"type":46,"value":1286},{"type":40,"tag":819,"props":3135,"children":3136},{},[3137],{"type":40,"tag":93,"props":3138,"children":3140},{"className":3139},[],[3141],{"type":46,"value":493},{"type":40,"tag":819,"props":3143,"children":3144},{},[3145],{"type":46,"value":2572},{"type":40,"tag":55,"props":3147,"children":3149},{"id":3148},"filter-value-reference",[3150],{"type":46,"value":3151},"Filter Value Reference",{"type":40,"tag":49,"props":3153,"children":3154},{},[3155,3157,3162],{"type":46,"value":3156},"Several dimensions are ",{"type":40,"tag":72,"props":3158,"children":3159},{},[3160],{"type":46,"value":3161},"label-resolved",{"type":46,"value":3163}," in query results — the response shows human-readable names, but filters must use the underlying ID. Here's where to find each:",{"type":40,"tag":789,"props":3165,"children":3166},{},[3167,3187],{"type":40,"tag":793,"props":3168,"children":3169},{},[3170],{"type":40,"tag":797,"props":3171,"children":3172},{},[3173,3177,3182],{"type":40,"tag":801,"props":3174,"children":3175},{},[3176],{"type":46,"value":1531},{"type":40,"tag":801,"props":3178,"children":3179},{},[3180],{"type":46,"value":3181},"Filter value",{"type":40,"tag":801,"props":3183,"children":3184},{},[3185],{"type":46,"value":3186},"Where to find it",{"type":40,"tag":812,"props":3188,"children":3189},{},[3190,3241,3270,3299,3328],{"type":40,"tag":797,"props":3191,"children":3192},{},[3193,3201,3213],{"type":40,"tag":819,"props":3194,"children":3195},{},[3196],{"type":40,"tag":93,"props":3197,"children":3199},{"className":3198},[],[3200],{"type":46,"value":1551},{"type":40,"tag":819,"props":3202,"children":3203},{},[3204,3206,3211],{"type":46,"value":3205},"Numeric ID ",{"type":40,"tag":72,"props":3207,"children":3208},{},[3209],{"type":46,"value":3210},"or",{"type":46,"value":3212}," 64-char SHA-256 hash",{"type":40,"tag":819,"props":3214,"children":3215},{},[3216,3218,3223,3225,3231,3233,3239],{"type":46,"value":3217},"Numeric ID: generation metadata (",{"type":40,"tag":93,"props":3219,"children":3221},{"className":3220},[],[3222],{"type":46,"value":1551},{"type":46,"value":3224}," field). Hash: ",{"type":40,"tag":93,"props":3226,"children":3228},{"className":3227},[],[3229],{"type":46,"value":3230},"GET \u002Fapi\u002Fv1\u002Fkeys",{"type":46,"value":3232}," (",{"type":40,"tag":93,"props":3234,"children":3236},{"className":3235},[],[3237],{"type":46,"value":3238},"key_hash",{"type":46,"value":3240}," field). Hashes are auto-resolved server-side. If a hash can't be resolved, a sentinel value returns zero rows (no error).",{"type":40,"tag":797,"props":3242,"children":3243},{},[3244,3252,3265],{"type":40,"tag":819,"props":3245,"children":3246},{},[3247],{"type":40,"tag":93,"props":3248,"children":3250},{"className":3249},[],[3251],{"type":46,"value":1585},{"type":40,"tag":819,"props":3253,"children":3254},{},[3255,3257,3263],{"type":46,"value":3256},"Clerk user ID (e.g. ",{"type":40,"tag":93,"props":3258,"children":3260},{"className":3259},[],[3261],{"type":46,"value":3262},"user_abc123",{"type":46,"value":3264},")",{"type":40,"tag":819,"props":3266,"children":3267},{},[3268],{"type":46,"value":3269},"User settings or org member list — not the display name\u002Femail shown in results.",{"type":40,"tag":797,"props":3271,"children":3272},{},[3273,3281,3286],{"type":40,"tag":819,"props":3274,"children":3275},{},[3276],{"type":40,"tag":93,"props":3277,"children":3279},{"className":3278},[],[3280],{"type":46,"value":1602},{"type":40,"tag":819,"props":3282,"children":3283},{},[3284],{"type":46,"value":3285},"Workspace UUID",{"type":40,"tag":819,"props":3287,"children":3288},{},[3289,3291,3297],{"type":46,"value":3290},"Workspace settings page or ",{"type":40,"tag":93,"props":3292,"children":3294},{"className":3293},[],[3295],{"type":46,"value":3296},"GET \u002Fapi\u002Fv1\u002Fworkspaces",{"type":46,"value":3298}," — not the workspace name shown in results.",{"type":40,"tag":797,"props":3300,"children":3301},{},[3302,3310,3315],{"type":40,"tag":819,"props":3303,"children":3304},{},[3305],{"type":40,"tag":93,"props":3306,"children":3308},{"className":3307},[],[3309],{"type":46,"value":1568},{"type":40,"tag":819,"props":3311,"children":3312},{},[3313],{"type":46,"value":3314},"Numeric app ID",{"type":40,"tag":819,"props":3316,"children":3317},{},[3318,3320,3326],{"type":46,"value":3319},"Generation metadata (",{"type":40,"tag":93,"props":3321,"children":3323},{"className":3322},[],[3324],{"type":46,"value":3325},"app_id",{"type":46,"value":3327}," field) or app settings — not the app title shown in results.",{"type":40,"tag":797,"props":3329,"children":3330},{},[3331,3339,3351],{"type":40,"tag":819,"props":3332,"children":3333},{},[3334],{"type":40,"tag":93,"props":3335,"children":3337},{"className":3336},[],[3338],{"type":46,"value":493},{"type":40,"tag":819,"props":3340,"children":3341},{},[3342,3344,3350],{"type":46,"value":3343},"Permaslug (e.g. ",{"type":40,"tag":93,"props":3345,"children":3347},{"className":3346},[],[3348],{"type":46,"value":3349},"openai\u002Fgpt-4o",{"type":46,"value":3264},{"type":40,"tag":819,"props":3352,"children":3353},{},[3354,3356,3362],{"type":46,"value":3355},"Model page URL or ",{"type":40,"tag":93,"props":3357,"children":3359},{"className":3358},[],[3360],{"type":46,"value":3361},"GET \u002Fapi\u002Fv1\u002Fmodels",{"type":46,"value":3363}," — not the display name.",{"type":40,"tag":49,"props":3365,"children":3366},{},[3367,3369,3374,3375,3380,3381,3386,3387,3392,3393,3398],{"type":46,"value":3368},"Other dimensions (",{"type":40,"tag":93,"props":3370,"children":3372},{"className":3371},[],[3373],{"type":46,"value":939},{"type":46,"value":886},{"type":40,"tag":93,"props":3376,"children":3378},{"className":3377},[],[3379],{"type":46,"value":946},{"type":46,"value":886},{"type":40,"tag":93,"props":3382,"children":3384},{"className":3383},[],[3385],{"type":46,"value":953},{"type":46,"value":886},{"type":40,"tag":93,"props":3388,"children":3390},{"className":3389},[],[3391],{"type":46,"value":960},{"type":46,"value":886},{"type":40,"tag":93,"props":3394,"children":3396},{"className":3395},[],[3397],{"type":46,"value":967},{"type":46,"value":3399},", etc.) are not enriched — filter values match what's returned in results.",{"type":40,"tag":55,"props":3401,"children":3403},{"id":3402},"constraints",[3404],{"type":46,"value":3405},"Constraints",{"type":40,"tag":62,"props":3407,"children":3408},{},[3409,3414,3419,3424,3429,3434,3445,3450,3455,3460,3465],{"type":40,"tag":66,"props":3410,"children":3411},{},[3412],{"type":46,"value":3413},"Maximum 2 dimensions per query",{"type":40,"tag":66,"props":3415,"children":3416},{},[3417],{"type":46,"value":3418},"Maximum 20 filters per query",{"type":40,"tag":66,"props":3420,"children":3421},{},[3422],{"type":46,"value":3423},"Maximum 10 classifier dimensions per query",{"type":40,"tag":66,"props":3425,"children":3426},{},[3427],{"type":46,"value":3428},"Maximum 10 classifier filters per query",{"type":40,"tag":66,"props":3430,"children":3431},{},[3432],{"type":46,"value":3433},"Maximum 10,000 rows returned per query (default 1,000)",{"type":40,"tag":66,"props":3435,"children":3436},{},[3437,3443],{"type":40,"tag":93,"props":3438,"children":3440},{"className":3439},[],[3441],{"type":46,"value":3442},"group_limit",{"type":46,"value":3444}," (1–10,000): controls max rows per dimension combination. Auto-computed on time-series queries with dimensions to guarantee full time-window coverage. Set explicitly to cap per-group rows (e.g., top N per model per day).",{"type":40,"tag":66,"props":3446,"children":3447},{},[3448],{"type":46,"value":3449},"Most volume\u002Fcost metrics: up to 365 days with daily granularity",{"type":40,"tag":66,"props":3451,"children":3452},{},[3453],{"type":46,"value":3454},"Latency\u002Fthroughput metrics and per-generation dimensions: up to 31 days",{"type":40,"tag":66,"props":3456,"children":3457},{},[3458],{"type":46,"value":3459},"Classifier dimensions\u002Ffilters: always limited to 31 days",{"type":40,"tag":66,"props":3461,"children":3462},{},[3463],{"type":46,"value":3464},"Minute granularity: only available when the time window is ≤ 3 hours",{"type":40,"tag":66,"props":3466,"children":3467},{},[3468],{"type":46,"value":3469},"Rate-limited to 64 requests per minute",{"type":40,"tag":3471,"props":3472,"children":3473},"style",{},[3474],{"type":46,"value":3475},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3477,"total":3555},[3478,3495,3505,3519,3533,3541,3549],{"slug":3479,"name":3479,"fn":3480,"description":3481,"org":3482,"tags":3483,"stars":23,"repoUrl":24,"updatedAt":3494},"create-agent-tui","scaffold terminal agents with OpenRouter","Scaffolds a complete agent TUI in TypeScript using @openrouter\u002Fagent — like create-react-app for terminal agents. Generates a customizable terminal interface with three input styles, four tool display modes, ASCII banners, streaming output, session persistence, and configurable tools. Use when building an agent, creating a TUI, scaffolding an agent project, or building a coding assistant.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3484,3487,3490,3491],{"name":3485,"slug":3486,"type":16},"Agents","agents",{"name":3488,"slug":3489,"type":16},"CLI","cli",{"name":9,"slug":8,"type":16},{"name":3492,"slug":3493,"type":16},"TypeScript","typescript","2026-07-14T05:38:18.849741",{"slug":3496,"name":3496,"fn":3497,"description":3498,"org":3499,"tags":3500,"stars":23,"repoUrl":24,"updatedAt":3504},"create-headless-agent","scaffold headless agents with OpenRouter","Scaffolds a headless agent in TypeScript using @openrouter\u002Fagent and Bun — for CLI tools, API servers, queue workers, and pipelines. No terminal UI. Use when building a headless agent, programmatic agent, CLI tool that uses AI, batch agent, pipeline agent, API agent, agent without a UI, or agent service.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3501,3502,3503],{"name":3485,"slug":3486,"type":16},{"name":3488,"slug":3489,"type":16},{"name":3492,"slug":3493,"type":16},"2026-07-14T05:38:30.178029",{"slug":3506,"name":3506,"fn":3507,"description":3508,"org":3509,"tags":3510,"stars":23,"repoUrl":24,"updatedAt":3518},"open-responses","implement Open Responses-compliant APIs","This skill should be used when implementing, consuming, or debugging an Open Responses-compliant API — the open standard for multi-provider LLM interoperability. Covers protocol, items, state machines, streaming events, tools, the agentic loop pattern, and extensions. Triggers on: Open Responses, open-responses, \u002Fv1\u002Fresponses endpoint, multi-provider LLM API, Open Responses compliance.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3511,3514,3517],{"name":3512,"slug":3513,"type":16},"API Development","api-development",{"name":3515,"slug":3516,"type":16},"Interoperability","interoperability",{"name":14,"slug":15,"type":16},"2026-07-14T05:38:13.153467",{"slug":3520,"name":3520,"fn":3521,"description":3522,"org":3523,"tags":3524,"stars":23,"repoUrl":24,"updatedAt":3532},"openrouter-agent-migration","migrate OpenRouter SDK to agent patterns","Migration guide from @openrouter\u002Fsdk to @openrouter\u002Fagent for callModel, tool(), stop conditions, and agent features. This skill should be used when code imports callModel, tool(), or stop conditions from @openrouter\u002Fsdk and needs to migrate to @openrouter\u002Fagent.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3525,3528,3531],{"name":3526,"slug":3527,"type":16},"Migration","migration",{"name":3529,"slug":3530,"type":16},"SDK","sdk",{"name":3492,"slug":3493,"type":16},"2026-07-14T05:38:28.914981",{"slug":137,"name":137,"fn":3534,"description":3535,"org":3536,"tags":3537,"stars":23,"repoUrl":24,"updatedAt":3540},"analyze OpenRouter usage and spend","Answer natural-language questions about a user's OpenRouter usage data — spend, request volume, model breakdown, latency, token usage, and cost optimization. Use when the user asks about their API usage, billing, costs, top models, traffic patterns, or wants to optimize their OpenRouter spend.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3538,3539],{"name":21,"slug":22,"type":16},{"name":9,"slug":8,"type":16},"2026-07-30T05:30:15.098344",{"slug":1881,"name":1881,"fn":3542,"description":3543,"org":3544,"tags":3545,"stars":23,"repoUrl":24,"updatedAt":3548},"execute analytics queries against OpenRouter","Construct and execute analytics queries against the OpenRouter API — full parameter reference for metrics, dimensions, filters, time ranges, ordering, and pagination. Use when building or debugging an analytics query, understanding the request\u002Fresponse shape, or handling query errors.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3546,3547],{"name":21,"slug":22,"type":16},{"name":3512,"slug":3513,"type":16},"2026-07-14T05:38:26.402047",{"slug":4,"name":4,"fn":5,"description":6,"org":3550,"tags":3551,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3552,3553,3554],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},17,{"items":3557,"total":3555},[3558,3565,3571,3577,3583,3588,3593,3599,3611,3619,3630,3639],{"slug":3479,"name":3479,"fn":3480,"description":3481,"org":3559,"tags":3560,"stars":23,"repoUrl":24,"updatedAt":3494},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3561,3562,3563,3564],{"name":3485,"slug":3486,"type":16},{"name":3488,"slug":3489,"type":16},{"name":9,"slug":8,"type":16},{"name":3492,"slug":3493,"type":16},{"slug":3496,"name":3496,"fn":3497,"description":3498,"org":3566,"tags":3567,"stars":23,"repoUrl":24,"updatedAt":3504},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3568,3569,3570],{"name":3485,"slug":3486,"type":16},{"name":3488,"slug":3489,"type":16},{"name":3492,"slug":3493,"type":16},{"slug":3506,"name":3506,"fn":3507,"description":3508,"org":3572,"tags":3573,"stars":23,"repoUrl":24,"updatedAt":3518},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3574,3575,3576],{"name":3512,"slug":3513,"type":16},{"name":3515,"slug":3516,"type":16},{"name":14,"slug":15,"type":16},{"slug":3520,"name":3520,"fn":3521,"description":3522,"org":3578,"tags":3579,"stars":23,"repoUrl":24,"updatedAt":3532},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3580,3581,3582],{"name":3526,"slug":3527,"type":16},{"name":3529,"slug":3530,"type":16},{"name":3492,"slug":3493,"type":16},{"slug":137,"name":137,"fn":3534,"description":3535,"org":3584,"tags":3585,"stars":23,"repoUrl":24,"updatedAt":3540},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3586,3587],{"name":21,"slug":22,"type":16},{"name":9,"slug":8,"type":16},{"slug":1881,"name":1881,"fn":3542,"description":3543,"org":3589,"tags":3590,"stars":23,"repoUrl":24,"updatedAt":3548},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3591,3592],{"name":21,"slug":22,"type":16},{"name":3512,"slug":3513,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":3594,"tags":3595,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3596,3597,3598],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":3600,"name":3600,"fn":3601,"description":3602,"org":3603,"tags":3604,"stars":23,"repoUrl":24,"updatedAt":3610},"openrouter-benchmarks","query OpenRouter model benchmarks","Query OpenRouter's Benchmarks API for model benchmark rankings and scores. Use when the user asks for benchmark-backed model selection, model rankings by coding\u002Fintelligence\u002Fagentic ability, Artificial Analysis or Design Arena ELO\u002Fwin-rate results, benchmark citations, or wants to call GET \u002Fapi\u002Fv1\u002Fbenchmarks. Also use alongside openrouter-models when the user asks what model should power an app, product, workflow, or use case and benchmark evidence could inform or rule out part of the recommendation, including creative writing, editing, coding, design, agentic, or intelligence-heavy apps. Do not use for OpenRouter usage analytics, billing\u002Fspend analysis, generation metadata, provider uptime\u002Flatency, generic model pricing\u002Fcapability lookup without any selection or benchmark-relevance decision, or creating an evaluation suite for a local app.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3605,3606,3609],{"name":21,"slug":22,"type":16},{"name":3607,"slug":3608,"type":16},"Benchmarking","benchmarking",{"name":14,"slug":15,"type":16},"2026-07-14T05:38:27.658475",{"slug":1752,"name":1752,"fn":3612,"description":3613,"org":3614,"tags":3615,"stars":23,"repoUrl":24,"updatedAt":3618},"retrieve metadata for OpenRouter generations","Retrieve detailed metadata and stored content for individual OpenRouter generations. Use when the user wants to inspect a specific request — its cost, latency, token usage, provider routing, or the actual prompt\u002Fcompletion text — or is debugging a failed or unexpected generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3616,3617],{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-14T05:38:25.132801",{"slug":3620,"name":3620,"fn":3621,"description":3622,"org":3623,"tags":3624,"stars":23,"repoUrl":24,"updatedAt":3629},"openrouter-images","generate images with OpenRouter","Generate images from text prompts and edit existing images using OpenRouter's dedicated Image API. Use when the user asks to create, generate, or make an image, picture, or illustration from a description, or wants to edit, modify, transform, or alter an existing image with a text prompt.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3625,3628],{"name":3626,"slug":3627,"type":16},"Image Generation","image-generation",{"name":9,"slug":8,"type":16},"2026-07-14T05:38:21.393411",{"slug":3631,"name":3631,"fn":3632,"description":3633,"org":3634,"tags":3635,"stars":23,"repoUrl":24,"updatedAt":3638},"openrouter-models","query OpenRouter model metadata and pricing","Query OpenRouter for available AI models, pricing, capabilities, throughput, and provider performance. Use when the user asks about available OpenRouter models, model pricing, model context lengths, model capabilities, provider latency or uptime, throughput limits, supported parameters, wants to search\u002Ffilter\u002Fcompare models, or find the fastest provider for a model.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3636,3637],{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-14T05:38:22.650307",{"slug":3640,"name":3640,"fn":3641,"description":3642,"org":3643,"tags":3644,"stars":23,"repoUrl":24,"updatedAt":3652},"openrouter-oauth","implement OpenRouter OAuth authentication","Implement \"Sign In with OpenRouter\" using OAuth PKCE — framework-agnostic, no SDK or client registration required. Use when the user wants to add OpenRouter login, authentication, sign-in buttons, OAuth, or AI model inference API keys for browser-based apps. No client registration, no backend, no secrets required.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3645,3648,3651],{"name":3646,"slug":3647,"type":16},"Auth","auth",{"name":3649,"slug":3650,"type":16},"OAuth","oauth",{"name":9,"slug":8,"type":16},"2026-07-14T05:38:20.116308"]