VK Cloud REST API API

Отрасль: Облака и хостинг. Актуально на 2026-10-24.

REST API облачной платформы VK Cloud: сервисы облачных серверов построены на OpenStack (Nova — виртуальные машины, Cinder — диски и снапшоты, Glance — образы, Manila — файловые хранилища) и дополнены сервисом резервного копирования Karboii. Доступ к API включается в настройках проекта; запросы авторизуются токеном Keystone. В этом файле — получение токена и адреса сервисов; методы самих сервисов описаны в спецификациях OpenStack.

Сценарии

Получить токен и управлять серверами через OpenStack API

Автоматизировать облачную инфраструктуру VK Cloud: получить токен Keystone и вызывать API виртуальных машин, дисков и образов.

  1. Включи доступ к API в настройках проекта VK Cloud (раздел «Доступ по API») и возьми значения OS_USER_DOMAIN_NAME, OS_USERNAME, OS_PROJECT_ID и OS_REGION_NAME.
  2. Получи токен: POST /v3/auth/tokens на хосте infra.mail.ru:5000 с логином, паролем и проектом в теле. Токен приходит не в теле, а в заголовке ответа x-subject-token.
  3. Передавай токен в заголовке X-Auth-Token в запросах к сервисам: Nova (виртуальные машины) — https://infra.mail.ru:8774/v2.1, Cinder (диски) — https://public.infra.mail.ru:8776/v3/, Glance (образы) — https://infra.mail.ru:9292.
  4. Методы самих сервисов — стандартные OpenStack API: например, список серверов — /servers/detail у Nova. Ориентируйся на спецификации OpenStack соответствующей версии.
  5. Токен живёт ограниченное время — при ответе 401 получи новый.
TOKEN=$(curl -si -X POST https://infra.mail.ru:5000/v3/auth/tokens \
  -H 'Content-Type: application/json' \
  -d '{"auth": {
        "identity": {"methods": ["password"], "password": {"user": {
          "domain": {"name": "<OS_USER_DOMAIN_NAME>"}, "name": "<OS_USERNAME>", "password": "<OS_PASSWORD>"}}},
        "scope": {"project": {"id": "<OS_PROJECT_ID>", "region": "<OS_REGION_NAME>"}}}}' \
  | grep -i '^x-subject-token' | cut -d' ' -f2 | tr -d '\r')

# Список виртуальных машин (Nova)
curl https://infra.mail.ru:8774/v2.1/servers/detail -H "X-Auth-Token: $TOKEN"

Базовые URL

Авторизация

Тип: Другое

Токен Keystone получают запросом POST /v3/auth/tokens с логином и паролем пользователя; токен возвращается в заголовке ответа x-subject-token. Доступ к API должен быть включён в настройках проекта.

Методы

POST /v3/auth/tokens — Получение токена Keystone

Хост infra.mail.ru:5000, заголовок Content-Type: application/json.

Токен — в заголовке ответа x-subject-token.

Параметр Где Тип Обяз. Описание
auth.identity.methods body array да ["password"]
auth.identity.password.user.domain.name body string да Домен пользователя (OS_USER_DOMAIN_NAME)
auth.identity.password.user.name body string да Имя пользователя (OS_USERNAME)
auth.identity.password.user.password body string да Пароль (OS_PASSWORD)
auth.scope.project.id body string да ID проекта (OS_PROJECT_ID)
auth.scope.project.region body string да Регион (OS_REGION_NAME)

Пример запроса:

{
  "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "domain": { "name": "<OS_USER_DOMAIN_NAME>" },
          "name": "<OS_USERNAME>",
          "password": "<OS_PASSWORD>"
        }
      }
    },
    "scope": {
      "project": {
        "id": "<OS_PROJECT_ID>",
        "region": "<OS_REGION_NAME>"
      }
    }
  }
}

Нюансы

Источники


Если этого недостаточно — официальная документация: https://cloud.vk.ru/docs/en/tools-for-using-services/api/rest-api JSON: https://mcp-everything.ru/api/integrations/vk-cloud. MCP: https://mcp-everything.ru/mcp