#Список рантаймов
GET /v1/infra/runtimes
Возвращает список ID готовых рантаймов для передачи в `POST /v1/infra/servers/:id/deploy` (параметр runtime). Рантайм — необязательный параметр: если нужный стек входит в список, передайте его ID и платформа установит пакеты автоматически. Если нет — деплой без runtime полностью рабочий; установите нужное ПО через preStart в теле запроса. На `POST /v1/infra/servers` рантайм НЕ принимается с 2026-04-25 — см. RUNTIME_PARAM_REMOVED. Каждый рантайм — это набор системных пакетов (nodejs, python, nginx, базы данных), устанавливаемых на сервер. Оценочное время установки — 2–4 минуты для базовых, до 4+ минут для комбинаций с несколькими пакетами.
#Примеры
#curl — личный ключ
curl -H "X-Api-Key: YOUR_API_KEY" \
https://vibecode.bitrix24.tech/v1/infra/runtimes
#curl — OAuth-приложение
curl -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
https://vibecode.bitrix24.tech/v1/infra/runtimes
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/infra/runtimes', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data: runtimes } = await res.json()
runtimes.forEach(r => console.log(`${r.id}: ${r.name} (${r.estimatedSetupTime}s)`))
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/infra/runtimes', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
array | Массив рантаймов |
data[].id |
string | ID рантайма, передаётся как runtime при деплое (POST /v1/infra/servers/:id/deploy) |
data[].name |
string | Название для отображения пользователю |
data[].packages |
array<string> | Список пакетов, устанавливаемых на сервер (для справки) |
data[].estimatedSetupTime |
number | Оценочное время установки в секундах |
#Пример ответа
{
"success": true,
"data": [
{
"id": "node20",
"name": "Node.js 20",
"packages": ["nodejs-20", "npm", "pm2"],
"estimatedSetupTime": 120
},
{
"id": "node20-pg",
"name": "Node.js 20 + PostgreSQL",
"packages": ["nodejs-20", "npm", "pm2", "postgresql-14"],
"estimatedSetupTime": 180
},
{
"id": "python311-rag",
"name": "Python 3.11 + RAG (pgvector + Redis)",
"packages": ["python3.11", "pip", "postgresql-14", "pgvector", "redis"],
"estimatedSetupTime": 240
}
]
}
#Пример ответа при ошибке
401 — не передан API-ключ:
{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key required. Pass via X-Api-Key header."
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | INVALID_API_KEY |
Неверный или просроченный API-ключ |
| 429 | RATE_LIMIT_EXCEEDED |
Превышен общий лимит запросов платформы |
Полный список общих ошибок API — Ошибки.
#Известные особенности
- На 2026-04-22 платформа предлагает 15 рантаймов: шесть вариантов Node.js 20 (чистый, с PostgreSQL, MySQL, Redis, комбинации, RAG-стек), пять вариантов Python 3.11 (аналогично), два варианта PHP 8.3 (чистый и с MySQL) и
staticдля SPA-статики. Актуальный снимок всегда — в ответе эндпоинта. - RAG-рантаймы (
node20-rag,python311-rag) — готовая среда для схемы RAG (retrieval-augmented generation — ответ LLM с обогащением контекстом из внешних источников): PostgreSQL с расширением pgvector для векторных представлений и Redis для кэша. Сразу после установки можно подключать LlamaIndex / LangChain. static— рантайм для статических сайтов: готовая nginx-конфигурация, подтягивает файлы из/opt/appи раздаёт на порту 3000. Подходит для сборок React/Vue/Svelte — положитеdist/в архив, укажитеstart: "nginx -g 'daemon off;'"(или просто не передавайтеstart— systemd-юнит для nginx уже внутри рантайма).estimatedSetupTime— оценочное, не гарантированное. Зависит от нагрузки apt-зеркал, скорости сети виртуальной машины, конкретной сборки образа Ubuntu. Закладывайте 2× от указанного при автоматизации.- Если нужного стека нет в списке — используйте
preStart. Сервер — чистая Ubuntu 24.04 с рут-доступом. В полеpreStartдеплоя можно выполнить любыеapt-get install, скачать бинари, настроить окружение. Результат сохраняется между деплоями (кроме директорииextractTo, которую очищаетcleanDeploy: true). Для разовых операций — `POST /exec`.
#Смотрите также
- Создать сервер —
POST /v1/infra/servers(параметрruntimeНЕ принимается с 2026-04-25). - Полный деплой —
runtimeна этапе деплоя (единственный поддерживаемый путь). - Получить сервер — поле
runtimeStatus:installing/ready/error.