---
title: "Reference data to build an agent — languages, voices, ASR models, LLM servers, knowledge bases"
method: GET
path: "/api/v1/meta"
tags: ["reference"]
---

# Reference data to build an agent — languages, voices, ASR models, LLM servers, knowledge bases

`GET /api/v1/meta`

## Request

- Base URL: `https://www.callagent.pro`
- URL: `https://www.callagent.pro/api/v1/meta`
- Auth: HTTP bearer

Call this FIRST when building an agent — every id-typed Agent field (primary_language_id, default_voice_id, llm_server_id, asr_model_id, knowledge_base_id) must be one returned here. There is no fixed enum for these ids; they're account/platform data, not constants.

## Response `200`

OK

- object
  - `meta` Meta: Reference data for building an agent — every id an Agent's primary_language_id/default_voice_id/llm_server_id/asr_model_id/ knowledge_base_id must be one of. There is no fixed enum for these: call GET /meta first and use the ids it returns, since voices, languages and models are added over time. NOTE the camelCase keys on three of the six lists — they are named for the dashboard store that consumes them, and renaming them would break it.
    - `languages` object[], required
      - `id` integer
      - `code` string: ISO 639-1, e.g. de
      - `label` string: Flag emoji + English name
    - `voices` object[], required
      - `id` integer
      - `name` string
      - `label` string: Gender emoji + name, for menus
      - `gender` 'male' | 'female' | 'neutral'
      - `language_id` integer: The voice's own primary language
      - `lang_code` string: 'multi' for a voice not tied to one language
      - `supported_languages` string[]: ISO codes this voice can actually speak. A multilingual AGENT still only speaks what its VOICE supports — pick the voice for the languages you need, not just the language id.
    - `knowledgeBases` object[], required
      - `id` integer
      - `label` string
    - `llmServers` object[], required
      - `id` integer
      - `label` string
    - `asrModels` object[], required
      - `id` integer
      - `label` string
      - `language_id` integer, nullable: null means multilingual
    - `extensions` object[], required: SIP extensions a number can be routed to (route_mode=extension)
      - `ext` string
      - `label` string
      - `online` boolean: Registered right now

## Other responses

- `401`: Missing or invalid Bearer key
- `429`: Too many requests — see the endpoint's rate limit tier (agent-api 120/min, agent-api-heavy 6/min, agent-api-secrets 10/min)

---

[API](https://skmtc.dev/callagent/apis/callagent-pro-agent-api.md) · [All operations](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/revisions/38072cf8a24b?raw)
