#Список серверов

GET /v1/infra/servers

Возвращает все серверы, созданные от имени текущего API-ключа. Удалённые серверы (status: "deleted") в выдачу не попадают. Серверы других ключей — даже в том же портале — не видны; для просмотра всех серверов портала используйте панель администратора в UI.

#Примеры

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

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

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

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

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/infra/servers', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data: servers } = await res.json()

servers.forEach(s => {
  const ready = s.status === 'running' && s.blackholeStatus === 'CONNECTED'
  console.log(`${s.name}: ${ready ? '✓ готов' : s.status} — ${s.appUrl}`)
})

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/infra/servers', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data: servers } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив серверов. Каждый элемент — такой же объект, как у `GET /v1/infra/servers/:id`, за исключением SSH-полей: ssh.password и ssh.privateKey в списке не отдаются
data[].id string (UUID) ID сервера
data[].status string Текущий статус: provisioning, running, sleeping, error (список удалённых не возвращается)
data[].provider string ID провайдера
data[].name string Имя сервера
data[].ip string | null Публичный IP (может быть null пока провижининг)
data[].ssh object | null Блок SSH-данных: { user, port, hasPassword }. Поля password и privateKey в списке не присутствуют
data[].plan string Тариф
data[].region string Регион, в который сервер попал реально (может отличаться от запрошенного после зон-фолбэка)
data[].image string Образ ОС
data[].monthlyCost string Месячная стоимость, строкой: "1200" или "1200.00". Сравнивайте с Number(s.monthlyCost)
data[].mode string BLACKHOLE или OPEN
data[].createdVia string api или ui
data[].subdomain string Субдомен для приложения
data[].blackholeStatus string Состояние туннеля: NONE, WAITING, CONNECTED, DISCONNECTED
data[].accessPolicy string Политика доступа: OWNER_ONLY, NAMED_USERS, DEPARTMENT, PORTAL, AUTHENTICATED, PUBLIC
data[].runtimeId string | null ID рантайма установленного через POST /:id/deploy (создание сервера всегда даёт null).
data[].runtimeStatus string | null Статус рантайма из последнего deploy: null (свежий сервер), installing, ready, или error. Создание сервера всегда даёт null — рантайм ставится через POST /:id/deploy.
data[].appUrl string | null HTTPS-адрес приложения
data[].createdAt string (ISO 8601) Момент создания

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

JSON
{
  "success": true,
  "data": [
    {
      "id": "e765edfc-ba0a-43de-b8ea-838dd872c522",
      "status": "running",
      "provider": "bitrix-cloud",
      "name": "vibe-server-pd9l",
      "ip": "111.88.251.211",
      "ssh": {
        "user": "ubuntu",
        "port": 22,
        "hasPassword": true
      },
      "plan": "bc-small",
      "region": "ru-central1-a",
      "image": "fd80bm0rh4rkepi5ksdi",
      "monthlyCost": "1200",
      "mode": "OPEN",
      "createdVia": "ui",
      "subdomain": "app-05b67cf7",
      "blackholeStatus": "CONNECTED",
      "accessPolicy": "OWNER_ONLY",
      "runtimeId": null,
      "runtimeStatus": null,
      "appUrl": "https://app-05b67cf7.vibecode.bitrix24.tech",
      "createdAt": "2026-04-03T13:30:25.819Z"
    }
  ]
}

#Пример ответа при ошибке

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 — Ошибки.

#Известные особенности

  • Даже администратор портала видит только свои серверы. Для портальной картины используйте UI в панели администратора — ограничение по API-ключу жёсткое.
  • Серверы порталов, помеченных удалёнными в Битрикс24, автоматически скрываются. Платформа ежедневно проверяет доступность порталов: если портал отвечает 410/403 три дня подряд, он помечается как удалённый и его серверы перестают отображаться.
  • Ответ не пагинируется — лимит 3 сервера на ключ делает пагинацию ненужной.

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