Перейти к содержимому
EN RU

MMW Cloud предоставляет интерфейс REST API для автоматизации управления файлами и мониторинга квоты хранилища.

Базовый адрес API:

https://api.mmwcloud.tech/v1

Каждый запрос к API должен содержать заголовок авторизации с действующим персональным ключом:

Authorization: Bearer mmwc_<prefix>_<secret>

Ответы API сопровождаются диагностическим заголовком X-Request-ID для отслеживания запросов в журналах.

Для программного доступа используются персональные ключи:

  • Создание ключа: откройте вкладку «Профиль» в кабинете https://app.mmwcloud.tech, найдите блок «Ключи API», введите имя ключа, выберите необходимые права доступа и задайте срок действия.
  • Формат ключа: mmwc_<prefix>_<secret>. Префикс состоит из 16 шестнадцатеричных символов, секретная часть содержит 43 символа.
  • Безопасность секрета: полное значение ключа показывается только один раз сразу после генерации. На сервере сохраняется исключительно хеш SHA-256 от секрета. При утере секретной части ключ необходимо отозвать и создать новый.
  • Лимит ключей: на одном аккаунте допускается до 10 действующих ключей одновременно. Истекшие по сроку и отозванные ключи не учитываются в этом лимите.
  • Отзыв ключа: отозвать ключ можно в любой момент кнопкой «Отозвать» в списке ключей профиля.

При генерации ключа задается набор разрешенных операций:

ПравоРазрешенные действия
files:readПросмотр списка файлов, чтение метаданных, получение ссылки на скачивание, чтение квоты.
files:writeЗапрос тикета на загрузку файла и подтверждение завершения загрузки.
files:deleteМягкое удаление файлов из хранилища.
quota:readПросмотр текущего объема использованного дискового пространства и общего лимита квоты.

Для защиты инфраструктуры к эндпоинтам метаданных применяется ограничение:

  • Лимит: 120 запросов в минуту на каждый ключ API.
  • Превышение лимита: сервер возвращает статус HTTP 429 с кодом ошибки rate_limit_exceeded.
  • Заголовок Retry-After: указывает количество секунд, через которое можно повторить запрос.
  • Информационные заголовки: ответы содержат заголовки RateLimit-Limit, RateLimit-Remaining и RateLimit-Reset.