[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-telephony\u002Fanalytics\u002Fvoices":3,"docs-tabs-telephony\u002Fanalytics\u002Fvoices":6},{"content":4,"lastmod":5},"\n## Voice reference\n\n`GET \u002Fv1\u002Fcalls\u002Fvoices`\n\nReturns a dictionary of available voices for speech synthesis. The identifiers from the response are passed as the `voice` parameter to [`POST \u002Fv1\u002Fcalls\u002Fauto-call`](..\u002Foutbound\u002Fauto-call.md).\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalls\u002Fvoices \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalls\u002Fvoices \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — personal key\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalls\u002Fvoices', {\n  headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n})\n\nconst { success, data } = await res.json()\nconst voices = Object.entries(data)\n\u002F\u002F [['ruinternalfemale', 'Russian (female) (Default)'], ...]\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalls\u002Fvoices', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { data } = await res.json()\n```\n\n## Response fields\n\n| Field | Type | Description |\n|------|-----|---------|\n| `success` | boolean | Always `true` on success |\n| `data` | object | Voice dictionary: the key is the voice identifier, the value is the display name with the synthesis source in parentheses |\n| `data.\u003CvoiceId>` | string | Voice name. The synthesis source is shown in parentheses: `Amazon` or `Default`. Pass `voiceId` as the `voice` parameter in an automatic call |\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"auenglishfemale\": \"Australian English (female) (Amazon)\",\n    \"brportuguesefemale\": \"Brazilian Portuguese (female) (Amazon)\",\n    \"ruinternalfemale\": \"Russian (female) (Default)\",\n    \"ruinternalmale\": \"Russian (male) (Default)\",\n    \"ukenglishfemale\": \"English (female) (Amazon)\",\n    \"ukenglishmale\": \"English (male) (Amazon)\",\n    \"usenglishfemale\": \"American English (female) (Default)\",\n    \"usenglishmale\": \"American English (male) (Default)\",\n    \"eurfrenchfemale\": \"French (female) (Amazon)\",\n    \"eurfrenchmale\": \"French (male) (Amazon)\",\n    \"eurgermanfemale\": \"German (female) (Default)\",\n    \"eurgermanmale\": \"German (male) (Default)\",\n    \"jpjapanesefemale\": \"Japanese (female) (Default)\",\n    \"chchinesefemale\": \"Chinese (female) (Default)\"\n  }\n}\n```\n\n## Error response example\n\n403 — no `telephony` scope:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'telephony' scope\"\n  }\n}\n```\n\n## Errors\n\n| HTTP | Code | Description |\n|------|-----|---------|\n| 401 | `MISSING_API_KEY` | The `X-Api-Key` header was not provided |\n| 401 | `INVALID_API_KEY` | The key is not recognized — no such key exists on the platform |\n| 401 | `TOKEN_MISSING` | The key has no configured Bitrix24 tokens |\n| 401 | `KEY_INACTIVE` | The API key is inactive or revoked |\n| 403 | `SCOPE_DENIED` | The key lacks the `telephony` scope |\n| 422 | `BITRIX_ERROR` | Bitrix24 returned an error (text in `error.message`) |\n| 429 | `RATE_LIMITED` | Request limit exceeded |\n| 502 | `BITRIX_UNAVAILABLE` | Bitrix24 is unavailable |\n\nThe full list of common API errors — [Errors](\u002Fdocs\u002Ferrors).\n\n## Known specifics\n\n**`data` is a dictionary object, not an array.** To iterate over all voices, use `Object.entries(data)`. To get a specific voice by identifier: `data['ruinternalfemale']`.\n\n**Default voice.** If the `voice` parameter is omitted in an automatic call, Bitrix24 selects the default voice based on the Bitrix24 account language. For a Russian-language account it is `ruinternalfemale`.\n\n**The set of voices depends on the plan.** The available voices and their identifiers may differ depending on the Bitrix24 account plan.\n\n## See also\n\n- [Automatic call with speech synthesis](..\u002Foutbound\u002Fauto-call.md)\n- [Automatic call with an audio file](..\u002Foutbound\u002Fauto-call-audio.md)\n- [Call statistics](.\u002Fstatistics.md)\n- [Telephony — overview](\u002Fdocs\u002Ftelephony)\n","2026-09-24",{},1794739610040]