> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tronrental.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ошибки

> Коды ошибок API и их обработка

## Формат ошибок

Все ошибки возвращают JSON-ответ с полем `detail`:

```json theme={null}
{
  "detail": "Insufficient balance"
}
```

Некоторые ошибки содержат структурированный `code` для программной обработки:

```json theme={null}
{
  "detail": {
    "error": {
      "code": "INSUFFICIENT_BALANCE",
      "message": "Not enough TRX balance"
    }
  }
}
```

## HTTP-коды статусов

| Код   | Значение                                                   |
| ----- | ---------------------------------------------------------- |
| `200` | Успех                                                      |
| `400` | Некорректный запрос — неверные параметры                   |
| `401` | Не авторизован — отсутствует или недействительный API-ключ |
| `403` | Запрещено — ключ отключён или действие не разрешено        |
| `404` | Не найдено                                                 |
| `409` | Конфликт — дублирующий запрос или конфликт ресурсов        |
| `422` | Ошибка валидации — проверьте тело запроса                  |
| `429` | Превышен лимит запросов                                    |
| `500` | Ошибка сервера                                             |

## Распространённые коды ошибок

| Код                      | Описание                                          |
| ------------------------ | ------------------------------------------------- |
| `INSUFFICIENT_BALANCE`   | Недостаточно средств на балансе для этой операции |
| `ADDRESS_ALREADY_ACTIVE` | Smart Mode уже активен для этого адреса           |
| `ORDER_NOT_FOUND`        | Заказ с указанным ID не существует                |
| `INVALID_ADDRESS`        | Недействительный адрес TRON                       |
| `RATE_LIMITED`           | Слишком много запросов, повторите после паузы     |
| `PASSKEY_REQUIRED`       | Для вывода средств требуется верификация passkey  |
| `2FA_REQUIRED`           | Для вывода средств требуется код 2FA              |

## Стратегия повторных запросов

Для ошибок `429` и `5xx` используйте экспоненциальную задержку:

```python theme={null}
import time
import requests

def api_call_with_retry(url, **kwargs):
    for attempt in range(3):
        resp = requests.get(url, **kwargs)
        if resp.status_code == 429 or resp.status_code >= 500:
            time.sleep(2 ** attempt)
            continue
        return resp
    raise Exception("Max retries exceeded")
```
