Repository navigation
Conversation
Adds OpenRouter as an API_KEY provider (Bearer auth, base URL https://openrouter.ai/api). Connection verification calls GET /v1/key, which requires a valid key (the public /v1/models endpoint would not verify anything). Includes docs page, connect guide, docs.json entry, generated snippets and LLM indexes, and the official OpenRouter glyph logo. Assisted-by: Claude Code/claude-opus-5 Machine: MacBook-Anton Account: tonydzi Operator: anton Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Wrote up why this PR verifies keys through Short version: OpenRouter's If it is useful, I am happy to run the same three-curl check (fake key, no key, real key) against the other providers in the catalog that verify through a — Anton Dziatkovskii · github.com/tonydzi |
|
Live verification done today (2026-09-24) with a real OpenRouter key:
Credential contract checked end to end against the live API. If the full local — |
|
This is being handled in another pr; #7710 |
Describe the problem and your solution
OpenRouter is a unified, OpenAI-compatible API in front of hundreds of LLMs from many providers.
Provider config
auth_mode: API_KEY, sent asauthorization: Bearer ${apiKey}base_url: https://openrouter.ai/apiGET /v1/key(docs). This endpoint requires a valid key;/v1/modelsis public and would accept any key, so it was not used.^sk-or-v1-[a-zA-Z0-9]+$,doc_sectionpoints to the connect guideFiles:
providers.yaml,docs/api-integrations/openrouter.mdx,docs/api-integrations/openrouter/connect.mdx,docs/docs.json, generated snippets (npm run docs:generate), regeneratedllms.txt/llms-full.txt/api-catalog.txt, and the official OpenRouter glyph from https://openrouter.ai/brand as the logo.Testing
npx tsx scripts/validation/providers/validate.ts: ✅ All providers are valid (also confirmed it fails withopenrouter SVG file not foundwhen the logo is removed)prettier --check packages/providers/providers.yaml: passeshttps://openrouter.ai/api/v1/key: real key →200, bogussk-or-v1-…key →401, no key →401docker compose upend-to-end connection andmintlify broken-links(all internal links in the new pages point to existing docs files). No connect-form screenshot is included.I use OpenRouter daily. Built with Claude Code as implementation collaborator; reviewed and verified by me.
— Anton Dziatkovskii · github.com/tonydzi
🤖 Generated with Claude Code