Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Manage provider connections, API keys, OAuth flows, and connection tests via the REST API. List, add, update, remove, and test AI provider integrations (OpenAI, Anthropic, Gemini, and 160+).
.claude/skills/diegosouzapw-omni-providers/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 176% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 331% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 309% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 361% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 326% | 0% |
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
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 327-provider catalog.
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.
List provider connections
bashcurl https://localhost:20128/api/providers \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Create provider connection
bashcurl -X POST https://localhost:20128/api/providers \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Get provider connection
bashcurl https://localhost:20128/api/providers/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Update provider connection
bashcurl -X PATCH https://localhost:20128/api/providers/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Delete provider connection
bashcurl -X DELETE https://localhost:20128/api/providers/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Test provider connection
bashcurl -X POST https://localhost:20128/api/providers/{id}/test \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
List models for a provider
bashcurl https://localhost:20128/api/providers/{id}/models \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Check cursor-agent availability
Credential-free, informational check for whether cursor-agent is installed and authenticated on this host — backs the dashboard's dismissible install-nudge banner. Returns only cursorAgentAvailable (boolean); never tokens or machineId.
bashcurl https://localhost:20128/api/providers/cursor/agent-availability \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Test multiple providers at once
bashcurl -X POST https://localhost:20128/api/providers/test-batch \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Validate provider credentials
bashcurl -X POST https://localhost:20128/api/providers/validate \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Get client-side provider info
bashcurl https://localhost:20128/api/providers/client \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Import an Antigravity CLI (agy) token file as an agy connection
bashcurl -X POST https://localhost:20128/api/providers/agy-auth/import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Bulk-import multiple Antigravity CLI (agy) token files (up to 50)
bashcurl -X POST https://localhost:20128/api/providers/agy-auth/import-bulk \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Extract .json token files from an uploaded ZIP for agy bulk import
bashcurl -X POST https://localhost:20128/api/providers/agy-auth/zip-extract \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Auto-detect and import the local Antigravity CLI (agy) login from disk
bashcurl -X POST https://localhost:20128/api/providers/agy-auth/apply-local \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
List provider nodes
bashcurl https://localhost:20128/api/provider-nodes \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Create provider node
bashcurl -X POST https://localhost:20128/api/provider-nodes \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Update provider node
bashcurl -X PATCH https://localhost:20128/api/provider-nodes/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Delete provider node
bashcurl -X DELETE https://localhost:20128/api/provider-nodes/{id} \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Validate a provider node
bashcurl -X POST https://localhost:20128/api/provider-nodes/validate \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
List provider models
bashcurl https://localhost:20128/api/provider-models \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET providers › <id> › cc alias
bashcurl https://localhost:20128/api/providers/{id}/cc-alias \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
PUT providers › <id> › cc alias
bashcurl -X PUT https://localhost:20128/api/providers/{id}/cc-alias \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › <id> › chatgpt web codex doctor
bashcurl https://localhost:20128/api/providers/{id}/chatgpt-web-codex-doctor \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › <id> › claude auth › apply local
bashcurl -X POST https://localhost:20128/api/providers/{id}/claude-auth/apply-local \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › <id> › claude auth › export
bashcurl -X POST https://localhost:20128/api/providers/{id}/claude-auth/export \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › <id> › codex auth › apply local
bashcurl -X POST https://localhost:20128/api/providers/{id}/codex-auth/apply-local \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › <id> › codex auth › export
bashcurl -X POST https://localhost:20128/api/providers/{id}/codex-auth/export \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › <id> › interception rules
bashcurl https://localhost:20128/api/providers/{id}/interception-rules \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
PUT providers › <id> › interception rules
bashcurl -X PUT https://localhost:20128/api/providers/{id}/interception-rules \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
DELETE providers › <id> › interception rules
bashcurl -X DELETE https://localhost:20128/api/providers/{id}/interception-rules \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › <id> › login
bashcurl -X POST https://localhost:20128/api/providers/{id}/login \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › <id> › param filters
bashcurl https://localhost:20128/api/providers/{id}/param-filters \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
PUT providers › <id> › param filters
bashcurl -X PUT https://localhost:20128/api/providers/{id}/param-filters \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
DELETE providers › <id> › param filters
bashcurl -X DELETE https://localhost:20128/api/providers/{id}/param-filters \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › <id> › refresh
bashcurl -X POST https://localhost:20128/api/providers/{id}/refresh \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › <id> › refresh cursor
bashcurl -X POST https://localhost:20128/api/providers/{id}/refresh-cursor \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › <id> › refresh token
bashcurl -X POST https://localhost:20128/api/providers/{id}/refresh-token \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › <id> › sync models
bashcurl -X POST https://localhost:20128/api/providers/{id}/sync-models \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › bulk
bashcurl -X POST https://localhost:20128/api/providers/bulk \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › bulk web session
bashcurl -X POST https://localhost:20128/api/providers/bulk-web-session \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › claude auth › import
bashcurl -X POST https://localhost:20128/api/providers/claude-auth/import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › claude auth › import bulk
bashcurl -X POST https://localhost:20128/api/providers/claude-auth/import-bulk \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › claude auth › zip extract
bashcurl -X POST https://localhost:20128/api/providers/claude-auth/zip-extract \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › codex auth › import
bashcurl -X POST https://localhost:20128/api/providers/codex-auth/import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › codex auth › import bulk
bashcurl -X POST https://localhost:20128/api/providers/codex-auth/import-bulk \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › codex auth › zip extract
bashcurl -X POST https://localhost:20128/api/providers/codex-auth/zip-extract \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › command code › auth › apply
bashcurl -X POST https://localhost:20128/api/providers/command-code/auth/apply \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › command code › auth › callback
bashcurl -X POST https://localhost:20128/api/providers/command-code/auth/callback \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › command code › auth › start
bashcurl -X POST https://localhost:20128/api/providers/command-code/auth/start \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › command code › auth › status
bashcurl https://localhost:20128/api/providers/command-code/auth/status \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › command code › auth › status
bashcurl -X POST https://localhost:20128/api/providers/command-code/auth/status \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › expiration
bashcurl https://localhost:20128/api/providers/expiration \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET providers › free onboarding
bashcurl https://localhost:20128/api/providers/free-onboarding \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › free onboarding
bashcurl -X POST https://localhost:20128/api/providers/free-onboarding \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › health autopilot
bashcurl https://localhost:20128/api/providers/health-autopilot \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › health autopilot › actions
bashcurl -X POST https://localhost:20128/api/providers/health-autopilot/actions \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › health matrix
bashcurl https://localhost:20128/api/providers/health-matrix \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › import
bashcurl -X POST https://localhost:20128/api/providers/import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › openrouter stats
bashcurl https://localhost:20128/api/providers/openrouter-stats \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET providers › quota windows
bashcurl https://localhost:20128/api/providers/quota-windows \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › volcengine plan › connect
bashcurl -X POST https://localhost:20128/api/providers/volcengine-plan/connect \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › volcengine plan › connect › <sessionId> › cancel
bashcurl -X POST https://localhost:20128/api/providers/volcengine-plan/connect/{sessionId}/cancel \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › volcengine plan › connect › <sessionId> › code
bashcurl -X POST https://localhost:20128/api/providers/volcengine-plan/connect/{sessionId}/code \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › volcengine plan › connect › <sessionId> › identity
bashcurl -X POST https://localhost:20128/api/providers/volcengine-plan/connect/{sessionId}/identity \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › volcengine plan › connect › <sessionId> › resend
bashcurl -X POST https://localhost:20128/api/providers/volcengine-plan/connect/{sessionId}/resend \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
GET providers › volcengine plan › connect › <sessionId> › status
bashcurl https://localhost:20128/api/providers/volcengine-plan/connect/{sessionId}/status \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET providers › web session contract
bashcurl https://localhost:20128/api/providers/web-session-contract \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST providers › zed › discover
bashcurl -X POST https://localhost:20128/api/providers/zed/discover \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › zed › import
bashcurl -X POST https://localhost:20128/api/providers/zed/import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
POST providers › zed › manual import
bashcurl -X POST https://localhost:20128/api/providers/zed/manual-import \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.
<!-- skill:custom-start -->
Rotate / refresh OAuth tokens or re-validate credentials for a provider connection. Useful after token expiration or when credentials need to be renewed without deleting the connection.
bashcurl -X POST https://localhost:20128/api/providers/{id}/refresh \ -H "Authorization: Bearer $OMNIROUTE_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'
Retrieve aggregated usage and performance metrics for all provider connections (request counts, error rates, latency percentiles, token usage). Used by dashboards and Auto-Combo scoring.
bashcurl https://localhost:20128/api/provider-metrics \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
Response example:
json{ "providers": [ { "id": "my-openai", "requestCount": 1240, "errorRate": 0.02, "p50LatencyMs": 340, "p99LatencyMs": 1200, "tokensIn": 500000, "tokensOut": 250000 } ] }
Returns a health-matrix view of all providers with per-connection status, circuit-breaker state, and cooldown expiry. Useful for debugging routing decisions.
bashcurl https://localhost:20128/api/providers/health-matrix \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
<!-- skill:custom-end -->
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→pass | 20,338 | 7,834 | -61% | 1 | 1 | 0% | 2,470 | 6,820 | +176% | 0 | 0 | — |
case-01 | fail→pass | 14,185 | 8,059 | -43% | 1 | 1 | 0% | 1,589 | 6,855 | +331% | 0 | 0 | — |
case-02 | fail→pass | 15,574 | 8,942 | -43% | 1 | 1 | 0% | 1,677 | 6,858 | +309% | 0 | 0 | — |
case-03 | fail→pass | 13,445 | 8,653 | -36% | 1 | 1 | 0% | 1,532 | 7,057 | +361% | 0 | 0 | — |
case-04 | fail→pass | 15,267 | 8,445 | -45% | 1 | 1 | 0% | 1,636 | 6,963 | +326% | 0 | 0 | — |
case-05 | fail→pass | 16,428 | 8,492 | -48% | 1 | 1 | 0% | 1,871 | 7,071 | +278% | 0 | 0 | — |
case-06 | fail→pass | 16,218 | 8,663 | -47% | 1 | 1 | 0% | 1,910 | 7,167 | +275% | 0 | 0 | — |
case-07 | fail→pass | 12,723 | 8,324 | -35% | 1 | 1 | 0% | 1,396 | 7,015 | +403% | 0 | 0 | — |
case-08 | fail→pass | 22,740 | 7,830 | -66% | 1 | 1 | 0% | 1,812 | 6,909 | +281% | 0 | 0 | — |
case-10 | fail→pass | 11,542 | 8,568 | -26% | 1 | 1 | 0% | 1,216 | 7,026 | +478% | 0 | 0 | — |
case-11 | fail→pass | 13,791 | 7,568 | -45% | 1 | 1 | 0% | 1,476 | 6,754 | +358% | 0 | 0 | — |
case-12 | pass→pass | 11,070 | 9,202 | -17% | 1 | 1 | 0% | 1,010 | 7,014 | +594% | 0 | 0 | — |
case-13 | pass→pass | 11,733 | 7,541 | -36% | 1 | 1 | 0% | 1,309 | 6,872 | +425% | 0 | 0 | — |
case-14 | fail→pass | 14,185 | 7,701 | -46% | 1 | 1 | 0% | 1,529 | 6,793 | +344% | 0 | 0 | — |
case-15 | fail→pass | 13,412 | 7,247 | -46% | 1 | 1 | 0% | 1,556 | 6,732 | +333% | 0 | 0 | — |
case-16 | fail→pass | 17,144 | 8,208 | -52% | 1 | 1 | 0% | 1,752 | 6,970 | +298% | 0 | 0 | — |
case-17 | fail→pass | 15,759 | 7,446 | -53% | 1 | 1 | 0% | 1,883 | 6,804 | +261% | 0 | 0 | — |
case-18 | fail→pass | 11,466 | 8,531 | -26% | 1 | 1 | 0% | 1,140 | 6,976 | +512% | 0 | 0 | — |
case-19 | fail→pass | 18,137 | 7,921 | -56% | 1 | 1 | 0% | 2,441 | 6,840 | +180% | 0 | 0 | — |
case-20 | pass→pass | 13,380 | 7,179 | -46% | 1 | 1 | 0% | 1,525 | 6,609 | +333% | 0 | 0 | — |
case-21 | fail→pass | 14,691 | 7,919 | -46% | 1 | 1 | 0% | 1,562 | 6,792 | +335% | 0 | 0 | — |
case-22 | fail→pass | 14,909 | 7,499 | -50% | 1 | 1 | 0% | 1,699 | 6,768 | +298% | 0 | 0 | — |
case-23 | pass→pass | 13,777 | 9,987 | -28% | 1 | 1 | 0% | 1,713 | 7,337 | +328% | 0 | 0 | — |
case-24 | fail→pass | 13,430 | 11,349 | -15% | 1 | 1 | 0% | 1,241 | 7,394 | +496% | 0 | 0 | — |
case-25 | fail→fail | 13,765 | 12,468 | -9% | 1 | 1 | 0% | 1,288 | 7,633 | +493% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +80 percentage points is the difference between those two pass rates over the 25 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/24/2026 | +77% |
| gemini-3.6-flash | verified | 8/17/2026 | +83% |
| gemini-3.6-flash | verified | 8/11/2026 | +86% |
Other measured skills in the registry, with their headline benchmark lift.