Skip to main content
Discover which models are currently registered with Hivenet Router and available to the calling API key.
The list endpoint returns an aggregated catalog. The detail endpoint adds information about each agent serving one model.
Model discovery is authenticated when API authentication is enabled, but these read-only endpoints do not consume inference request or token quotas.

List available models

Without API authentication:
With API authentication:
A response resembles:
The order of models, engines, regions, and agents is not guaranteed. Sort the response in the client when display order matters.

Model fields

agents.total_capacity is declared capacity, not currently free capacity. It includes registered agents even when they are unhealthy. Use the routing table when you need live load, active requests, available capacity, latency, hardware, or engine metrics.
Do not use hide_llm as an access-control mechanism. In the current implementation, it may appear as aggregated model metadata. API-key restrictions determine which models a caller can discover and invoke.

Filter the list

List model IDs:
List language models:
List embedding models:
List reranking models:
List models with healthy capacity:
Show a compact deployment summary:

Get one model

The detail endpoint returns the same aggregate fields and adds:
This array contains one entry for each agent registered under the model name. For model IDs containing slashes, include the complete ID after /v1/models/:
URL-encode spaces and other reserved characters when they occur in a model ID. A response resembles:
Peer IDs and timestamps will differ.

Agent detail fields

Check the health of every agent serving a model:

Capabilities

Each agent registers one capability.
Use different model names when the same model weights are exposed under different capabilities.If several agents register the same model name with different capabilities, the aggregated catalog reports only the first non-empty capability encountered.

Display metadata

Agents can add a display name and description:
These values appear as:
When several agents serve the same model, Hivenet Router uses the first non-empty value found for each field. Keep these values consistent across agents serving the same model.

Per-key model filtering

GET /v1/models returns the catalog visible to the calling API key. Hivenet Router determines that catalog in this order:
  1. When the key has quota.per_model, only models declared in that map are visible.
  2. Otherwise, when the key has a non-empty allowed_models list, only those models are visible.
  3. When neither restriction exists, the key sees the full public catalog.
For example, a key limited to:
sees only:
in GET /v1/models. This filtering keeps discovery aligned with the models the key can invoke.

Restricted models return 404

When a caller requests detail for a model outside its allowed set, Hivenet Router returns HTTP 404, not 403.
The same response is used when the model does not exist. This prevents one tenant from using the endpoint to discover model names assigned to another tenant.

Use the OpenAI Python client

The OpenAI Python client can list the models exposed by Hivenet Router:
Use raw HTTP when you need Hivenet Router-specific fields such as agent counts, engines, regions, and capabilities:

Operator view

The public discovery endpoints may be filtered by the caller’s API key. Operators can use the admin equivalents to see every registered model:
For example:
The response shape matches the public endpoint, but the admin view does not apply tenant model filtering. Admin authentication is configured separately from inference API authentication. See Admin endpoints for the complete operator reference.

Empty and unhealthy catalogs

When no agents are registered, the list endpoint returns:
A model can remain in the catalog while all of its registered agents are unhealthy:
Discovery confirms registration. It does not guarantee that the model can serve a request at that moment. Check:
and use the routing table for live operational details.

Error responses

Errors use the standard envelope:

Troubleshooting

A model is missing from the list

Check the public view with the intended API key:
Then check the operator view:
If the model appears only in the admin response, review:
  • quota.per_model
  • allowed_models
  • which API key is being sent
  • whether inference and admin authentication use different keys

The model is listed but cannot serve requests

Check:
Then inspect the live routing table:
Common causes include:
  • all agents are unhealthy
  • all healthy agents are at capacity
  • a routing policy excludes the agents
  • the requested capability does not match
  • the API key cannot invoke the model

The capability is wrong

Check whether agents sharing the model name were started with different capability values. Use separate model names for language-model, embedding, and reranking registrations.

Display metadata is inconsistent

Make sure every agent serving the model uses the same:
Hivenet Router uses the first non-empty values found while aggregating the catalog.

Capacity looks higher than available capacity

total_capacity is the sum of the agents’ declared maximum capacity. It does not subtract:
  • active requests
  • unhealthy-agent capacity
  • policy exclusions
  • backend queue pressure
Use /admin/routing-table for live state.

Next steps

Admin endpoints

Inspect the complete operator catalog, routing table, storage, policies, and API keys.

API keys

Control which models each client can discover and invoke.

Routing concepts

Understand how matching agents are filtered and selected for inference.