# VK Cloud REST 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>"
      }
    }
  }
}
```

## Базовые URL

- Keystone (токены): `https://infra.mail.ru:5000`
- Nova (виртуальные машины): `https://infra.mail.ru:8774/v2.1`
- Cinder (диски и снапшоты): `https://public.infra.mail.ru:8776/v3/<project_id>`
- Glance (образы ВМ): `https://infra.mail.ru:9292`
- Karboii (резервные копии ВМ и БД): `https://mcs.mail.ru/infra/karboii/v1`
- Manila (файловые хранилища): `https://public.infra.mail.ru:8786/v2/<project_id>`
- Адреса: `<project_id>`

## Авторизация

Тип: Другое

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

## Нюансы

- Значения `OS_*` берутся из настроек проекта (раздел «Доступ по API»).
- Срок жизни токена виден в консоли при наведении на значок копирования; на открытой странице доступа по API токен перевыпускается автоматически раз в час.
- Есть отдельные OpenAPI-спецификации для Anycast IP, сервисных аккаунтов, CDN, Cloud Backup и Billing (баланс проекта).
- Для форматирования JSON-ответов в примерах документации используется утилита `jq`.

## Сценарии с этим методом

- [Получить токен и управлять серверами через OpenStack API](https://mcp-everything.ru/integrations/vk-cloud/scenarios/poluchit-token-i-upravlyat-serverami.md)

---

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