Skip to Content
Elido is in closed beta — APIs are stable but rate-limits and quotas may change before GA. Request access →
Помилки

Помилки

Кожна відповідь із помилкою має однакову оболонку:

{ "error": "human-readable message", "code": "machine_readable_code", "request_id": "req_a1b2c3" }

error призначено для логів і людей; code - це те, на чому має базуватися логіка вашого клієнта. request_id має те саме значення, що повертається в заголовку відповіді X-Request-ID - вказуйте його під час створення тікета підтримки.

Коди статусів

СтатусКласПовторити?
400 Bad RequestВалідація / некоректний JSONНі - виправте запит
401 UnauthorizedВідсутні або недійсні облікові даніНі - авторизуйтесь повторно
403 ForbiddenАвтентифіковано, але доступ забороненоНі
404 Not FoundРесурс не існує або ви не маєте доступу до ньогоНі
409 ConflictСлаг зайнятий, невідповідність idempotency-key, колізія станівНі (виправити) або так (оновити стан і спробувати знову)
422 Unprocessable EntityСхема валідна, але семантично неправильноНі
429 Too Many RequestsОбмеження частоти запитів - дивіться заголовок Retry-AfterТак після паузи (backoff)
500 Internal Server ErrorПомилка сервера - вкажіть request_idТак із паузою (backoff)
502 / 503 / 504Тимчасові збої інфраструктуриТак з експоненціальною паузою (backoff)

Поширені коди помилок

КодЗначення
validation_failedОдне або кілька полів не пройшли валідацію схеми
slug_takenЗапитуваний персоналізований слаг уже використовується
link_destination_unsafeЦільова URL-адреса позначена url-scanner як небезпечна
quota_exceededРобоча область досягла м’якого або жорсткого ліміту на посилання або кліки
domain_not_verifiedDNS кастомного домену ще не розповсюдився
idempotency_key_mismatchТой самий ключ, інше корисне навантаження - змініть щось одне
audit_immutableСпроба змінити вже підписаний BAA

Ідемпотентність

Ендпоінти, що змінюють дані, приймають заголовок Idempotency-Key. Той самий ключ + те саме тіло протягом 24 годин повертає оригінальну відповідь (відтворену з кешу). Той самий ключ + інше тіло повертає 409 idempotency_key_mismatch.

curl -X POST https://api.elido.app/v1/links \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "destination_url": "https://example.com" }'

Повторні спроби

Повторюйте лише помилки 429, 5xx та помилки мережі. Використовуйте експоненціальну паузу (backoff) із джитером (наприклад, min(60s, 2^attempt + random(0, 1000ms))). Для помилок 429 віддавайте перевагу значенню Retry-After, якщо воно присутнє.

Офіційні SDK реалізують це автоматично.