Skip to main content

Models

The catalog every agent resolves against.

Overview

Every Agent references the catalog (a model string, or the provider's default) to know which model it generates with. Models are read-only and platform-managed — there is no create/update/delete, only listing and lookup.

See the OpenAPI spec for the full endpoint and schema reference, or browse it rendered under API Reference → Models.

Data Model

Model

FieldTypeDescription
idstringModel catalog ID.
display_namestringHuman-readable name.
providerstringThe upstream provider (e.g. bedrock, openai).
vendorstringThe model's vendor (e.g. anthropic).
provider_modelstringThe model string the runtime sends — what an Agent's model field accepts.
input_modalitiesstring[]Modalities the model accepts as input.
output_modalitiesstring[]Modalities the model can produce.
streamingbooleanWhether the model supports streaming responses.
inference_typesstring[]Supported inference types.
statusstringAvailability status.
managedbooleanWhether this model can back a managed provider.

Key Concepts

managed is not implied by status

status: "available" means the model is in the catalog. managed means it can back a provider with kind: managed — a different question, because a managed provider is priced at naturali's own cost and only models with an authoritative published price qualify. The Anthropic Claude family has none today, so it is available in the catalog but BYOK-only.

Filter on it rather than discovering it the hard way — creating a managed provider on an ineligible model is a 400:

naturali list-models --managed true --vendor amazon

Omit the filter to leave the catalog unfiltered on that axis; managed=false returns only the BYOK-only models. Any other value is a 400 — a mistyped filter fails rather than quietly returning the opposite half of the catalog.

Examples

naturali list-models