---
name: cheaper-inference-omni-models
description: "Query available AI models across all configured providers. List models, resolve model aliases, and browse the full model catalog including provider-specific variants."
license: "MIT"
metadata:
  decimalai-skill-id: "79ed3fbf-bac9-441e-9b8d-d62770bee261"
  decimalai-version-id: "77782cb4-bb22-49b7-9c19-0e1cadea0d72"
  decimalai-version: "1"
  decimalai-body-sha256: "b244eed0f64727fd0652e0724de191b923579636f124d070af74a55549a444d5"
  decimalai-name: "cheaper-inference/omni-models"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "ai-ml"
  decimalai-source: "https://app.decimal.ai/s/cheaper-inference-omni-models@1/SKILL.md"
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

## Overview

Query available AI models across all configured providers. List models, resolve model aliases, and browse the full model catalog including provider-specific variants.

## 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/v1/models

List available models

Returns all models available across configured providers. The discovery filters (`capability`, `min_context`, `kind`, `q`) are opt-in: without them the response is unchanged. They narrow the caller's own (key-filtered) catalog and run before `limit`/`after` paging.

```bash
curl http://localhost:20128/api/v1/models \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/v1/models/query

Query a model shortlist

Filtered shortlist over the same catalog as `GET /v1/models` (same auth and per-key visibility). Results are ordered by `owned_by`, then `id`, and capped by `limit` (default 20, maximum 100).

```bash
curl -X POST http://localhost:20128/api/v1/models/query \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/v1/models/health

Per-model pause state for the caller's key

Read-only liveness view over the in-memory model lockout store. `ok` means no pause observed by this instance (not a health verdict); connection-level pauses live outside the store read here. Additive: leaves GET /v1/models and its cache untouched. `retry_after` carries the shortest remaining lockout in seconds, rounded up, only when `state` is `cooling`. One documented difference from the dispatch 429 `model_cooldown` rule: a model with one lockout-covered connection and one connection-level cooldown still reads `cooling` here, while the 429 requires every connection to carry a model cooldown.

```bash
curl http://localhost:20128/api/v1/models/health \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/models

List models (management)

```bash
curl http://localhost:20128/api/models \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/models/alias

Create or update a model alias

```bash
curl -X POST http://localhost:20128/api/models/alias \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/models/catalog

Get full model catalog

```bash
curl http://localhost:20128/api/models/catalog \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/models/openrouter-catalog

GET models › openrouter catalog

```bash
curl http://localhost:20128/api/models/openrouter-catalog \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/models/test

POST models › test

```bash
curl -X POST http://localhost:20128/api/models/test \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### POST /api/models/test-all

POST models › test all

```bash
curl -X POST http://localhost:20128/api/models/test-all \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/v1/models/{model}

GET models › <model>

```bash
curl http://localhost:20128/api/v1/models/{model} \
  -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.
