GET /v1/configs/models/{*id} — dual-purpose dispatcher.
Handles two endpoints sharing the same wildcard route:
- GET /v1/configs/models/{id} — YAML view of the gateway's model.
- GET /v1/configs/models/{id}/status — JSON worker-ack readiness for that model on this specific gateway replica.
The {*id} wildcard is necessary because model IDs routinely contain forward slashes (BAAI/bge-m3), so we strip an optional trailing /status segment here rather than maintain two overlapping axum routes (axum's matchit panics on overlapping catch-all routes).
Disambiguation when a model literally named something/status exists: we prefer the status interpretation only when the /status-stripped id resolves to a real model. That keeps an accidental model whose ID ends with /status addressable under GET /v1/configs/models/foo/status as a config read, and matches what admin tooling expects (status requests are only meaningful against models that actually exist). sie-config additionally refuses to register model IDs ending in /status so the pathological case where both foo and foo/status are models cannot arise, but we still degrade gracefully if it ever does.
Path parameters
Model id. Runtime route is Axum catch-all /v1/configs/models/{*id}; clients using this OpenAPI path template should percent-encode slashes in model ids, for example BAAI%2Fbge-m3.
Response
Model config YAML