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
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.
Use a dashboard JWT only for dashboard-authenticated endpoints. Respan API-key endpoints use the respanApiKey auth field instead.
Query parameters
Results per page (default 100, max 1000).
Field to sort by. Prefix with - for descending order.
Request
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"]}
}
Response
Number of results on this page, not the total. Request pages until next is null to get every result.