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

Templates API

Керування імпорт-шаблонами — багаторазовими, версіонованими блюпринтами середовищ, якими можна ділитися через Stargate або My Fleet.

Ендпоінти

МетодШляхСкоупОпис
GET/api/import_templatesimport_templates:readСписок всіх шаблонів
GET/api/import_templates/search?query=railsimport_templates:readПошук шаблонів
GET/api/import_templates/:idimport_templates:readОтримати один шаблон
POST/api/import_templatesimport_templates:writeСтворити новий шаблон
PATCH/api/import_templates/:idimport_templates:writeОновити метадані шаблону
DELETE/api/import_templates/:idimport_templates:writeВидалити шаблон
GET/api/import_templates/:id/versionsimport_templates:readСписок версій шаблону
POST/api/import_templates/:id/create_versionimport_templates:writeСтворити нову версію
DELETE/api/import_templates/:id/destroy_versionimport_templates:writeВидалити версію
PATCH/api/import_templates/:id/toggle_publicimport_templates:writeПеремкнути публічну видимість версії

Список шаблонів

GET /api/import_templates

Пошук шаблонів

GET /api/import_templates/search?query=rails

Повнотекстовий пошук за назвами та описами шаблонів. Повертає до 10 результатів з нечітким збігом.


Категорії

Категорії шаблонів керуються адміністраторами платформи. Ви можете переглядати всі доступні категорії для використання при створенні або пошуку шаблонів, але не можете створювати, оновлювати або видаляти категорії через API.

Для запиту нової категорії зверніться на support@fibe.gg.

GET /api/template_categories

Необхідний скоуп: import_templates:read

Відповідь:

[
{ "id": 1, "name": "Web Frameworks", "slug": "web-frameworks" },
{ "id": 2, "name": "Databases", "slug": "databases" },
{ "id": 3, "name": "Full-Stack Starters", "slug": "full-stack-starters" }
]

Використовуйте отриманий id як category_id при створенні або оновленні шаблонів.


Створити шаблон

POST /api/import_templates

Тіло запиту:

{
"import_template": {
"name": "Rails + PostgreSQL",
"description": "Full-stack Rails application with PostgreSQL database",
"category_id": 1
}
}

Створити версію

POST /api/import_templates/:id/create_version

Тіло запиту:

{
"template_body": "fibe.gg:\n variables:\n app_name:\n name: \"Application Name\"\n validation: \"/^[a-z][a-z0-9-]{2,30}$/\"\n\nservices:\n web:\n build: .\n ports:\n - \"3000:3000\"\n environment:\n APP_NAME: $$var__app_name\n db:\n image: postgres:16",
"public": true
}

Версії незмінні — після створення template_body не може бути змінене. Номер версії присвоюється автоматично послідовно.

Валідація змінних

Платформа перевіряє, що всі посилання $$var__NAME та $$random__NAME у тілі шаблону оголошені в секції fibe.gg > variables, і навпаки. Неоголошені або невикористані змінні спричинять помилку валідації.


Перемкнути публічність

PATCH /api/import_templates/:id/toggle_public

Перемикає прапорець public версії. Публічні версії видимі у Stargate для всіх користувачів.

Параметри:

ПараметрТипОпис
version_idintegerВерсія для перемикання

Видалити версію

DELETE /api/import_templates/:id/destroy_version

Параметри:

ПараметрТипОпис
version_idintegerВерсія для видалення

Видалення версії не впливає на Playspec або Playground, які вже були створені з неї.