Selectel API: Создать облачный проект и выделить публичные IP

Сценарий из mcp-everything. Актуально на 2026-10-24.

Отдельный проект под клиента или окружение — с квотами и внешними адресами.

  1. Создай проект: POST /vpc/resell/v2/projects с project.name. Список проектов — GET /vpc/resell/v2/projects, проект с квотами — GET /vpc/resell/v2/projects/{project_id}.
  2. Выдели публичные IP: POST /vpc/resell/v2/floatingips/projects/{project_id} с floatingips — количеством (quantity) и регионом (region).
  3. Сами серверы, диски и сети в проекте создаются через OpenStack API с токеном проекта.
PROJECT=$(curl -s -X POST https://api.selectel.ru/vpc/resell/v2/projects \
  -H "X-Auth-Token: $TOKEN" -H 'Content-Type: application/json' \
  -d '{"project": {"name": "client-1042"}}' | jq -r .project.id)

curl -X POST "https://api.selectel.ru/vpc/resell/v2/floatingips/projects/$PROJECT" \
  -H "X-Auth-Token: $TOKEN" -H 'Content-Type: application/json' \
  -d '{"floatingips": [{"quantity": 1, "region": "ru-9"}]}'

Базовые URL

Авторизация

Тип: Другое

Для рабочих интеграций документация рекомендует сервисных пользователей.

Методы сценария

GET /vpc/resell/v2/projects — Список проектов

Параметр Где Тип Обяз. Описание
X-Auth-Token header string да IAM-токен аккаунта
all query boolean нет Все проекты аккаунта (нужна роль iam.admin)

POST /vpc/resell/v2/projects — Создание проекта

Параметр Где Тип Обяз. Описание
project.name body string да Имя, 1–64 символа
project.description body string нет Описание, до 255 символов
project.skip_quotas_init body boolean нет Не инициализировать квоты

GET /vpc/resell/v2/projects/{project_id} — Проект и его квоты

Параметр Где Тип Обяз. Описание
project_id path string да ID проекта
exclude_quotas query boolean нет Не возвращать квоты (по умолчанию false)

POST /vpc/resell/v2/floatingips/projects/{project_id} — Добавление публичных IP в проект

Параметр Где Тип Обяз. Описание
project_id path string да ID проекта
floatingips[].quantity body integer да Количество
floatingips[].region body string да Регион (пул)
floatingips[].ips body string нет Конкретные адреса

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://docs.selectel.ru/api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/selectel.md