Selectel API: Получить IAM-токен сервисного пользователя

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

Первый шаг автоматизации Selectel: токен для API проектов, DNS и облачных ресурсов.

  1. Создай сервисного пользователя в панели управления с нужными ролями — для рабочих интеграций документация рекомендует именно их.
  2. Получи токен: POST /identity/v3/auth/tokens на cloud.api.selcloud.ru с методом password — имя сервисного пользователя, ID аккаунта как domain и пароль. scope = domain даёт токен аккаунта, scope = project — токен проекта.
  3. Токен приходит в заголовке ответа X-Subject-Token с кодом 201 и живёт 24 часа. Передавай его в заголовке X-Auth-Token.
TOKEN=$(curl -si -X POST https://cloud.api.selcloud.ru/identity/v3/auth/tokens \
  -H 'Content-Type: application/json' \
  -d '{"auth": {
        "identity": {"methods": ["password"], "password": {"user": {
          "name": "<сервисный пользователь>", "domain": {"name": "<ID аккаунта>"}, "password": "<пароль>"}}},
        "scope": {"domain": {"name": "<ID аккаунта>"}}}}' \
  | grep -i '^x-subject-token' | cut -d' ' -f2 | tr -d '\r')

Базовые URL

Авторизация

Тип: Другое

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

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

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

Вызывается на https://cloud.api.selcloud.ru.

Параметр Где Тип Обяз. Описание
Content-Type header string да application/json
auth.identity.methods body array да ["password"]
auth.identity.password.user.name body string да Имя сервисного пользователя
auth.identity.password.user.domain.name body string да ID аккаунта
auth.identity.password.user.password body string да Пароль
auth.scope body object да domain (токен аккаунта) или project с именем проекта

Нюансы

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


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