Skip to content

API для студий ​

С API ваши скрипты и CI сами загружают моды, выпускают версии и выдают доступ игрокам — без ручной работы в кабинете.

Ключ ​

Ключ создаёт владелец студии: кабинет → API-ключи. Ключ показывается один раз, храните его как пароль. Дайте ключу только нужные права:

ПравоЧто можно
builds:readчитать сборки, версии и доступы
builds:writeсоздавать и менять версии
files:writeзагружать моды и файлы
licenses:writeвыдавать и отзывать доступ игрокам

Ключ действует от имени того, кто его создал, и в пределах его роли в студии. Удалять сборки, менять цены и управлять командой через API нельзя. Все действия ключа видны в журнале студии.

Каждый запрос отправляйте с заголовком:

Authorization: Bearer rp_live_…

Адрес API: https://app.rift.plus/v1/partner.

Сборки и версии ​

bash
# Ваши сборки
curl -H "Authorization: Bearer $RIFT_KEY" https://app.rift.plus/v1/partner/builds

# Версии сборки
curl -H "Authorization: Bearer $RIFT_KEY" https://app.rift.plus/v1/partner/builds/<id>/versions

Загрузить мод или файл ​

Файл отправляется телом запроса как есть.

bash
# Мод — попадёт в mods/, будет защищён
curl -X POST -H "Authorization: Bearer $RIFT_KEY" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @build/libs/mymod-1.2.0.jar \
  "https://app.rift.plus/v1/partner/files?filename=mymod-1.2.0.jar"

# Файл по пути в сборке (конфиг, скрипт)
curl -X POST -H "Authorization: Bearer $RIFT_KEY" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @config/mymod.toml \
  "https://app.rift.plus/v1/partner/files?path=config/mymod.toml"

В ответе будут url и sha1 — их вы укажете в версии. Размер файла — до 80 МБ.

Выпустить версию ​

bash
curl -X POST -H "Authorization: Bearer $RIFT_KEY" -H "Content-Type: application/json" \
  https://app.rift.plus/v1/partner/builds/<id>/versions -d '{
    "name": "1.2.0",
    "mcVersion": "1.21.1",
    "loader": "NEOFORGE",
    "loaderVersion": "21.1.251",
    "changelog": "Новые данжи",
    "files": [
      { "path": "mods/mymod-1.2.0.jar", "url": "<url из ответа загрузки>", "sha1": "<sha1>" }
    ]
  }'

Изменить версию: PATCH /v1/partner/versions/<id> с любыми из этих полей.

В версии можно указывать только свои загруженные файлы и файлы с Modrinth / CurseForge.

Доступ игрокам ​

bash
# Кто имеет доступ
curl -H "Authorization: Bearer $RIFT_KEY" https://app.rift.plus/v1/partner/builds/<id>/licenses

# Выдать: навсегда, на дни или на часы игры
curl -X POST -H "Authorization: Bearer $RIFT_KEY" -H "Content-Type: application/json" \
  https://app.rift.plus/v1/partner/builds/<id>/licenses \
  -d '{ "players": "nick1, nick2", "permanent": true, "note": "бета-тест" }'

# Отозвать
curl -X DELETE -H "Authorization: Bearer $RIFT_KEY" https://app.rift.plus/v1/partner/licenses/<licenseId>

Ошибки ​

КодЧто значит
401нет ключа, ключ неверный или отозван
403ключу не хватает права, это не ваша сборка или не ваш файл
400в запросе чего-то не хватает — текст в поле error
429слишком много запросов — подождите минуту