Аутентификация

Аутентификация

Все запросы к публичному API MAIA авторизуются по API-ключу. Базовый адрес API: https://api.maia-ai.com.

Как создать ключ

  1. Войдите в кабинет dashboard.maia-ai.com.
  2. Откройте раздел «API и MCP» → вкладка «API».
  3. Нажмите «Создать ключ».
  4. Скопируйте ключ и сохраните его в надёжном месте.
⚠️

Ключ показывается только один раз — сразу после создания. Если вы его потеряли, восстановить значение нельзя: отзовите старый ключ и создайте новый.

Каждый ключ начинается с префикса maia_.

Права (scopes)

При создании ключа выбираются права доступа:

ScopeЧто даёт
readЧтение данных: список проектов, история звонков, детали звонка, контакты
writeЗапись и запуск действий: запуск исходящих звонков

Ключ может иметь оба права или только одно. Для запуска звонков (POST /v1/public/calls) обязателен scope write. Запросы на чтение требуют read.

Передача ключа

Поддерживаются два равнозначных способа передачи ключа в заголовке HTTP. Используйте любой из них.

Заголовок X-API-Key

GET /v1/public/projects HTTP/1.1
Host: api.maia-ai.com
X-API-Key: maia_ВАШ_КЛЮЧ
curl https://api.maia-ai.com/v1/public/projects \
  -H "X-API-Key: maia_ВАШ_КЛЮЧ"

Заголовок Authorization: Bearer

GET /v1/public/projects HTTP/1.1
Host: api.maia-ai.com
Authorization: Bearer maia_ВАШ_КЛЮЧ
curl https://api.maia-ai.com/v1/public/projects \
  -H "Authorization: Bearer maia_ВАШ_КЛЮЧ"

Отзыв ключа

Если ключ больше не нужен или скомпрометирован, отзовите его в кабинете: «API и MCP» → вкладка «API» → найдите ключ → «Отозвать». После отзыва все запросы с этим ключом начнут возвращать 401. При необходимости создайте новый ключ на замену.

Безопасность

⚠️

API-ключ — это секрет, эквивалентный паролю. Любой, у кого есть ключ, действует от вашего имени и тратит ваш баланс.

  • Никогда не публикуйте ключ в публичных репозиториях, фронтенде, логах или скриншотах.
  • Храните ключ в переменных окружения или менеджере секретов, а не в коде.
  • Для интеграций, которым нужно только читать данные, выдавайте ключ только с scope read — без write. Так утечка такого ключа не позволит запускать звонки и тратить баланс.
  • Используйте отдельные ключи для разных интеграций — при компрометации можно отозвать один, не затрагивая остальные.
  • При любом подозрении на утечку немедленно отзовите ключ и создайте новый.

Коды ошибок

КодПричина
401Ключ не передан или неверен (в том числе отозванный ключ)
403У ключа нет нужного scope (например, write для запуска звонка)

См. также: Быстрый старт, REST API, MCP.