GET/api/v1/catalog
Catalog
Get Catalog
Returns every valid configuration value for an assistant: LLM and STT providers with their models (from ModelPricing), voice providers with their voices and languages (from SystemVoice), and the fixed language selection modes. Call this before creating or updating an assistant to discover current values.
Request
Endpoint
GET
/api/v1/catalogAuthentication
x-api-keyorAuthorization: BearerNotes
Use ai.models[provider][].id as the model value when creating or updating an assistant.
Use voice.voices[provider][].name as the voice name value.
Response Example
response.json
{
"success": true,
"data": {
"ai": {
"providers": [
"groq",
"openai",
"vomyra",
"xai"
],
"models": {
"openai": [
{
"id": "gpt-4.1-mini",
"label": "GPT-4.1 Mini"
},
{
"id": "gpt-4.1-nano",
"label": "GPT-4.1 Nano"
}
],
"groq": [
{
"id": "llama-3.3-70b-versatile",
"label": "Llama 3.3 70B Versatile"
}
]
}
},
"voice": {
"providers": [
"azure",
"cartesia",
"elevenlabs",
"openai"
],
"voices": {
"azure": [
{
"name": "hi-IN-AartiNeural",
"title": "Aarti Hindi - Conversational",
"gender": "Female",
"language": "hi-IN",
"preview_url": null
}
]
},
"languages": [
"en",
"en-IN",
"hi",
"hi-IN"
]
},
"stt": {
"providers": [
"azure",
"deepgram",
"gladia",
"groq",
"openai"
],
"models": {
"deepgram": [
{
"id": "nova-2",
"label": "Nova 2"
}
]
},
"language_modes": [
"single",
"multiple"
],
"note": "language_selection_mode applies to Azure transcription only. Per-provider transcription languages are not yet available via the catalog."
}
}
}Status Codes
| HTTP | Meaning | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 401 | Unauthorized | Missing, invalid, inactive, or origin-restricted API key. |
| 429 | Rate limited | Per-IP or per-key request budget was exceeded. |
Security Model
User-scoped by default
This endpoint only sees resources owned by the user attached to the API key. If another user's id is supplied, the API responds as if the resource does not exist.