#Список рантаймов

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 — личный ключ

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.tech/v1/infra/runtimes

#curl — OAuth-приложение

Terminal
curl -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  https://vibecode.bitrix24.tech/v1/infra/runtimes

#JavaScript — личный ключ

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-приложение

javascript
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 Оценочное время установки в секундах

#Пример ответа

JSON
{
  "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-ключ:

JSON
{
  "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`.

#Смотрите также