Llm Models Models List
GET/POST /api/llm_models/models/ (platform - shows global + custom)
GET/POST /api/llm-models/custom-models/ (public API - shows ONLY custom)
Unified endpoint for models.
GET: List models
- Platform: global + org's custom (same for superadmin - no cross-org listing)
- Public (custom-models path): ONLY org's custom models
Filter with standard syntax: { "filters": { "affiliation_category": { "value": ["CUSTOM"] } } }
POST:
- Without 'model_name' in body: Filter/list models (backward compatible)
- With 'model_name' in body: Create model
- organization_id=null + superadmin: Create global model
- Otherwise: Create custom model for target org (superadmin can specify organization_id)
Note: Uses SuperAdminMixin for consistency, but queryset is intentionally the same
for both regular users and superadmins (global + org's custom pattern).
Authentication
AuthorizationBearer
JWT access token or Respan API key
Query parameters
page
A page number within the paginated result set.
page_size
Number of results to return per page.
Response
count
results
next
previous
total_count
current_filters
Pydantic model for FilterParamDict. A dictionary that maps metric names to their filter parameters.
Each key is a metric name (str), and each value can be:
- A single MetricFilterParamPydantic (one condition)
- A List[MetricFilterParamPydantic] (multiple conditions for same metric)
- A FilterBundlePydantic (nested filter bundle with connector)
Note: Uses extra=“allow” for dynamic metric name fields. The pydantic_extra annotation tells Pydantic what types to expect for extra fields, and generates typed additionalProperties in JSON Schema.
filters_data