diegosouzapw

omni-providers

"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."

diegosouzapw 56,996 7,833 Updated 2w ago
GitHub

Install

npx skillscat add diegosouzapw/omniroute/omni-providers

Install via the SkillsCat registry.

SKILL.md

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"

Categories