Skip to navigation

List models

Anonymous callers receive managed global models. API-key and dashboard callers also receive their organization’s custom models. Anonymous requests are rate-limited per client IP.

Authentication

AuthorizationBearer

Use your Respan API key for Respan API authentication. Enter only the Respan API key value; clients send Authorization: Bearer <RESPAN_API_KEY>. For /api/responses, provider credentials such as Perplexity, OpenAI, or Azure OpenAI go in Settings -> Providers or respan_params.credential_override in the request body, not in this authentication field.

OR
AuthorizationBearer

Use a dashboard JWT only for dashboard-authenticated endpoints. Respan API-key endpoints use the respanApiKey auth field instead.

Query parameters

pageintegerOptional>=1
Page number.
page_sizeintegerOptional1-1000Defaults to 100

Results per page (default 100, max 1000).

sort_bystringOptionalDefaults to model_name

Field to sort by. Prefix with - for descending order.

Request

This endpoint expects an object.
filtersobjectOptional

Each key is a field to filter on, and each value is a condition: {"<field>": {"operator": "<operator>", "value": [...]}}. A model must match every condition. To set two conditions on one field, such as a range, pass a list of conditions.

Operators: "" (equals, the default), not, in, not_in, lt, lte, gt, gte, contains, not_contains, icontains (ignores case), startswith, not_startswith, endswith, not_endswith, empty, not_empty. Put values in a list: "" and in match any of the listed values, and not and not_in match none of them. Other operators take one value; for empty and not_empty, send [""].

Fields: model_name, base_model_name, provider__provider_id, provider__provider_name, affiliation_category (custom or keywordsai), is_managed, status (active or deprecated), model_type (chat, embedding, image, video, rerank, speech or transcription), input_cost, output_cost, max_context_window, has_discount, and available_to_user ([true] keeps only the models you can call). With icontains, model_name ignores -, _, . and spaces, so gemini3 matches gemini-3. Unsupported fields return a 400 error.

Example:

{
  "provider__provider_id": {"operator": "", "value": ["anthropic"]},
  "status": {"operator": "", "value": ["active"]}
}
is_exportingbooleanOptionalDefaults to false
Reserved for dashboard exports.

Response

Paginated filtered list of models.
countinteger

Number of results on this page, not the total. Request pages until next is null to get every result.

resultslist of objects
nextstring or nullOptional
URL for the next page, if any.
previousstring or nullOptional
URL for the previous page, if any.
current_filtersobjectOptional
Normalized filters applied to this request.

Errors

400
Bad Request Error