Список провайдеров

GET /v1/infra/providers

Возвращает список облачных провайдеров, на которых можно создавать серверы. Поле available показывает, настроены ли у платформы учётные данные для провайдера и готов ли он создавать новые виртуальные машины (VM).

Примеры

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

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

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

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

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/infra/providers', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
const active = data.filter(p => p.available)
console.log('Доступные провайдеры:', active.map(p => p.id))

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

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив провайдеров
data[].id string ID провайдера для передачи в provider при создании сервера (например bitrix-cloud)
data[].name string Название для отображения пользователю
data[].available boolean true, если провайдер сконфигурирован на платформе и готов создавать серверы. false — создание закончится ошибкой NO_CREDENTIALS

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

JSON
{
  "success": true,
  "data": [
    {
      "id": "bitrix-cloud",
      "name": "Bitrix Cloud",
      "available": true
    }
  ]
}

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

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-ключ
403 SCOPE_DENIED У ключа нет скоупа vibe:infra (добавляется автоматически — сообщите в feedback если встретили)
429 RATE_LIMITED Превышен общий лимит запросов платформы

Полный список общих ошибок API — Ошибки.

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

  • Ответ не пагинируется — список небольшой, возвращается целиком.

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

Тарифы провайдера

GET /v1/infra/providers/:providerId/plans

Возвращает список тарифов провайдера с характеристиками (CPU, RAM, диск, цена за работу и за сон). Значение id используется как параметр plan при создании сервера.

Параметры

Параметр В Тип Обяз. Описание
providerId path string да ID провайдера из `GET /v1/infra/providers`, например bitrix-cloud

Примеры

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

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.tech/v1/infra/providers/bitrix-cloud/plans

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

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

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

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/infra/providers/bitrix-cloud/plans',
  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } }
)
const { data: plans } = await res.json()
plans.forEach(p => console.log(
  `${p.id}: ${p.cpu}C / ${p.ram}MB / ${p.disk}GB — ${p.priceMonthly}₽/мес`
))

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

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив тарифов
data[].id string ID тарифа, передаётся как plan при создании сервера (bc-small, bc-medium, bc-large, bc-xlarge, bc-micro, bc-agent)
data[].name string Название тарифа с характеристиками для отображения пользователю
data[].cpu number Количество ядер
data[].ram number Оперативная память, МБ
data[].disk number Диск, ГБ
data[].diskType string Тип диска (network-ssd)
data[].bandwidth number Пропускная способность сети, Мбит/с
data[].priceMonthly number Цена за работающий сервер. Валюта зависит от провайдера: для bitrix-cloud — рубли (₽/месяц), для aws — доллары США (USD/месяц). Поля currency в ответе пока нет — ориентируйтесь по providerId
data[].sleepPriceMonthly number Цена за сервер в режиме sleeping. Валюта — как у priceMonthly: bitrix-cloud — рубли, aws — доллары США (USD)
data[].description string (Опционально) Доп. описание тарифа, например "Для ботов и агентов" у bc-micro
data[].platformId string (Опционально) Платформа виртуализации провайдера, например standard-v2
data[].coreFraction string (Опционально) Доля CPU — например "5" для 5% загрузки ядра (preemptible-тарифы bc-micro, bc-agent)

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

JSON
{
  "success": true,
  "data": [
    {
      "id": "bc-small",
      "name": "Small (2C / 2GB / 20GB SSD)",
      "cpu": 2,
      "ram": 2048,
      "disk": 20,
      "diskType": "network-ssd",
      "bandwidth": 100,
      "priceMonthly": 1200,
      "sleepPriceMonthly": 180
    },
    {
      "id": "bc-micro",
      "name": "Micro (2C 5% / 4GB / 15GB SSD)",
      "description": "Для ботов и агентов",
      "cpu": 2,
      "ram": 4096,
      "disk": 15,
      "diskType": "network-ssd",
      "bandwidth": 100,
      "priceMonthly": 600,
      "sleepPriceMonthly": 130,
      "platformId": "standard-v2",
      "coreFraction": "5"
    }
  ]
}

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

404 — неизвестный providerId:

JSON
{
  "success": false,
  "error": {
    "code": "NO_CREDENTIALS",
    "message": "No credentials configured for provider nonexistent"
  }
}

Ошибки

HTTP Код Описание
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Неверный или просроченный API-ключ
404 NO_CREDENTIALS Провайдер с таким providerId не сконфигурирован на платформе
429 RATE_LIMITED Превышен общий лимит запросов платформы

Полный список общих ошибок API — Ошибки.

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

  • Тарифы bc-micro (2C 5% / 4GB / 15GB SSD, 600₽/мес) и bc-agent (2C 5% / 2GB / 20GB SSD, 300₽/мес) — вытесняемые (preemptible) с 5% загрузкой ядра. Предназначены для ботов и агентов, где CPU расходуется точечно. Обычные приложения ставьте на bc-small и выше.
  • Следствие вытесняемости. Вытесняемый тариф дешевле, но облако принудительно перезапускает такую машину примерно раз в сутки (с коротким окном недоступности); платформа авто-будит её обратно. Для непрерывных 24/7-нагрузок (демоны, обработчики срочных заявок, всегда-онлайн агенты/боты) выбирайте невытесняемый тариф — bc-small и выше. В ответе каждого тарифа поле preemptible (true = вытесняемый; отсутствует/false = невытесняемый) позволяет отличить их программно.
  • priceMonthly и sleepPriceMonthly отдаются в валюте провайдера: для bitrix-cloud — в рублях, для aws — в долларах США (USD). Поля currency в ответе пока нет — определяйте валюту по providerId запроса.
  • Ответ не пагинируется.

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