GET /api/spam-check/{check_id} возвращает для каждого аккаунта только email и category. Любые данные полученного письма добавляются параметром fields — имена полей через запятую. Не запрошенное поле в ответ не попадает.
Поля
smtp, sender_ip, spf, dkim и dmarc берутся из заголовков, которые добавляет сам Gmail (Received, Authentication-Results), — отправитель не может их подделать.
Правила:
emailиcategoryесть всегда; поля идут в порядке таблицы.null— значения нет. Пока письмо не пришло (category: "pending"), все запрошенные поля —null.- Неизвестное имя поля →
400со списком допустимых.
Пример ответа
Тело и оригинал письма
body_text, body_html и raw — обычные JSON-строки. Переводы строк и кавычки экранированы по стандарту JSON (\r\n, \"), любой JSON-парсер вернёт исходный текст:
raw — строка UTF-8. Если нужна точная байтовая копия (например, письмо в 8-битной кодировке) или просто файл, скачайте .eml:
Большие ответы
Оригинал письма весит от десятков килобайт до нескольких мегабайт (с вложениями), и в ответе он повторяется для каждого аккаунта. Сам по себе большой ответ не проблема, но лучше не тянуть тяжёлые поля на каждом опросе:1
Опрашивайте с лёгкими полями
?fields=spf,dkim,dmarc,ip_type или вообще без fields, пока status = pending.2
Тяжёлые поля — один раз
Когда
status стал complete или timeout, запросите body_text, body_html, raw одним запросом. Или скачайте оригиналы через /raw только по нужным аккаунтам.Результаты и данные писем доступны 30 минут после старта проверки. Проверку видит только ключ, который её создал.

