---
title: "List every catalog model's routing view (platform admin)"
method: GET
path: "/v1/admin/inference/catalog"
tags: ["Internal"]
---

# List every catalog model's routing view (platform admin)

`GET /v1/admin/inference/catalog`

The endpoint-page population in ONE request: each catalog model with its routing policy and backends (including pool linkage for self-hosted), instead of N+1 per-model fetches.

## Response `200`

Models

- InferenceCatalogModelList
  - `models` InferenceCatalogModel[], required
    - `backends` InferenceCatalogBackend[], required
      - `accelerator` string — Hardware class tag, when known
      - `endpoint` string, required — pool://<poolId> for self-hosted capacity; an external URL for managed providers
      - `healthy` boolean, required — false = excluded from routing entirely (the kill switch)
      - `maxConcurrency` integer — Per-backend in-flight cap; 0 = model default
      - `maxPromptBytes` integer
      - `minPromptBytes` integer
      - `nativeFamilies` string[]
      - `pools` object[] — Self-hosted only: the deployments registering into this pool
        - `deploymentId` string
        - `nodePool` string
        - `status` string
        - `version` string
      - `provider` string, required — selfhosted|bedrock|openrouter|openai|anthropic (openrelay pools report selfhosted)
      - `ref` string, required — Provider-side model id / deployment id
      - `standby` boolean — true = held out of even the overflow tail (an unramped rollout green)
      - `transport` string — direct|tunnel|privatelink
      - `version` string — Low-cardinality rollout tag, when set
      - `weight` integer, required — Live routing weight (0 = overflow tail)
    - `enabled` boolean
    - `modelId` string, required
    - `routing` object
      - `families` object
      - `maxAttempts` integer
      - `strategy` string — first_healthy|weighted|sticky (empty = gateway default)
    - `status` string
    - `updatedAt` string

## Other responses

- `401` — Missing or invalid API key
- `403` — API key lacks the required scope
- `503` — A required integration (e.g. payments) is not configured

---

[API](https://skmtc.dev/openrelay/apis/openrelay-api.md) · [All operations](https://skmtc.dev/openrelay/apis/openrelay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openrelay/openrelay-api/revisions/3dc47c9667e8/schema)
