Документация API · версия 1

Подключение AuthGuard

Отправьте email до создания учётной записи. API определит почтового провайдера домена по MX-записям и вернёт результат, который можно применить в логике регистрации.

Быстрый старт

1. Выпустите ключ

Создайте ключ в личном кабинете. Полное значение показывается один раз.

2. Сохраните на сервере

Добавьте ключ в переменную AUTHGUARD_API_KEY и не отправляйте его во фронтенд.

3. Выполните запрос

Передайте ключ как Bearer-токен и email пользователя в JSON.

API-ключ должен оставаться на сервере. Если вызвать AuthGuard из браузера или мобильного приложения, ключ сможет увидеть пользователь.

Проверка email-домена

POST
https://api.authguard.ru/v1/check/email

Пример cURL

curl -X POST "https://api.authguard.ru/v1/check/email" \
  -H "Authorization: Bearer $AUTHGUARD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"user@company.ru"}'

Пример для Node.js

const response = await fetch(
  "https://api.authguard.ru/v1/check/email",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.AUTHGUARD_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ email: "user@company.ru" }),
  },
);

const result = await response.json();

if (!response.ok) {
  throw new Error(result.message ?? "AuthGuard request failed");
}

if (!result.can_register) {
  // Не создавайте учётную запись автоматически.
}

Параметры запроса

ПараметрГдеОбязательныйОписание
AuthorizationЗаголовокДаBearer ВАШ_КЛЮЧ
Content-TypeЗаголовокДаapplication/json
emailJSONДаАдрес с доменом, например user@company.ru

Успешный ответ

HTTP 200 означает, что проверка выполнена. Решение о регистрации находится в поле can_register, а не в самом HTTP-статусе.

{
  "email_domain": "company.ru",
  "allowed": false,
  "can_register": false,
  "decision": "block",
  "risk_level": "high",
  "provider": "Google Workspace",
  "reason_code": "foreign_mail_provider",
  "matched_rule": null,
  "evidence": {
    "mx": ["aspmx.l.google.com"]
  },
  "meta": {
    "api_key_name": "Основной сайт",
    "requests_today": 1,
    "requests_remaining": 99,
    "daily_limit": 100
  }
}
ПолеТипЧто означает
can_registerbooleanМожно ли автоматически продолжить регистрацию.
decisionstringallow, block или manual_review.
risk_levelstringТехнический уровень риска: low, medium или high.
providerstring | nullРаспознанный почтовый провайдер.
reason_codestringСтабильный код причины для программной обработки.
evidence.mxstring[]MX-хосты, найденные во время проверки.
metaobjectНазвание ключа, использование и остаток суточного лимита.

Основные коды причины

known_russian_provider

Распознан российский почтовый провайдер.

foreign_mail_provider

Распознан иностранный почтовый провайдер.

unknown_mail_provider

MX-записи найдены, но провайдер не распознан.

mx_lookup_failed

MX-записи получить не удалось.

Ошибки

HTTPКодЧто делать
400invalid_json, invalid_request, invalid_emailПроверьте JSON и значение email.
401unauthorizedПроверьте Bearer-токен и убедитесь, что ключ не отозван.
402insufficient_balanceПополните баланс в личном кабинете.
429daily_limit_reachedДождитесь обновления лимита или обратитесь в поддержку.
500internal_errorПовторите запрос позже. Если ошибка сохраняется, напишите в поддержку.
Для инструментов и ИИ-агентов

Используйте OpenAPI как источник схемы запросов и ответов. Файл llms.txtсодержит краткое описание продукта и канонические ссылки. Не передавайте API-ключ агенту, которому не доверяете выполнение серверных запросов.

AuthGuard выполняет техническую проверку признаков использования иностранных почтовых сервисов и помогает снизить риск нарушения требований к авторизации. Результат API не является юридическим заключением. Подробности приведены в регламенте проверки.