latestOpenAPI 3.1.02026-08-19270462702.4 KB

b92f75fd3b61

model-selection

List Base Models

Public model catalog — single source of truth for available models.

Returns the union of all provider catalogs. Each model carries supports_training and supports_inference flags derived from catalog_registry. Use query parameters to filter by capability.

The supports_inference flag and filter use :func:supports_inference_runtime, which unions supports_base_inference across every provider entry that can actually serve in this deployment — its runtime configuration is present and its kill switch is on. A finetune-only Fireworks decoder still reports True when it is bridged through OpenRouter or AWS Bedrock; an Azure-only catalog slug (claude-sonnet-4-5) reports True only when the brain has the Azure env vars set; an OpenRouter-only slug (qwen3.6-flash) reports False in an environment where the OpenRouter kill switch is off, since the router would refuse to serve it.

Authentication is optional. Anonymous callers receive the public catalog with all feature-flag-gated entries hidden (their flags resolve to default_value=False). Authenticated callers populate the request-scoped identity ContextVars via FlexibleAuth so per-user / per-team / per-email Datadog Remote Config rules can match, exposing gated entries (e.g. Gliner-PII, Gliner Guardrails) to users on a rollout. Bad credentials are silently downgraded to anonymous so this endpoint never returns 401.

Callers in restricted jurisdictions have the matching families hidden from the catalog, mirroring the inference-time 451 so the UI never offers an unusable model: sanctioned regions hide foreign frontier families (OpenAI/Anthropic/Gemini/Llama) and GDPR regions hide GDPR-restricted families (Sakana). The jurisdiction is resolved from both CloudFront's CloudFront-Viewer-Country header and the team's verified billing-card country, so a VPN cannot unhide a model the caller's card jurisdiction bars.

Examples: GET /base-models — full catalog GET /base-models?supports_inference=true — serverless-capable models GET /base-models?supports_training=true — trainable models GET /base-models?task_type=encoder — encoder/NER models only GET /base-models?task_type=decoder — decoder/LLM models only GET /base-models?task_type=embedding — text embedding models only

get/base-models

Query parameters

supports_trainingboolean nullable

Filter to models that support fine-tuning

Filter to models that support fine-tuning

supports_inferenceboolean nullable

Filter to models with serverless inference

Filter to models with serverless inference

task_typestring nullable

Filter by model architecture: 'encoder' (NER/GLiNER), 'decoder' (LLM), or 'embedding' (text embedding)

Filter by model architecture: 'encoder' (NER/GLiNER), 'decoder' (LLM), or 'embedding' (text embedding)

Response

Successful Response