Get model summary
Returns model counts matching the filters. Anonymous counts cover managed global models; authenticated counts also include the organization’s custom models.
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.
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:
{
"model_type": {"operator": "", "value": ["embedding"]},
"available_to_user": {"operator": "", "value": [true]}
}