"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."
Install
npx skillscat add diegosouzapw/omniroute/omni-providers Install via the SkillsCat registry.
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 327-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
List provider connections
curl https://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"POST /api/providers
Create provider connection
curl -X POST https://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'GET /api/providers/{id}
Get provider connection
curl https://localhost:20128/api/providers/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"PATCH /api/providers/{id}
Update provider connection
curl -X PATCH https://localhost:20128/api/providers/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'DELETE /api/providers/{id}
Delete provider connection
curl -X DELETE https://localhost:20128/api/providers/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"POST /api/providers/{id}/test
Test provider connection
curl -X POST https://localhost:20128/api/providers/{id}/test \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'GET /api/providers/{id}/models
List models for a provider
curl https://localhost:20128/api/providers/{id}/models \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"GET /api/providers/cursor/agent-availability
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.
curl https://localhost:20128/api/providers/cursor/agent-availability \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"POST /api/providers/test-batch
Test multiple providers at once
curl -X POST https://localhost:20128/api/providers/test-batch \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'POST /api/providers/validate
Validate provider credentials
curl -X POST https://localhost:20128/api/providers/validate \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'GET /api/providers/client
Get client-side provider info
curl https://localhost:20128/api/providers/client \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"POST /api/providers/agy-auth/import
Import an Antigravity CLI (agy) token file as an agy connection
curl -X POST https://localhost:20128/api/providers/agy-auth/import \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'POST /api/providers/agy-auth/import-bulk
Bulk-import multiple Antigravity CLI (agy) token files (up to 50)
curl -X POST https://localhost:20128/api/providers/agy-auth/import-bulk \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'POST /api/providers/agy-auth/zip-extract
Extract .json token files from an uploaded ZIP for agy bulk import
curl -X POST https://localhost:20128/api/providers/agy-auth/zip-extract \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'POST /api/providers/agy-auth/apply-local
Auto-detect and import the local Antigravity CLI (agy) login from disk
curl -X POST https://localhost:20128/api/providers/agy-auth/apply-local \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'GET /api/provider-nodes
List provider nodes
curl https://localhost:20128/api/provider-nodes \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"POST /api/provider-nodes
Create provider node
curl -X POST https://localhost:20128/api/provider-nodes \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'PATCH /api/provider-nodes/{id}
Update provider node
curl -X PATCH https://localhost:20128/api/provider-nodes/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'DELETE /api/provider-nodes/{id}
Delete provider node
curl -X DELETE https://localhost:20128/api/provider-nodes/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"POST /api/provider-nodes/validate
Validate a provider node
curl -X POST https://localhost:20128/api/provider-nodes/validate \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'GET /api/provider-models
List provider models
curl https://localhost:20128/api/provider-models \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"Payloads
See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.
Additional endpoints
POST /api/providers/{id}/refresh
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.
curl -X POST https://localhost:20128/api/providers/{id}/refresh \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'GET /api/provider-metrics
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.
curl https://localhost:20128/api/provider-metrics \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"Response example:
{
"providers": [
{
"id": "my-openai",
"requestCount": 1240,
"errorRate": 0.02,
"p50LatencyMs": 340,
"p99LatencyMs": 1200,
"tokensIn": 500000,
"tokensOut": 250000
}
]
}GET /api/providers/health-matrix
Returns a health-matrix view of all providers with per-connection status, circuit-breaker state, and cooldown expiry. Useful for debugging routing decisions.
curl https://localhost:20128/api/providers/health-matrix \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"