Public model catalogue
GET /v1/catalog/modelsReturns every enabled model with its retail pricing, context window, output limit, and capabilities. No API key is required, which makes this endpoint suitable for pricing pages and model pickers.
Request
Section titled “Request”curl https://api.oxyrouter.in/v1/catalog/modelsIf a valid dashboard session cookie is present, the response also includes models that are available through your own provider credentials (BYOK). Pricing and routing details remain private either way.
Response
Section titled “Response”{ "object": "list", "data": [ { "id": "gpt-4o-mini", "object": "model", "owned_by": "oxyrouter", "created": 1735689600, "display_name": "GPT-4o mini", "context_window": 128000, "max_output_tokens": 16384, "capabilities": { "streaming": true, "tool_calling": true, "vision": true }, "pricing": { "currency": "USD", "input_usd_per_million": "0.15", "output_usd_per_million": "0.6", "cached_input_usd_per_million": "0.075", "cache_creation_usd_per_million": null, "reasoning_usd_per_million": null, "long_context_threshold_tokens": null, "long_context_input_usd_per_million": null, "long_context_output_usd_per_million": null } } ]}| Field | Type | Meaning |
|---|---|---|
id |
string | Stable public model ID |
display_name |
string | Human-readable label |
context_window |
integer | Context budget in tokens |
max_output_tokens |
integer | Per-model output limit |
capabilities |
object | Flags such as streaming, tool_calling, and vision |
pricing |
object or null |
Retail pricing; null when no price is configured |
Pricing
Section titled “Pricing”Prices are retail rates used for billing, expressed in USD per 1 million tokens. Amounts are strings so decimal rates are not rounded by JSON number handling.
| Field | Meaning |
|---|---|
input_usd_per_million |
Standard input tokens |
output_usd_per_million |
Output tokens |
cached_input_usd_per_million |
Cached input, when the model supports it |
cache_creation_usd_per_million |
Cache writes, when priced |
reasoning_usd_per_million |
Reasoning tokens, when priced separately |
long_context_threshold_tokens |
Token threshold for long-context pricing |
long_context_input_usd_per_million |
Input rate above the threshold |
long_context_output_usd_per_million |
Output rate above the threshold |
Display values as USD. Wallet balances and charges are in INR; the platform applies its current FX quote when metering usage.
Ordering and filtering
Section titled “Ordering and filtering”Models are sorted by display name, then by ID. The endpoint returns a flat list with no pagination. Filtering and search happen client-side.
Relationship to GET /v1/models
Section titled “Relationship to GET /v1/models”| Endpoint | Auth | Returns |
|---|---|---|
GET /v1/catalog/models |
None | Enabled models with pricing and capabilities |
GET /v1/models |
API key (inference:read) |
Models the key can use, IDs only |
The two lists can differ when a provider is unavailable or when BYOK expands the
set. Use the catalogue for display and /v1/models to confirm what a key can
actually call.