name: omni-providers
description: "Manage provider connections, API keys, OAuth flows, and connection tests via the REST API. List, add, update, remove, and test AI provider integrations across OmniRoute's 389-provider catalog."
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
Overview
Manage provider connections, API keys, OAuth flows, and connection tests via the REST API. List, add, update, remove, and test AI provider integrations across OmniRoute's 389-provider catalog.
Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.
Endpoints
- [`GET /api/providers`](references/endpoints.md#get-apiproviders)
- [`POST /api/providers`](references/endpoints.md#post-apiproviders)
- [`GET /api/providers/{id}`](references/endpoints.md#get-apiprovidersid)
- [`PATCH /api/providers/{id}`](references/endpoints.md#patch-apiprovidersid)
- [`DELETE /api/providers/{id}`](references/endpoints.md#delete-apiprovidersid)
- [`POST /api/providers/{id}/test`](references/endpoints.md#post-apiprovidersidtest)
- [`GET /api/providers/{id}/test-message`](references/endpoints.md#get-apiprovidersidtest-message)
- [`POST /api/providers/{id}/test-message`](references/endpoints.md#post-apiprovidersidtest-message)
- [`PUT /api/providers/{id}/test-message`](references/endpoints.md#put-apiprovidersidtest-message)
- [`GET /api/providers/{id}/models`](references/endpoints.md#get-apiprovidersidmodels)
- [`GET /api/providers/cursor/agent-availability`](references/endpoints.md#get-apiproviderscursoragent-availability)
- [`POST /api/providers/test-batch`](references/endpoints.md#post-apiproviderstest-batch)
- [`POST /api/providers/validate`](references/endpoints.md#post-apiprovidersvalidate)
- [`GET /api/providers/client`](references/endpoints.md#get-apiprovidersclient)
- [`POST /api/providers/agy-auth/import`](references/endpoints.md#post-apiprovidersagy-authimport)
- [`POST /api/providers/agy-auth/import-bulk`](references/endpoints.md#post-apiprovidersagy-authimport-bulk)
- [`POST /api/providers/agy-auth/zip-extract`](references/endpoints.md#post-apiprovidersagy-authzip-extract)
- [`POST /api/providers/agy-auth/apply-local`](references/endpoints.md#post-apiprovidersagy-authapply-local)
- [`GET /api/provider-nodes`](references/endpoints.md#get-apiprovider-nodes)
- [`POST /api/provider-nodes`](references/endpoints.md#post-apiprovider-nodes)
- [`PATCH /api/provider-nodes/{id}`](references/endpoints.md#patch-apiprovider-nodesid)
- [`DELETE /api/provider-nodes/{id}`](references/endpoints.md#delete-apiprovider-nodesid)
- [`POST /api/provider-nodes/validate`](references/endpoints.md#post-apiprovider-nodesvalidate)
- [`GET /api/provider-models`](references/endpoints.md#get-apiprovider-models)
- [`POST /api/provider-models`](references/endpoints.md#post-apiprovider-models)
- [`PUT /api/provider-models`](references/endpoints.md#put-apiprovider-models)
- [`POST /api/provider-models/validate-and-add`](references/endpoints.md#post-apiprovider-modelsvalidate-and-add)
- [`GET /api/providers/{id}/cc-alias`](references/endpoints.md#get-apiprovidersidcc-alias)
- [`PUT /api/providers/{id}/cc-alias`](references/endpoints.md#put-apiprovidersidcc-alias)
- [`GET /api/providers/{id}/chatgpt-web-codex-doctor`](references/endpoints.md#get-apiprovidersidchatgpt-web-codex-doctor)
- [`POST /api/providers/{id}/claude-auth/apply-local`](references/endpoints.md#post-apiprovidersidclaude-authapply-local)
- [`POST /api/providers/{id}/claude-auth/export`](references/endpoints.md#post-apiprovidersidclaude-authexport)
- [`POST /api/providers/{id}/codex-auth/apply-local`](references/endpoints.md#post-apiprovidersidcodex-authapply-local)
- [`POST /api/providers/{id}/codex-auth/export`](references/endpoints.md#post-apiprovidersidcodex-authexport)
- [`GET /api/providers/{id}/interception-rules`](references/endpoints.md#get-apiprovidersidinterception-rules)
- [`PUT /api/providers/{id}/interception-rules`](references/endpoints.md#put-apiprovidersidinterception-rules)
- [`DELETE /api/providers/{id}/interception-rules`](references/endpoints.md#delete-apiprovidersidinterception-rules)
- [`POST /api/providers/{id}/login`](references/endpoints.md#post-apiprovidersidlogin)
- [`GET /api/providers/{id}/param-filters`](references/endpoints.md#get-apiprovidersidparam-filters)
- [`PUT /api/providers/{id}/param-filters`](references/endpoints.md#put-apiprovidersidparam-filters)
- [`DELETE /api/providers/{id}/param-filters`](references/endpoints.md#delete-apiprovidersidparam-filters)
- [`POST /api/providers/{id}/refresh`](references/endpoints.md#post-apiprovidersidrefresh)
- [`POST /api/providers/{id}/refresh-cursor`](references/endpoints.md#post-apiprovidersidrefresh-cursor)
- [`POST /api/providers/{id}/refresh-token`](references/endpoints.md#post-apiprovidersidrefresh-token)
- [`POST /api/providers/{id}/sync-models`](references/endpoints.md#post-apiprovidersidsync-models)
- [`POST /api/providers/bulk`](references/endpoints.md#post-apiprovidersbulk)
- [`POST /api/providers/bulk-web-session`](references/endpoints.md#post-apiprovidersbulk-web-session)
- [`POST /api/providers/claude-auth/import`](references/endpoints.md#post-apiprovidersclaude-authimport)
- [`POST /api/providers/claude-auth/import-bulk`](references/endpoints.md#post-apiprovidersclaude-authimport-bulk)
- [`POST /api/providers/claude-auth/zip-extract`](references/endpoints.md#post-apiprovidersclaude-authzip-extract)
- [`POST /api/providers/codex-auth/import`](references/endpoints.md#post-apiproviderscodex-authimport)
- [`POST /api/providers/codex-auth/import-bulk`](references/endpoints.md#post-apiproviderscodex-authimport-bulk)
- [`POST /api/providers/codex-auth/zip-extract`](references/endpoints.md#post-apiproviderscodex-authzip-extract)
- [`POST /api/providers/command-code/auth/apply`](references/endpoints.md#post-apiproviderscommand-co