Models
The model catalog and per-provider offers.
The model catalog and per-provider offers.
This page is GENERATED from the OpenAPI spec (openapi.yaml) — it can never
drift from the served API. Set UR_BASE_URL (required: your gateway’s URL)
and UR_API_KEY (an ur_sk_* key); secrets are always the $UR_API_KEY placeholder.
List the model catalog
GET /v1/modelsThe active models you can call, with pricing + capabilities, filterable by provider/capability. A model with no usable price is refused at call time (model_unpriced), so it is listed only with include_unpriced=true. Each item separates PROVENANCE from HOSTING: origin_jurisdiction + weights describe the LOGICAL model (the developing lab — an offer inherits them from the model it serves), while hosting_jurisdiction + hosting_region describe where THIS offer RUNS. A CN-origin open-weight model hosted in the US shows origin_jurisdiction: CN, weights: open, hosting_jurisdiction: US. Any unestablished fact is unknown (fail-closed). Requires API-key scope: gateway:invoke.
Auth: API key (Authorization: Bearer ur_sk_…).
curl -sS -X GET "$UR_BASE_URL/v1/models" \
-H "Authorization: Bearer $UR_API_KEY"Get a model with its per-provider offers
GET /v1/models/{id}Logical-model detail incl. every active provider offer. The {id} carries the provider-prefixed slash id (e.g. openai/gpt-5-mini). Provenance vs hosting: top-level origin_jurisdiction + weights are the LOGICAL model's provenance; each offer carries its OWN hosting_jurisdiction + hosting_region (where that offer runs). Unestablished facts are unknown (fail-closed). Requires API-key scope: gateway:invoke.
Auth: API key (Authorization: Bearer ur_sk_…).
curl -sS -X GET "$UR_BASE_URL/v1/models/openai/gpt-5-mini" \
-H "Authorization: Bearer $UR_API_KEY"