Перейти до основного вмісту

Огляд API

fibe.gg API — це RESTful JSON API, що надає програмний доступ до всіх ресурсів платформи. Використовуйте його для автоматизації створення середовищ, інтеграції з CI/CD пайплайнами або побудови власних інструментів.

Базовий URL:

https://fibe.gg/api

Автентифікація

API підтримує два методи автентифікації:

Bearer Token (API-ключ)

Рекомендований метод для програмного доступу. Додайте ваш API-ключ у заголовок Authorization:

curl -H "Authorization: Bearer YOUR_API_KEY" \
https://fibe.gg/api/playrooms

На основі сесії

Якщо ви вже авторизовані у веб-інтерфейсі, API приймає ваш cookie сесії. Це корисно переважно для дослідження API через браузер.

API-ключі

Генерація ключів

Ви можете згенерувати API-ключі з:

  • Веб-інтерфейсу — Перейдіть до профілю → API Keys
  • APIPOST /api/keys

Кожен ключ включає:

ПолеОпис
LabelЗрозуміла назва для ключа
Client IDПублічний ідентифікатор у форматі pk_live_*
TokenСекретний токен (показується тільки один раз при створенні)
ScopesДозволи, надані цьому ключу
Expires AtНеобовʼязкова дата закінчення
Безпека токену

API-токен показується тільки один раз при створенні ключа. Зберігайте його надійно. Якщо втрачено, видаліть ключ та створіть новий.

Скоупи

Кожен API-ключ має один або кілька скоупів, що контролюють до яких ресурсів та дій він має доступ:

СкоупОпис
playrooms:readПерегляд Playroom
playrooms:writeСтворення та оновлення Playroom
playrooms:deleteВидалення Playroom
playrooms:manageПовне керування Playroom (включає read, write, delete + операції з SSH-ключами)
playzones:readПерегляд Playzone
playzones:writeСтворення, оновлення, підключення та синхронізація Playzone
playzones:deleteВидалення Playzone
playspecs:readПерегляд Playspec
playspecs:writeСтворення та оновлення Playspec (включаючи монтовані файли та облікові дані реєстрів)
playspecs:deleteВидалення Playspec
playgrounds:readПерегляд Playground (включаючи логи, compose, метадані змінних)
playgrounds:writeСтворення, пересоздання та продовження Playground
playgrounds:deleteЗнищення Playground
import_templates:readПерегляд імпорт-шаблонів
import_templates:writeСтворення та оновлення імпорт-шаблонів
launch:writeВикористання Launch ендпоінту
keys:manageСтворення та видалення API-ключів

Термін дії ключів

Ключі можуть мати необовʼязкову дату закінчення. Прострочені ключі автоматично відхиляються. Ключі без дати закінчення залишаються дійсними до явного видалення.

Обробка помилок

Всі відповіді з помилками мають однаковий формат:

{
"error": {
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"details": {
"name": ["can't be blank"]
}
}
}

Коди помилок

HTTP-статусКод помилкиОпис
400BAD_REQUESTВідсутні або невалідні параметри
401UNAUTHORIZEDНеобхідна автентифікація або вона не вдалася
403FORBIDDENНедостатньо дозволів або порушення скоупу
404RESOURCE_NOT_FOUNDЗапитаний ресурс не існує
409CONFLICTКонфлікт стану ресурсу (напр., видалення Playroom з активними Playground)
422VALIDATION_FAILEDТіло запиту не пройшло валідацію
422LOCKEDРесурс заблокований і не може бути змінений
422INVALID_STATEОперація не валідна для поточного стану ресурсу
422QUOTA_EXCEEDEDДосягнуто ліміт ресурсів акаунту

Тестування у браузері

Оскільки API підтримує автентифікацію на основі сесії, ви можете тестувати ендпоінти прямо у браузері, будучи авторизованим. Просто перейдіть за URL API, наприклад:

https://fibe.gg/api/playrooms

Відповідь буде у форматі JSON. Використовуйте інструменти розробника браузера або утиліту jq для форматування.

Пагінація

Поточний API повертає повні набори результатів без пагінації. Для великих колекцій фільтруйте результати за допомогою параметрів запиту конкретних ендпоінтів.