Ключ одного продукта работает только с этим продуктом. Для доменов и прокси выпускаются разные ключи. Ключ выдаёт оператор, напиши в @lumisup_robot.
Авторизация
Каждый запрос передаёт ключ в заголовке:Типы ключей
- Reseller: все запросы автоматически ограничены его аккаунтом. Чужой
user_idвернёт404(существование чужих аккаунтов не раскрывается). - Operator: указывает
user_idявно (в теле или?user_id=); для денежных операций это обязательно.
Права (scopes)
Reseller-ключу выдаётся набор прав. Operator-ключ имеет все права неявно.
Недостающее право →
403 forbidden_scope.
Денежные операции
Эндпоинты, которые двигают деньги (создание счёта, покупка, продление), подчиняются дополнительным правилам.Идемпотентность
Каждый денежныйPOST обязан нести заголовок Idempotency-Key (8–200 символов):
- Повтор запроса с тем же ключом вернёт исходный ответ, не выполняя операцию заново.
- Два одновременных одинаковых запроса не выполнятся дважды: проигравший получит
409 in_progress. - Без заголовка →
400 idempotency_key_required.
Дневной лимит трат
У ключа может быть дневной лимит в USD (или общий по умолчанию). По его достижении денежные операции возвращают402 daily_cap_exceeded до начала следующих суток (UTC). Operator-ключи лимиту не подчиняются.
Подпись запросов (опционально)
Если ключ выпущен с требованием подписи, каждый денежный запрос должен нести заголовок:401 invalid_signature.
Лимиты запросов
Bulk-запрос расходует столько денежных «токенов», сколько в нём позиций. При превышении →
429 rate_limited с заголовком Retry-After (секунды).
Пагинация
Списочные эндпоинты используют курсор:limit: 1–200 (по умолчанию 50).- Ответ:
{ "items": [...], "next_cursor": "...", "has_more": true }. Передайnext_cursorвcursorдля следующей страницы.next_cursor: nullозначает, что страниц больше нет.
Массовые операции (bulk)
Bulk-эндпоинты принимают массив и возвращают по-позиционный результат. Операции не атомарны: ошибка одной позиции не откатывает остальные.413 batch_too_large. Долгие bulk-покупки выполняются асинхронно: эндпоинт возвращает 202 с batch_id, статус опрашивается через GET /v1/batches/{batch_id}.
Формат ошибок
Все ошибки приходят единым JSON:Деньги в ответах
Денежные суммы всегда приходят строками ("5.15"), а не числами с плавающей точкой, чтобы не терять точность. Передавай суммы в запросах тоже строками.