# Коды ошибок и ретраи HTTP-коды API, идемпотентность, повторные запросы и обработка «плохих фаз» платформы. ## HTTP-коды | Код | Значение | Что делать | | --- | --- | --- | | 200/201 | Успех | — | | 400 | Некорректный запрос | Проверить тело/параметры по Swagger | | 401 | Ошибка авторизации | Проверить accountId/token ([Аутентификация](/article/api-auth)) | | 403 | Нет прав | Проверить ключ и роль | | 404 | Объект не найден | Проверить ID | | 409/202 | Асинхронная задача ещё выполняется | Повторить запрос позже | | 429 | Rate limit | Экспоненциальный бэкофф | | 500/502/503/504 | Сбой платформы | Ретрай с бэкоффом | ## Ретраи Ретраить безопасно: **GET**, а также POST, если вы используете идемпотентный внешний ID (например, `externalId` в платежах). Рекомендуемая схема: - задержки 3с → 10с → 30с → 60с (до 5–7 попыток); - ретраить 429, 500, 502, 503, 504 и таймауты; - не ретраить 400/401/403/404 — это ошибки интеграции. ```js const delays = [3000, 10000, 30000, 60000]; ``` Платформа периодически отвечает 500 «Error processing request» короткими «плохими фазами» — ретраи с бэкоффом переживают большинство из них. ## requestId При обращении в поддержку по проблеме API прикладывайте accountId, метод, код ответа и requestId из заголовков ответа — так инженеры найдут запрос в логах. ## Rate limits При 429 снижайте параллелизм запросов. Массовые операции (много документов) делайте последовательно или используйте batch-методы (lsp/prices/batch, lsp/services/batch).