{"generatedAt":"2026-05-10T00:00:00.000Z","providers":[{"slug":"codex","name":"Codex / OpenAI subscription","status":"live-proven","flow":"oauth2","docsUrl":"https://developers.openai.com/codex/auth","notes":"Codex is the live-proven provider. The 2026-05-09 engineered installed-runtime artifact proves managed resume quota handoff from codex:max-2 to codex:max-3; same-thread provider continuity and mid-turn streaming recovery are not claimed.","admission":"`admitted_command`; direct HTTP `unadmitted`","probeShape":"`codex exec --json` under selected `CODEX_HOME`","citation":"oauth-mux/docs/evidence/codex-engineered-quota-handoff-20260509/"},{"slug":"claude","name":"Claude Code subscription","status":"schema-modeled","flow":"oauth2","docsUrl":"https://docs.anthropic.com/en/docs/claude-code/getting-started","notes":"Built-in `claude auth status --json` probe; tier/rate/quota await live route probes.","admission":"`admitted_command`; built-in `auth-status` probe","probeShape":"`claude auth status --json` under selected `CLAUDE_CONFIG_DIR`; no prompt/model call","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"anthropic-api-key","name":"Anthropic API key","status":"schema-modeled","flow":"oauth2","docsUrl":"https://docs.anthropic.com/en/api/getting-started","notes":"API key, not subscription equivalent — `GET /v1/models` identity probe only.","admission":"`admitted_http`; not subscription equivalent","probeShape":"`GET https://api.anthropic.com/v1/models` with `x-api-key` and `anthropic-version`; avoid message probes that spend tokens","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"mcp-http","name":"MCP HTTP server","status":"schema-modeled","flow":"oauth2","docsUrl":"https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization","notes":"Resource-bound bearer tokens; per-server RFC 9728 metadata discovery.","admission":"`mcp_profile`; built-in `resource-metadata` and `resource` probe templates","probeShape":"`GET {{OMUX_MCP_RESOURCE_METADATA_URL}}` without auth for RFC 9728 metadata; `GET {{OMUX_MCP_RESOURCE_PROBE_URL}}` with resource-bound bearer token for server probe","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"mcp-stdio","name":"MCP stdio server","status":"schema-modeled","flow":"oauth2","docsUrl":"https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization","notes":"Env/config injection; OAuth HTTP authorization profile does not apply.","admission":"`admitted_command` / injection","probeShape":"Environment or config injection; MCP HTTP OAuth flow does not apply","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"github","name":"GitHub","status":"schema-modeled","flow":"oauth2","docsUrl":"https://docs.github.com/v3/auth","notes":"Built-in `identity` probe via `GET /user` with bearer token.","admission":"`admitted_http`; built-in `identity` probe","probeShape":"`GET https://api.github.com/user` with bearer token","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"linear","name":"Linear","status":"schema-modeled","flow":"oauth2","docsUrl":"https://linear.app/developers/oauth-2-0-authentication","notes":"GraphQL `viewer` identity probe; semantic success requires checking `errors`.","admission":"`admitted_http`; built-in `identity` and `identity-api-key` probes","probeShape":"`POST https://api.linear.app/graphql` with `query { viewer { id name email } }`; OAuth uses bearer auth, personal API keys use raw `Authorization`","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"figma-rest","name":"Figma REST","status":"schema-modeled","flow":"oauth2","docsUrl":"https://developers.figma.com/docs/rest-api/authentication/","notes":"OAuth `identity`, PAT `identity-pat`, and plan-token `file-metadata-plan` probes.","admission":"`admitted_http`; built-in OAuth `identity`, PAT `identity-pat`, and plan-token `file-metadata-plan` probes","probeShape":"`GET https://api.figma.com/v1/me` with OAuth bearer token and `current_user:read`; PATs use `X-Figma-Token`; plan access tokens use `GET /v1/files/{{OMUX_FIGMA_PLAN_FILE_KEY}}/meta` with `file_metadata:read`","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"figma-remote-mcp","name":"Figma Remote MCP","status":"schema-modeled","flow":"oauth2","docsUrl":"https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization","notes":"Treat as MCP HTTP resource, not as Figma REST.","admission":"`mcp_profile`","probeShape":"Treat as MCP HTTP resource, not as Figma REST","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"vercel","name":"Vercel","status":"schema-modeled","flow":"oauth2","docsUrl":"https://vercel.com/docs/sign-in-with-vercel/tokens","notes":"Built-in `identity` probe via `GET /v2/user`.","admission":"`admitted_http`; built-in `identity` probe","probeShape":"`GET https://api.vercel.com/v2/user`; token metadata endpoint and semantic `softBlock` body checks are later optional refinements","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"},{"slug":"flakehub","name":"FlakeHub / Determinate","status":"schema-modeled","flow":"oauth2","docsUrl":"https://docs.determinate.systems/flakehub/concepts/authentication/","notes":"`determinate-nixd status` command-first probe; direct HTTP unadmitted.","admission":"`admitted_command`; built-in `status` probe; direct HTTP `unadmitted`","probeShape":"`determinate-nixd status`; `fh status` remains an equivalent future CLI path when installed","citation":"oauth-mux/docs/spec/provider-probe-admission-matrix-2026-04-26.md:26-39"}]}