Ошибка — HTTP-код и JSON с понятным текстом на русском: { "error": "…" }. У некоторых есть числовой code; при неверных данных — details с полями.
JSON
HTTP/1.1 400 Bad Request
{
"error": "Некорректные данные",
"details": [{ "path": "content", "message": "String must contain at most 4000 character(s)" }]
}Коды HTTP
| Код | Значение |
|---|---|
| 200 / 204 | Успех (204 — без тела) |
| 400 | Неверные данные или действие невозможно; текст в error |
| 401 | Нет токена, токен неверный или истёк |
| 403 | Нет прав: метод недоступен ботам или сайтам, не хватает прав на сервере или в канале |
| 404 | Не найдено — или нет доступа (чтобы не раскрывать, что объект существует) |
| 409 | Конфликт состояния |
| 413 | Файл слишком большой |
| 422 | Файл не прошёл проверку (например, 18+) |
| 429 | Лимит запросов |
| 500 | Ошибка на стороне Voice — повторите позже |
Коды ошибок авторизации
| code | HTTP | Когда |
|---|---|---|
| 40001 | 401 | Неверный токен бота (или его сбросили) |
| 40002 | 401 | Токен Voice ID недействителен или истёк — обновите его через refresh_token |
| 20001 | 403 | Этот метод API недоступен ботам |
| 50001 | 403 | Токену Voice ID не хватает прав (scope) |
Ошибки OAuth2
Метод /api/oauth2/token отвечает по стандарту OAuth: { "error": "invalid_grant", "error_description": "…" } — см. справочник. Ошибки вебхуков — в формате Discord, см. Вебхуки.