Models

Discover IDs, inputs, options, prices and capacity.

GET /v1/models

Returns object: "list", data, updated_at and stale. The response includes the entire catalog and permits public caching for 30 seconds. Filter locally; search, sort and pagination query parameters are not provided.

curl --fail-with-body https://api.urouter.net/v1/models \
  | jq '{updated_at, stale, models: [.data[] |
    {id, input_types, output_types, execution_enabled}]}'

GET /v1/models/{id}

Returns a model object directly, with updated_at and stale beside its fields. URL-encode the ID as a path component, including a slash if the ID contains one. Unknown IDs return 404 model_not_found; an empty catalog returns 503 catalog_unavailable.

GET /v1/models/{id}
FieldTypeMeaning
id, name, brandstring; brand nullableAPI identifier, display name and model creator.
input_types, output_typesstring[]Accepted and generated modalities reported by the catalog.
operations, featuresstring[]Catalog capabilities, not a list of released uRouter endpoints.
supported_parametersstring[]Model-reported options. Also check the uRouter request schema.
context_lengthinteger or nullReported context size in tokens. Null means unknown.
context_windowoptional {min, max}Range of reported context sizes. Do not assume the largest window is always available.
max_output_tokensinteger or nullReported output limit, separate from context size.
optionsobject of arraysSizes, durations_seconds, resolutions, voices, aspect_ratios, qualities and response_formats. Empty arrays mean no published values.
abliterated, uncensoredboolean or nullExplicit catalog labels; null means not established.
execution_enabledbooleanWhether uRouter enables execution. Currently false for every model.
requests_24hnumber or nullReported recent activity, not a throughput guarantee.

Freshness and missing data

updated_at identifies the saved catalog snapshot. stale: true means it is no longer fresh; data can still be returned. Treat null or missing metadata as unknown, not zero or unsupported. An empty catalog fails with 503 instead of returning an invented list.

Find a suitable model

For example, filter image-input models or models advertising tool calls. Check execution_enabled separately before running them.

curl -sS https://api.urouter.net/v1/models | jq '
  .data[]
  | select(.input_types | index("image"))
  | {id, supported_parameters, context_length, execution_enabled}'