Отправить заявку
Присоединяйтесь в пару кликов — бесплатный доступ к Dashboard навсегда.

Документация

Разработчикам

Введение

API LeeCyber позволяет вам управлять ресурсами в облаке программным способом с использованием обычных HTTP-запросов. Множество функций, которые доступны в Dashboard, также доступны через API, что позволяет вам автоматизировать ваши собственные сценарии. В этой документации сперва будет описан общий дизайн и принципы работы API, а после этого конкретные конечные точки. Также будут приведены примеры запросов к ним.

Запросы

Запросы должны выполняться по протоколуHTTPS, чтобы гарантировать шифрование транзакций. Поддерживаются следующие методы запроса:
МетодПримечание
GETИзвлекает данные о коллекциях и отдельных ресурсах.
POSTДля коллекций создает новый ресурс этого типа. Также используется для выполнения действий с конкретным ресурсом.
PUTОбновляет существующий ресурс.
PATCHНекоторые ресурсы поддерживают частичное обновление, то есть обновление только части атрибутов ресурса, в этом случае вместо метода PUT будет использован PATCH.
DELETEУдаляет ресурс.
Методы POST, PUT и PATCH могут включать объект в тело запроса с типом содержимого application/json.

Параметры в запросах

Некоторые коллекции поддерживают пагинацию, поиск или сортировку в запросах. В параметрах запроса требуется передать:
  • limit — обозначает количество записей, которое необходимо вернуть
  • offset — указывает на смещение, относительно начала списка
  • search — позволяет указать набор символов для поиска
  • sort — можно задать правило сортировки коллекции

Ответы

Запросы вернут один из следующих кодов состояния ответа HTTP:

СтатусОписание
200 OKДействие с ресурсом было выполнено успешно.
201 CreatedРесурс был успешно создан. При этом ресурс может быть как уже готовым к использованию, так и находиться в процессе запуска.
204 No ContentДействие с ресурсом было выполнено успешно, и ответ не содержит дополнительной информации в теле.
400 Bad RequestБыл отправлен неверный запрос, например, в нем отсутствуют обязательные параметры и т. д. Тело ответа будет содержать дополнительную информацию об ошибке.
401 UnauthorizedОшибка аутентификации.
402 Payment requiredДоступ к запрашиваемому ресурсу ограничен до момента получения оплаты.
403 ForbiddenАутентификация прошла успешно, но недостаточно прав для выполнения действия.
404 Not FoundЗапрашиваемый ресурс не найден.
409 ConflictЗапрос конфликтует с текущим состоянием.
423 LockedРесурс из запроса заблокирован от применения к нему указанного метода.
429 Too Many RequestsБыл достигнут лимит по количеству запросов в единицу времени.

Ограничение скорости запросов (Rate Limiting)

Чтобы обеспечить стабильность для всех пользователей, LeeCyber защищает API от всплесков входящего трафика, анализируя количество запросов c каждого аккаунта к каждой конечной точке
Тип эндпоинтаЛимит запросовОкно времени
Аутентификация5 запросов1 минута
Регистрация3 запроса1 минута
Сброс пароля3 запроса5 минут
Загрузка файлов10 запросов1 минута
Большие загрузки файлов5 запросов5 минут
AI запросы20 запросов1 минута
Облачные операции30 запросов1 минута
По умолчанию100 запросов1 минута
Если ваше приложение отправляет более 100 запросов в минуту на одну конечную точку, то для этого запроса API может вернуть код состояния HTTP 429 Too Many Requests.

Аутентификация

Доступ к API осуществляется с помощью JWT-токена.
Токен необходимо передавать в заголовке каждого запроса в формате:
TEXT
Authorization: Bearer $LEECYBER_TOKEN

Чтобы использовать приведенные примеры, не подставляя каждый раз в них свой токен, вы можете добавить токен один раз в переменные окружения в вашей консоли. Например, на Linux это можно сделать с помощью команды:

TEXT
LEECYBER_TOKEN="token"

После этого токен будет автоматически подставляться в ваши запросы.

Обратите внимание, что все значения в этой документации являются примерами. Не полагайтесь на идентификаторы операционных систем, тарифов и т.д., используемые в примерах. Используйте соответствующую конечную точку для получения значений перед созданием ресурсов.

Версионирование

API построено согласно принципам семантического версионирования. Это значит, что мы гарантируем обратную совместимость всех изменений в пределах одной мажорной версии. Мажорная версия каждой конечной точки обозначается в пути запроса, например, запрос /v2/user указывает, что этот метод имеет версию 2.

Отправка запросов

Отправляйте запросы на api.leecyber.com, с указанием мажорной версии конечной точки запроса.
TEXT
Пример: https://api.leecyber.com/v2/user/auth

Валидация запросов

Все запросы к api.leecyber.com проходят строгую валидацию, если поля были заполнены некорректно, может вернуться следующая ошибка:
JSON
{ "status": "Error", "msg": "Validation failed", "errors": [ "Field 'email' is required", "Field 'phone' has invalid format" ] }

Ответ с ошибкой

JSON
{ "status": "Error", "msg": "Описание ошибки", "errors": ["Детали ошибки"] }

Успешный ответ

JSON
{ "status": "OK", "data": { ... } }