https://api.core.aegislab.top/v1OpenAPI JSON ↗
AEGISLAB DEVELOPER PLATFORM

Один API для Core и твоих проектов.

Проверяй лицензии, получай список продуктов, активируй AegisCore и раздавай подписанные обновления через единый защищённый API.

PRODUCTION ENDPOINT
GET /v1/health

{
  "ok": true,
  "service": "AegisLab Core API",
  "version": "v1"
}
TLS · Ed25519 runtime tokens · SHA-256 key storage
01 / QUICK START

Быстрый старт

Для собственных backend-проектов создай API ключ в панели. Секрет показывается один раз и хранится на сервере проекта, а не в браузере или клиентском JavaScript.

01Создай ключ

Открой cpanel → API ключи → выбери нужные scopes.

02Сохрани секрет

Например, в переменной окружения AEGIS_API_KEY.

03Отправляй запросы

Передавай ключ в Authorization: Bearer.

curl https://api.core.aegislab.top/v1/health
02 / AUTHENTICATION

Авторизация

Developer endpoints используют ключи вида aegis_live_.... Ключи хранятся в базе только как SHA-256 hash. Для каждого ключа задаются отдельные права.

SCOPEНАЗНАЧЕНИЕ
licenses.verifyПроверка лицензии конкретного AegisLab-продукта.
projects.readЧтение списка активных проектов/продуктов.
Важно: Developer API key нельзя вшивать в публичный сайт, Minecraft-клиент, мобильное приложение или распространяемый бинарник. Запросы с ним должны идти с твоего backend.
03 / LICENSES

Проверка лицензии

POST/v1/licenses/verifyscope: licenses.verify

Проверяет ключ лицензии и доступ к конкретному продукту.

  • licenseKey — ключ AEGIS-...
  • product — slug продукта, например aegis-core
  • HTTP 200 возвращается и для valid=false — это результат проверки, а не ошибка API.
curl -X POST https://api.core.aegislab.top/v1/licenses/verify \
  -H "Authorization: Bearer aegis_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "licenseKey": "AEGIS-XXXX-XXXX-XXXX-XXXX",
    "product": "aegis-core"
  }'

{
  "valid": true,
  "reason": "active",
  "license": {
    "id": "lic_...",
    "status": "active",
    "product": "aegis-core",
    "expiresAt": null
  }
}
04 / PROJECTS

Каталог проектов

GET/v1/projectsscope: projects.read

Возвращает активные продукты из панели AegisLab. Slug из этого ответа используется в проверке лицензий.

curl https://api.core.aegislab.top/v1/projects \
  -H "Authorization: Bearer aegis_live_xxxxx"
05 / AEGISCORE RUNTIME

AegisCore endpoints

Эти методы используются самим Minecraft-плагином. Developer API key для них не нужен: активация идёт по licenseKey + server identity, после чего API выдаёт короткоживущий подписанный runtime token.

POST/v1/activateAegisCore

Первая активация привязывает mode к fingerprint сервера. Последующие вызовы работают как heartbeat и обновляют онлайн, версии и список установленных Aegis-модулей.

curl -X POST https://api.core.aegislab.top/v1/activate \
  -H "Content-Type: application/json" \
  -d '{
    "licenseKey": "AEGIS-...",
    "serverName": "Grief-1",
    "publicKey": "...",
    "minecraftVersion": "1.16.5",
    "coreVersion": "0.1.1",
    "channel": "stable",
    "serverPort": 25565,
    "onlinePlayers": 42,
    "maxPlayers": 250,
    "aegisModules": []
  }'
GET/v1/manifest/{channel}stable · beta · dev

Возвращает список опубликованных релизов и Ed25519-подписанный manifest token.

curl https://api.core.aegislab.top/v1/manifest/stable
GET/v1/releases/{id}/downloadruntime Bearer token

Скачивает только опубликованный JAR, который входит в products текущей лицензии.

curl https://api.core.aegislab.top/v1/releases/rel_xxx/download \
  -H "Authorization: Bearer eyJ..." \
  -o AegisPlugin.jar
06 / ERRORS

Коды ошибок

HTTPКОГДА
400Неверный JSON или обязательные поля.
401API key / runtime token отсутствует или недействителен.
403Нет scope, лицензия отклонена или продукт недоступен.
404Endpoint, релиз или объект не найден.
409AegisCore пытается активировать лицензию с другим server fingerprint.