getpoststack/mcp

getpoststack/mcp

от getpoststack
MCP сервер для PostStack Email API предоставляет AI-агентам (Claude, Cursor) 102 инструмента для отправки транзакционных писем, проверки спама, доставляемости, управления контактами и анализа рассы...

@poststack.dev/mcp

Model Context Protocol server for the PostStack Email API — an EU-hosted, GDPR-compliant email API for AI agents. Lets assistants like Claude, Cursor, and Windsurf send transactional email, draft replies from inbound threads, run deliverability checks, summarise broadcasts, and more — through one curated tool surface.

117 tools, 5 prompts, and 5 resources, all surfaced over either the local stdio bin or the hosted HTTP transport at https://api.poststack.dev/mcp.

Full MCP reference: poststack.dev/docs/mcp.

Quickstart

Hosted (Claude.ai connector, hosted agents)

Point any MCP client at:

https://api.poststack.dev/mcp

Authenticate with your PostStack API key as a Bearer token. No local install required.

Claude Desktop (stdio)
{
	"mcpServers": {
		"poststack": {
			"command": "npx",
			"args": ["-y", "@poststack.dev/mcp"],
			"env": {
				"POSTSTACK_API_KEY": "sk_live_your_api_key_here"
			}
		}
	}
}

Config file location:

Инструменты были проиндексированы:
activate_dkim_rotation

Переключает на подготовленный ключ DKIM, как только его DNS-запись опубликована. Когда использовать: пользователь опубликовал новую TXT-запись и не хочет ждать автоматического переключения. Завершается ошибкой (и ничего не меняет), если запись отсутствует или не совпадает с ключом, который сгенерировал PostStack. По умолчанию PostStack ждёт ~30 минут после первого обнаружения записи, потому что читает авторитативные серверы имён домена напрямую, а получатели используют рекурсивные резолверы, которые могут всё ещё кэшировать её отсутствие. Параметр force: true передаётся, только если пользователь подтвердил, что запись разрешается публично: это пропускает ожидание, но никогда не проверку. Возвращает: статус ротации после переключения, включая retireAfter (СТАРУЮ запись оставляют опубликованной до этого момента). Пример: { id: 42 }

Параметры
  • forceboolean

    Пропускает ожидание распространения (не проверку DNS). По умолчанию false.

  • idnumberобязательный

    ID домена

activate_workflow

Перемещает рабочий процесс из черновика/приостановленного в активный, чтобы новые события-триггеры запускали выполнение. Когда использовать: после того как шаги настроены и вы проверили конвейер с помощью ручного триггера. Возвращает: рабочий процесс со статусом "active". Пример: { id: "wf_abc123" }

Параметры
  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

add_contacts_to_segment

Добавляет одного или нескольких контактов в сегмент. Когда использовать: зачислить конкретные контакты в существующий сегмент (например, агент собрал список и хочет его материализовать). Возвращает: { added: number } или подобный индикатор успеха. Пример: { id: "seg_abc", contact_ids: ["con_1", "con_2"] }

Параметры
  • contact_idsstring[]обязательный

    Идентификаторы контактов для добавления (максимум 1000 за вызов; более крупные списки разбивайте на страницы)

  • idstringобязательный

    Идентификатор сегмента

add_suppression

Блокирует email-адрес, чтобы на него больше не отправлялись письма. Когда использовать: получатель попросил удалить его из списка (вручную), или вы импортируете предыдущие отказы/жалобы. Возвращает: структурированную запись в списке заблокированных. Пример: { email: "bouncy@aol.com", reason: "hard_bounce" }

Параметры
  • emailstringобязательный

    Email-адрес для исключения

  • reasonenum

    Причина подавления (по умолчанию: «manual»)

add_workflow_node

Добавляет узел в граф рабочего процесса и (по умолчанию) соединяет его после существующего узла.Когда использовать: достраивать автоматизацию после create_workflow. Конфигурации узлов: - send_email: { templateId: "tpl_..." } — отправляет шаблон контакту. - wait: { duration: <int>, unit: "hours"|"days" } — относительная задержка. Или ожидание до времени: { mode: "until", untilTime: "HH:MM" } (следующее наступление, UTC) или { mode: "until", untilDate: "2026-01-02T09:00:00Z" }. - condition: { field: "<name>", comparator: "equals"|"not_equals"|"contains"|"not_contains"|"is_set"|"is_not_set", value: "..." }. field — это поле контакта верхнего уровня (email/firstName/lastName/unsubscribed) или имя свойства. Ветвление выполняется через РЁБРА, а не конфигурацию: соедините исходящие рёбра "match" и/или "no_match" с помощью connect_workflow_nodes. Ветвь без ребра завершает выполнение. - webhook: { url: "https://..." } — отправляет POST-запрос с JSON контакта и рабочего процесса на внешний URL (защищён от SSRF). По умолчанию новый узел соединяется безусловным ребром от after_node (или, если он опущен, от единственного открытого узла — триггера в новом рабочем процессе). Опустите after_node для ветвей и соединяйте рёбра самостоятельно. Возвращает: { public_id } — идентификатор нового узла для ссылки в connect_workflow_nodes. Пример: { id: "wf_abc123", type: "send_email", config: { templateId: "tpl_welcome" } }

Параметры
  • after_nodestring

    public_id существующего узла, из которого провести безусловное ребро. Если опустить, прикрепляется от единственного открытого узла, либо узел остаётся неподключённым (тогда используйте connect_workflow_nodes).

  • configobjectобязательный

    Конфигурация для конкретного типа узла (см. документацию выше).

  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

  • typeenumобязательный

    Тип узла

batch_replay_webhook_deliveries

Повторно доставляет КАЖДУЮ неудачную доставку для вебхука, начиная с самых старых. Когда использовать: эндпоинт был недоступен или сломан в течение какого-то периода, и пользователь хочет вернуть пропущенные события. Это массовая версия replay_webhook_delivery, предпочитайте её вместо цикла, который будет повторно доставлять в неправильном порядке. Успешные доставки никогда не отправляются повторно, поэтому это не создаст дубликатов событий, которые пользователь уже обработал. Ограничено 1 000 за вызов; если в результате remaining больше нуля, вызовите снова - НЕ сообщайте, что очередь очищена. Возвращает: { replayed, remaining }. Пример: { id: 17, within_minutes: 120 }

Параметры
  • event_typestring

    Только этот тип события, например "email.bounced"

  • idnumberобязательный

    Идентификатор вебхука

  • limitnumber

    Максимум повторов этого вызова (ограничено 1000)

  • within_minutesnumber

    Только доставки за последние N минут (максимум 43200 = 30 дней)

broadcast_performance

Получает статистику эффективности рассылки - либо по одной рассылке (с разбивкой по вариантам при A/B), либо по таблице лидеров, отсортированной по выбранной метрике. Когда использовать: агент хочет найти самую эффективную рассылку за период или разобраться в статистике одной рассылки. Передайте broadcast_id для одиночного режима или { since, best_metric } для режима таблицы лидеров. Возвращает: одиночный режим → { broadcast: { id, subject, status, sent_at, total_recipients, delivered, opened, clicked, bounced, open_rate, click_rate }, variants: [...]|null }. Таблица лидеров → { metric, since, broadcasts: [...] }, отсортированные по метрике по убыванию. Пример: { broadcast_id: "bc_abc" } - одиночный режим. Пример: { since: "2026-03-01T00:00:00Z", best_metric: "click_rate", limit: 5 } - режим таблицы лидеров.

Параметры
  • best_metricenum

    Метрика для ранжирования в режиме лидерборда (по умолчанию: click_rate)

  • broadcast_idstring

    Транслирует publicId в режиме одиночной трансляции.

  • limitinteger

    Максимум трансляций в leaderboard (по умолчанию: 20)

  • sincestring

    Отсечка в формате ISO 8601 для режима лидерборда (по умолчанию: 30 дней назад).

cancel_broadcast

Отменяет рассылку в очереди или в процессе отправки. Когда использовать: остановить рассылку в процессе отправки. Уже доставленные сообщения отозвать нельзя. Возвращает: { success: boolean }. Пример: { id: "bc_abc" }

Параметры
  • idstringобязательный

    ID трансляции для отмены

cancel_dkim_rotation

Отменяет подготовленную ротацию DKIM и удаляет её DNS-запись. Когда использовать: ротацию запустили по ошибке или клиент не может опубликовать запись. Безопасно в любой момент до переключения: подготовленный ключ ничего не подписывал, поэтому исходящая почта никак не меняется. Возвращает: статус ротации (состояние снова idle). Пример: { id: 42 }

Параметры
  • idnumberобязательный

    ID домена

cancel_email

Отменить запланированное письмо, которое ещё не попало в очередь отправки. Когда использовать: агент хочет отменить запланированную отправку до того, как она произойдёт. Нельзя отменить уже доставленные письма. Возвращает: { success: boolean }. Пример: { id: "em_7kf2x9" }

Параметры
  • idstringобязательный

    Email для отмены

change_mailbox_password

Сбросить пароль IMAP/SMTP почтового ящика.Когда использовать: смена после подозрения на утечку или при передаче новому сотруднику.Возвращает: { success: boolean }.Пример: { id: "mb_abc", password: "<новый надёжный>" }

Параметры
  • idstringобязательный

    publicId почтового ящика, например mb_abc

  • passwordstringобязательный

    Новый пароль: от 8 до 72 байт (ограничение bcrypt)

check_deliverability

Проверяет, безопасно ли отправлять с адреса отправителя ПРЯМО СЕЙЧАС. Когда использовать: ПЕРЕД отправкой контента, созданного агентом, с домена, не используемого по умолчанию. Объединяет проверку DNS (DKIM/SPF/DMARC), показатели отказов и жалоб за 30 дней, а также стандартные предупреждения о доставляемости (отсутствие текстовой версии, несоответствие домена ссылки, слишком большой HTML и т.д.) в один ответ. Возвращает: { from, domain, domain_verified, dkim, spf, dmarc, return_path, volume_30d, bounce_rate, complaint_rate, warnings[] }. Показатели охватывают только маршрутизируемых получателей: отправки на зарезервированные тестовые домены (*.invalid, *.test, example.com) никогда не могут быть доставлены, поэтому они исключаются из обеих частей соотношения и сообщаются как volume_30d.reserved_excluded. Пример: { from: "Acme hi@acme.com", domain: "acme.com", domain_verified: true, dkim: "pass", spf: "pass", dmarc: "pass", return_path: "bounce@acme.com", volume_30d: 1240, bounce_rate: 0.02, complaint_rate: 0.001, warnings: ["no plain-text body"] }.

Параметры
  • fromstringобязательный

    Адрес отправителя (например, "Acme hi@acme.io" или "hi@acme.io")

connect_workflow_nodes

Добавляет ребро между двумя узлами. Когда использовать: соединение ветвей условий, сведение ответвлений обратно в одну точку или любое явное соединение, которое не создал add_workflow_node. - Безусловное ребро (источник без условия): опустите поле branch. - Источник с условием: задайте поле branch как "match" (предикат истинен) или "no_match" (предикат ложен). Узел может иметь не более одного безусловного исходящего ребра; условие - не более одного "match" и одного "no_match". Возвращает: { success: true }. Пример: { id: "wf_abc123", from: "wfn_cond", to: "wfn_email", branch: "match" }

Параметры
  • branchenum

    Условная ветвь («match»/«no_match»); опускается для безусловного ребра.

  • fromstringобязательный

    Исходный узел public_id.

  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

  • tostringобязательный

    Целевой узел public_id

create_api_key

Генерирует новый ключ API PostStack. Полный ключ возвращается ОДИН РАЗ в этом ответе и не может быть получен снова. Когда использовать: агенту нужно создать учетные данные для новой интеграции. Выберите "sending_access" для ключей только на отправку (рекомендуется для серверов приложений) или "full_access" для управления. Возвращает: сформированный ключ, включающий секретную строку - отобразите его один раз и попросите пользователя сохранить его в безопасном месте. Пример: { name: "Backend prod", permission: "sending_access" }

Параметры
  • domain_idstring

    Ограничивает ключ одним доменом, по публичному id dom_* или числовому id. Не указывайте, если ключ может отправлять из любого домена команды.

  • modeenum

    Режим ключа (по умолчанию "live")

  • namestringобязательный

    Название для ключа API

  • permissionenumобязательный

    Уровень разрешений: полный доступ или доступ только для отправки (send-only)

create_broadcast

Создаёт черновик рассылки, нацеленный на сегмент, с необязательной привязкой к теме подписки. Когда использовать: агент собрал тело кампании и идентификатор сегмента и хочет подготовить рассылку к проверке или отправке по расписанию. Создаётся в статусе "draft" - вызовите send_broadcast, чтобы отправить. Передайте topic_id (из list_subscription_topics), чтобы контакты, отказавшиеся от этой темы, пропускались. Возвращает: сформированную рассылку (publicId, subject, status=draft, segmentPublicId, topicPublicId; счётчики получателей заполняются при отправке). Пример: { segment_id: "seg_abc", topic_id: "top_news", from: "Acme hi@acme.io", subject: "April update", html }

Параметры
  • fromstringобязательный

    Адрес электронной почты отправителя.

  • htmlstring

    Содержимое элемента body в HTML.

  • namestring

    Имя внутренней трансляции

  • reply_tostring

    Обратный адрес.

  • scheduled_atstring

    Дата и время в формате ISO 8601 для планирования отправки.

  • segment_idstringобязательный

    ID сегмента (seg_…), куда отправлять

  • subjectstringобязательный

    Тема письма

  • textstring

    Содержимое тела в виде обычного текста.

  • topic_idstring

    Идентификатор темы подписки (top_…). Контакты, отписавшиеся от этой темы, пропускаются.

create_contact

Создаёт новый контакт (человека, который может получать письма и рассылки). Когда использовать: добавить новую регистрацию, программную запись или разовое добавление. Для массового импорта лучше использовать API-эндпоинт импорта. Возвращает: сформированный контакт (id, email, имена, свойства, createdAt). Пример: { email: "ada@lovelace.io", first_name: "Ada", properties: { plan: "pro" } }

Параметры
  • emailstringобязательный

    Контактный адрес электронной почты

  • first_namestring

    Имя

  • last_namestring

    Фамилия

  • propertiesobject

    Пользовательские свойства

  • unsubscribedboolean

    Отписан ли контакт

create_contact_property

Определяет пользовательское свойство контакта (типизированную схему для поля contact.properties). Когда использовать: агент расширяет модель данных контакта — например, добавляет поле "plan" или "company", по которому другие инструменты могут фильтровать. Возвращает: сформированное определение свойства. Пример: { name: "plan", label: "План подписки", type: "select", options: ["free","pro","scale"] }

Параметры
  • labelstringобязательный

    Отображаемая подпись (например, "Subscription Plan")

  • namestringобязательный

    Имя ключа свойства (например, "plan")

  • optionsstring[]

    Варианты для свойств типа select

  • requiredboolean

    Обязательно ли это свойство

  • typeenum

    Тип свойства (по умолчанию "text")

create_domain

Добавить новый отправляющий домен в PostStack. Когда использовать: клиент подключает новый отправляющий домен. Ответ содержит DNS-записи (SPF, DKIM, DMARC, return-path), которые пользователь должен настроить, чтобы verify_domain выполнился успешно. Возвращает: оформленный домен с dnsRecords[] и статусом pending. Пример: { name: "send.acme.io", region: "eu-west-1" }

Параметры
  • click_trackingboolean

    Включает отслеживание кликов.

  • custom_return_pathstring

    Пользовательский субдомен для return-path.

  • namestringобязательный

    Доменное имя (например, example.com)

  • open_trackingboolean

    Включает отслеживание открытий.

  • regionenum

    Регион отправки (платформа только для ЕС)

  • tls_modeenum

    Режим принудительного TLS

create_mailbox

Предоставляет почтовый ящик (IMAP/SMTP-входящий ящик) на проверенном домене. Когда применять: агент настраивает настоящий читаемый человеком входящий ящик (например, support@acme.io). Пароль требуется для входа по IMAP/SMTP. Домен должен быть уже проверен. Возвращает: сформированный почтовый ящик с полями emailAddress и quotaBytes. Пример: { domainId: 42, localPart: "support", password: "<strong>", displayName: "Acme Support" }

Параметры
  • displayNamestring

    Отображаемое имя почтового ящика

  • domainIdnumberобязательный

    ID домена, к которому относится почтовый ящик

  • localPartstringобязательный

    Локальная часть адреса электронной почты (перед @)

  • passwordstringобязательный

    Пароль почтового ящика для доступа по IMAP/SMTP: от 8 до 72 байт (ограничение bcrypt)

  • quotaBytesnumber

    Квота хранилища в байтах

  • webhookEnabledboolean

    Включает уведомления webhook для новой почты.

create_segment

Создаёт статический сегмент контактов (список, управляемый вручную). Когда использовать: агенту нужен именованный набор контактов для отправки рассылки. Добавляйте участников через add_contacts_to_segment. Возвращает: сформированный сегмент с id и contactCount=0. Пример: { name: "Запуск весной 2026" }

Параметры
  • namestringобязательный

    Название сегмента

create_signup_form

Создаёт встраиваемую форму регистрации. Отправки создают контакт и опционально добавляют его в сегмент / тему подписки. Когда использовать: создание новой формы сбора лидов для целевой страницы. Возвращает: сформированную форму с publicId — используйте его в коде для встраивания. Пример: { name: "Newsletter signup", segment_id: "seg_newsletter", fields: [{ name: "email", type: "email", label: "Email", required: true }] }

Параметры
  • fieldsobject[]обязательный

    Поля формы, 1-10. Должны включать хотя бы одно поле email. Поле, чьё имя совпадает с ключом свойства контакта, сохраняется в это свойство при отправке (с проверкой типа); остальные дополнительные поля игнорируются.

  • namestringобязательный

    Внутреннее имя формы (не показывается отправителям)

  • redirect_urlstring

    URL перенаправления после отправки

  • segment_idstring

    Сегмент publicId (seg_*) - отправители добавляются в этот сегмент

  • success_messagestring

    Отображается после успешной отправки (переопределяет значение по умолчанию)

  • topic_idstring

    publicId темы подписки (top_*): отправители автоматически подписаны на эту тему

create_subscription_topic

Создаёт тему подписки (названную как предпочтение opt-in/opt-out, например "Product Updates"). Когда использовать: агент настраивает детальные предпочтения, чтобы контакты могли подписываться по каждой теме, а не по принципу "всё или ничего". Возвращает: сформированную тему. Пример: { name: "Product Updates", description: "Monthly product news" }

Параметры
  • descriptionstring

    Описание темы.

  • namestringобязательный

    Название темы (например, «Обновления продукта»)

create_template

Создаёт новый шаблон email с плейсхолдерами {{variable}}. Когда использовать: сохраняет переиспользуемое тело письма, которое агент (или приложение) будет отправлять многократно. Вновь созданные шаблоны не опубликованы — вызовите publish_template перед отправкой. Возвращает: сформированный шаблон с id, version, published=false. Пример: { name: "welcome-v3", subject: "Welcome {{first_name}}", html: "<p>Hi {{first_name}}</p>" }

Параметры
  • htmlstringобязательный

    Содержимое тела HTML (поддерживает {{variables}})

  • namestringобязательный

    Имя шаблона

  • subjectstringобязательный

    Тема письма (поддерживает {{variables}})

  • textstring

    Содержимое тела в виде обычного текста.

  • variablesstring[]

    Имена переменных, используемых в шаблоне.

create_webhook

Подписывает URL на получение уведомлений о событиях через подписанные POST-запросы. Когда использовать: агент настраивает интеграцию, которая должна реагировать на события почты/контактов/доменов в реальном времени. Возвращает: сформированный вебхук с id, url, events[], active=true. Пример: { url: "https://hooks.acme.io/poststack", events: ["email.bounced", "email.complained"] }

Параметры
  • eventsenum[]обязательный

    События для подписки

  • urlstringобязательный

    URL конечной точки вебхука

create_workflow

Создать новый workflow (status=draft). Начинается с одного trigger-узла, других узлов нет. Когда использовать: начать новую автоматизацию. Добавляйте узлы через add_workflow_node, связывайте ветки через connect_workflow_nodes, затем вызывайте activate_workflow. Возвращает: { workflow }, созданную строку workflow с publicId, который вы будете использовать для последующих вызовов графа. Пример: { name: "New-user onboarding", trigger_type: "contact.created" }

Параметры
  • namestringобязательный

    Человекочитаемое название рабочего процесса.

  • trigger_configobject

    Необязательный фильтр триггера: например, срабатывает только для контактов из конкретного сегмента.

  • trigger_typeenumобязательный

    Какое событие запускает этот рабочий процесс. "manual" требует явных вызовов trigger_workflow.

delete_contact

Навсегда удаляет контакт (необратимо - для отказов от подписки используйте unsubscribe_contact). Когда использовать: удаление по GDPR или удаление тестового контакта. Для отказов от подписки используйте unsubscribe_contact - он сохраняет историю. Возвращает: { success: boolean }. Пример: { id: "con_abc123" }

Параметры
  • idstringобязательный

    ID контакта для удаления

delete_contact_property

Удаляет определение пользовательского свойства контакта. Значения, уже сохранённые в контактах, остаются на месте (они остаются в свойствах каждого контакта; удаляется только определение - его метка, тип и параметры). Когда использовать: свойство не используется и его выводят из эксплуатации. Чтобы очистить и сохранённые значения, вызовите update_contact для каждого затронутого контакта. Возвращает: { success: boolean }. Пример: { id: 5 }

Параметры
  • idnumberобязательный

    ID свойства для удаления

delete_domain

Навсегда удалить домен отправки (необратимо: исторические записи писем остаются). Когда использовать: домен выводится из эксплуатации. Сначала подтвердите у пользователя, так как будущие отправки с любого совпадающего обратного адреса завершатся ошибкой. Возвращает: { success: boolean }. Пример: { id: 42 }.

Параметры
  • idnumberобязательный

    Идентификатор домена для удаления.

delete_mailbox

Навсегда удаляет почтовый ящик и все его письма. Когда использовать: при выведении почтового ящика из эксплуатации. НЕОБРАТИМО — подтвердите у пользователя, письма пропадут. Возвращает: { success: boolean }. Пример: { id: "mb_abc" }

Параметры
  • idstringобязательный

    Mailbox publicId для удаления, например mb_abc

delete_segment

Удаляет определение сегмента. Контакты в нём НЕ удаляются. Когда использовать: убрать устаревший сегмент. Подтвердите с пользователем. Возвращает: { success: boolean }. Пример: { id: "seg_abc" }

Параметры
  • idstringобязательный

    ID сегмента для удаления

delete_signup_form

Навсегда удалить форму регистрации. Встроенные копии на существующих страницах перестанут работать с ошибкой 404. Когда использовать: при выводе формы из эксплуатации. Если возможно, используйте update_signup_form с параметром active=false, если в будущем вы захотите восстановить форму. Возвращает: { success: boolean }. Пример: { id: "sf_xyz789" }

Параметры
  • idstringобязательный

    Форма регистрации publicId для удаления

delete_subscription_topic

Удаляет тему подписки навсегда. Подписки удаляются. Когда использовать: тему выводят из эксплуатации. Подтвердите с пользователем. Возвращает: { success: boolean }. Пример: { id: "top_abc" }

Параметры
  • idstringобязательный

    publicId темы для удаления, например top_abc

delete_template

Навсегда удалить шаблон (необратимо). Когда использовать: нужно удалить неиспользуемый шаблон. Подтвердите у пользователя — письма, ссылающиеся на этот template_id, не будут отправлены. Возвращает: { success: boolean }. Пример: { id: "tpl_abc" }

Параметры
  • idstringобязательный

    Идентификатор шаблона для удаления.

delete_webhook

Навсегда удалить webhook endpoint. Когда использовать: интеграция удаляется. Подтвердите с пользователем: события больше не будут доставляться. Возвращает: { success: boolean }. Пример: { id: 17 }.

Параметры
  • idnumberобязательный

    Идентификатор вебхука для удаления

delete_workflow

Безвозвратно удаляет workflow, его граф (узлы + рёбра) и историю запусков. Удалить можно только черновик или приостановленный workflow: активный вернёт ошибку 422 (сначала вызовите pause_workflow). Запуски, которые ещё выполняются, удаляются вместе с ним и не делают дальнейших шагов. Когда использовать: вывод автоматизации из эксплуатации. Предпочтите pause_workflow, чтобы остановить новые запуски, сохранив определение. Возвращает: { success: boolean }. Пример: { id: "wf_abc" }.

Параметры
  • idstringобязательный

    publicId Workflow для удаления.

draft_from_thread

Создаёт каркас черновика ответа для входящего письма - правильное построение цепочки сообщений, цитирование оригинала, приветствие/подпись, предлагаемые отправитель и тема. Только эвристика; агент заполняет текст письма. Когда использовать: агент получил входящее письмо и хочет ответить. Вызовите этот инструмент, чтобы получить каркас черновика, заполните body_placeholder фактическим ответом, затем вызовите reply_to_inbound_email. Возвращает: { inbound, suggested_from, suggested_subject, salutation, body_placeholder, quoted_html, quoted_text, threading: { in_reply_to, references }, suggested_html, suggested_text, signs_automatically }. signs_automatically true означает, что в отправляющем почтовом ящике есть сохранённая подпись, и suggested_html/_text содержат тег {{signature}} в нужном месте. Оставьте этот тег как есть и НЕ пишите имя, должность, номер телефона или компанию под сообщением - воссоздание их по памяти приводит к тому, что они противоречат настоящим, а черновик в любом случае выглядит нормально. Пример: { inbound_id: 7, tone: "friendly" }

Параметры
  • inbound_idintegerобязательный

    Идентификатор входящего письма для ответа

  • toneenum

    Понял. Тон для приветствий и прощаний — дружелюбный (по умолчанию).

duplicate_template

Создаёт копию существующего шаблона: новый id, те же subject/body/variables/editor blocks, имя "Copy of <name>", версия 1, не опубликован. Когда использовать: агент хочет сделать форк шаблона перед редактированием, чтобы оригинал остался нетронутым. Возвращает: сформированный новый шаблон (неопубликованный черновик). Пример: { id: "tpl_abc" }

Параметры
  • idstringобязательный

    publicId шаблона для дублирования, например tpl_abc

find_non_clickers

Выводит контакты, которые получили рассылку, но НЕ кликнули ни по одной отслеживаемой ссылке в ней. Когда использовать: для кампании-догона по тем, кто «увидел, но не отреагировал». В паре с create_segment + send_broadcast (или send_email), чтобы снова их вовлечь. Возвращает: { broadcast: { id, subject }, count, contacts: [{ id, email, first_name, last_name }] }. Пример: { broadcast_id: "bc_abc", limit: 500 }

Параметры
  • broadcast_idstringобязательный

    Транслирует publicId.

  • limitinteger

    Максимум возвращаемых контактов (по умолчанию 500)

forward_inbound_email

Пересылает входящее письмо другим получателям с необязательной сопроводительной запиской. Когда использовать: чтобы направить сообщение коллеге или на другой адрес. Возвращает: { id } пересланного исходящего письма. Адреса из списка подавления в to/cc/bcc отбрасываются, как и при любой отправке. Пример: { id: 7, from: "support@acme.io", to: ["dev@acme.io"], cc: ["lead@acme.io"], message: "FYI" }

Параметры
  • bccstring[]

    Получатели BCC (до 50)

  • ccstring[]

    Получатели копии (до 50)

  • fromstringобязательный

    Адрес электронной почты отправителя.

  • idnumberобязательный

    ID входящего email для пересылки

  • messagestring

    Дополнительное сообщение, которое нужно включить.

  • tostring[]обязательный

    Электронные адреса получателей

get_api_key

Получить метаданные API-ключа (секрет никогда не возвращается после создания). Когда использовать: чтобы подтвердить разрешения, режим или временную метку последнего использования ключа перед его отзывом. Возвращает: сформированный ключ без секрета. Пример: { id: 17 }

Параметры
  • idnumberобязательный

    Идентификатор ключа API

get_broadcast

Получает детали рассылки и агрегированную статистику доставки. Когда использовать: для отчёта о результатах отправки (доставлено/открыто/клики/отказы) для конкретной рассылки. Возвращает: сформированную рассылку (тема, статус, количество получателей). Пример: { id: "bc_abc" }

Параметры
  • idstringобязательный

    Идентификатор трансляции.

get_contact

Получить полные данные о контакте по идентификатору. Когда использовать: просмотр свойств конкретного контакта, статуса подписки или последней активности. Возвращает: сформированный контакт с email, именами, свойствами, флагом отписки, createdAt. Пример: { id: "con_abc123" }

Параметры
  • idstringобязательный

    Идентификатор контакта

get_contact_activity

Получает ленту недавних email-событий контакта, сгруппированную по типу события (отправлено / доставлено / открыто / переход / отказ / жалоба / неудача).Когда использовать: изучить историю вовлеченности конкретного контакта перед отправкой — например, был ли отказ в последней кампании, как часто открывает, когда был последний переход. Передайте email ИЛИ id; email запускает поиск, id — прямой доступ.Возвращает: { contact_id, email, total, events: { sent, delivered, opened, clicked, bounced, complained, failed, other } }, где каждый элемент — массив { event_id, event_type, created_at, email_id, subject, from, geo_country, ua_client, is_prefetch, metadata }.Пример: { email: "ada@lovelace.io", limit: 20 }

Параметры
  • emailstring

    Контактный email (альтернатива id)

  • idstring

    Контактный publicId, например con_… (альтернатива электронной почте)

  • limitinteger

    Максимум возвращаемых событий (по умолчанию 50)

  • sincestring

    Отсечка по ISO 8601: только события после этой метки времени.

get_contact_by_email

Ищет контакт по его email-адресу. Когда использовать: у агента есть email-адрес (например, из вебхука, регистрации или сообщения пользователя), и ему нужна полная запись контакта без постраничного обхода list_contacts. Возвращает 404, если контакта с таким email нет — используйте create_contact, чтобы добавить его. Возвращает: сформированный контакт (id, email, names, properties, unsubscribed, createdAt). Пример: { email: "ada@lovelace.io" }

Параметры
  • emailstringобязательный

    Email-адрес для поиска (без учёта регистра)

get_contact_subscriptions

Перечисляет явные выбранные контактом темы подписки. Когда использовать: проверьте, подписан ли контакт на конкретную тему, перед отправкой. Темы работают по принципу opt-out: тема, для которой здесь НЕТ записи, означает, что контакт ПОДПИСАН; subscribed=false - это opt-out (рассылки по теме их пропускают). Возвращает: { items: [{ topic_id (top_…), topic_name, subscribed, updated_at }] }. Пример: { contact_id: "con_abc" }

Параметры
  • contact_idstringобязательный

    Контактный publicId, например con_abc

get_deliverability_signals

Читает сигналы доставляемости от ISP для отправляющего домена. Когда использовать: проверять последние данные Gmail Postmaster, Microsoft SNDS и Yahoo/FBL, собранные для домена, например, чтобы объяснить падение доставляемости или подтвердить, что уровень спама в норме перед массовой рассылкой. Возвращает: { domainId, signals[] (последние по провайдеру/источнику/метрике), gmailSpamRate, outlookHealth, fblComplaints30d }. Пример: { id: "dom_abc123" }

Параметры
  • idstringобязательный

    Публичный ID домена (например, "dom_abc123")

get_domain

Получает детали домена, включая DNS-записи и статус верификации. Когда использовать: читать DNS-записи для отображения или проверять, верифицирован ли домен перед отправкой. Возвращает: сформированный домен (status, dnsRecords[], tracking flags, verifiedAt). Пример: { id: 42 }

Параметры
  • idnumberобязательный

    ID домена

get_email

Получить полные сведения и временную шкалу событий для конкретного письма по его идентификатору. Когда использовать: выяснить, почему одно письмо не доставлено/отклонено, или подтвердить доставку для одной отправки. Возвращает: сформированную запись письма + события (queued, sent, delivered, opened, clicked, bounced). Пример: { id: "em_7kf2x9" }

Параметры
  • idstringобязательный

    Email ID

get_engagement_summary

Получить сводку по вовлеченности одного контакта: сегмент, счётчики за всё время, процент открытий/кликов, последнее открытие/клик, топ-теги. Когда использовать: агент хочет оценить контакт перед отправкой — например, «часто ли Ада открывает письма?», «стоит ли исключить её из повторной активации?». Отличается от get_contact_activity, который возвращает сырую временную ленту. Возвращает: { segment, last_engaged_at, engagement_calculated_at, lifetime_sent, lifetime_delivered, lifetime_opened, lifetime_clicked, open_rate, click_rate, last_open, last_click, top_tags: [{ tag, count }] }. Пример: { email: "ada@lovelace.io" }

Параметры
  • emailstring

    Контактный email (альтернатива id)

  • idstring

    Контактный publicId, например con_… (альтернатива электронной почте)

get_inbound_email

Получает полные заголовки и тело полученного входящего письма. Когда использовать: прочитать конкретное сообщение перед составлением ответа (затем используйте draft_from_thread или reply_to_inbound_email). Возвращает: { inboundEmail: { …html/text body, headers }, replies: [{ id, subject, toAddresses, status, createdAt }] } - replies - это письма, уже отправленные в ответ на него; проверьте их, прежде чем ответить второй раз. Пример: { id: 7 }

Параметры
  • idnumberобязательный

    Идентификатор входящего письма

get_mailbox

Получить метаданные почтового ящика: статус, квоту, последний вход. Когда использовать: проверять конкретный ящик перед обновлением или удалением. Возвращает: сформированный объект почтового ящика. Пример: { id: "mb_abc" }

Параметры
  • idstringобязательный

    publicId почтового ящика, например mb_abc

get_segment

Получает детали сегмента и количество участников. Когда использовать: подтвердить contactCount сегмента перед отправкой рассылки (чтобы оценить объём). Возвращает: сформированный сегмент (name, contactCount, createdAt). Пример: { id: "seg_abc" }

Параметры
  • idstringобязательный

    Идентификатор сегмента

get_signup_form

Получить полные сведения о форме регистрации, включая её поля, целевой сегмент и количество отправок. Когда использовать: просмотр полей перед встраиванием или проверка количества отправок, полученных формой. Возвращает: сформированную форму с fields[], segmentId, topicId, submissionCount. Пример: { id: "sf_xyz789" }

Параметры
  • idstringобязательный

    publicId формы регистрации (например, "sf_xyz789")

get_template

Получить полное тело, тему и переменные шаблона.Когда использовать: прочитать исходный HTML/текст перед редактированием, или извлечь список переменных, чтобы знать, что передавать.Возвращает: оформленный шаблон с htmlBody, textBody, variables[], version.Пример: { id: "tpl_abc" }

Параметры
  • idstringобязательный

    ID шаблона

get_webhook

Получить детали вебхука. Когда использовать: просмотреть URL, список событий или статус активности для конкретного вебхука. Возвращает: сформированный вебхук. Пример: { id: 17 }

Параметры
  • idnumberобязательный

    Идентификатор вебхука

get_webhook_deliveries

Перечисляет последние попытки доставки для вебхука (статус, код ответа, временные метки). Когда использовать: для отладки, почему интеграция не получает события - проверьте ошибки перед повторной отправкой. Возвращает: { deliveries: [...], pagination: { page, perPage, total, totalPages } } - сначала новые. Пример: { id: 17, per_page: 50 }

Параметры
  • idnumberобязательный

    Идентификатор вебхука

  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (1-100)

get_workflow

Получить метаданные рабочего процесса и его граф (узлы + рёбра).Когда использовать: просмотр структуры автоматизации (конфигурация узлов, соединение узлов) перед активацией или редактированием.Возвращает: сформированный рабочий процесс плюс nodes[] (каждый с public_id, type, config) и edges[] (from_public_id → to_public_id, с branch "match"/"no_match" из узлов условий; null = безусловный).Пример: { id: "wf_abc123" }

Параметры
  • idstringобязательный

    Публичный идентификатор Workflow (например, "wf_abc123")

lint_email

Запускает предварительную проверку на спам с помощью Rspamd для черновика письма и возвращает оценку, действие и символы по каждому правилу. Когда использовать: ПЕРЕД отправкой контента, сгенерированного агентом. Оценка (0–15+) и действие (no_action / greylist / add_header / soft_reject / reject) показывают, будет ли письмо скорее всего отфильтровано. Символы перечисляют конкретные сработавшие правила. Возвращает: { score, action, symbols[], skipped, suggestions[] } — suggestions[] формируется из символов с оценкой > 1. Пример: { from: "Acme hi@acme.io", to: ["a@b.io"], subject: "Welcome", html: "<p>hi</p>" }

Параметры
  • fromstringобязательный

    Адрес электронной почты отправителя.

  • htmlstring
  • subjectstringобязательный

    Тема письма

  • textstring

    Пожалуйста, укажите текст для перевода. Вы прислали только инструкции и примеры, но не сам входной текст, который нужно перевести.

  • tostring[]обязательный

    Адрес(а) электронной почты получателя: не более 5 для предпросмотра

list_api_keys

Перечисляет ключи API (возвращается только префикс, полный секрет никогда не возвращается). Когда использовать: чтобы проверить, какие ключи существуют, и найти id ключа для отзыва. Без разбиения на страницы: API возвращает все ключи в одном ответе. Возвращает: { keys: [{ id, name, keyPrefix, permission, mode, ... }] }. Пример: {}

Параметры

Без параметров.

list_broadcasts

Список рассылок. Когда использовать: найти недавние кампании, проверить, какие рассылки были отправлены, или выбрать одну для просмотра с помощью get_broadcast. Возвращает: { items[], meta } - постранично сформированные рассылки со статусом и количеством. Пример: { per_page: 20 }

Параметры
  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (1-100)

list_contact_properties

Вывести все пользовательские свойства контактов для этой учётной записи. Когда использовать: узнать, какие пользовательские поля доступны перед созданием или обновлением контактов. Возвращает: { items: [property, ...] }. Пример: {}

Параметры

Без параметров.

list_contacts

Выводит список контактов с возможностью поиска и фильтрации по сегменту. Когда использовать: просмотр контактной книги, поиск кандидатов по фрагменту email/имени или список участников сегмента. Возвращает: { items[], meta } — контакты с постраничной разбивкой. Пример: { search: "@acme.io", segment_id: "seg_xyz" }

Параметры
  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (1-100)

  • searchstring

    Ищет по email или имени.

  • segment_idstring

    Фильтрует по идентификатору сегмента.

list_domains

Перечисляет домены отправки. Когда использовать: выберите, с какого домена отправлять, или проверьте, какие домены подтверждены. Возвращает: { domains: [...] }: каждый домен команды (без пагинации), со статусом и флагами отслеживания. Пример: {}

Параметры

Без параметров.

list_emails

Выводит список ранее отправленных писем с опциональными фильтрами и пагинацией. Когда использовать: сортировка доставки, просмотр истории конкретного получателя или фильтрация по статусу/тегу/дате. Возвращает: { items[], meta } - пагинированные письма со статусом, получателем, темой, временными метками. Пример: { status: "bounced", date_from: "2026-04-10" }

Параметры
  • date_fromstring

    Фильтр с даты (ISO 8601)

  • date_tostring

    Фильтрует по дате (ISO 8601)

  • domain_idnumber

    Фильтрует по идентификатору домена.

  • pagenumber

    Номер страницы, по умолчанию 1

  • per_pagenumber

    Результатов на странице (1-50). По умолчанию: 20.

  • statusenum

    Фильтр по статусу

  • tagstring

    Фильтр по тегу

  • tostring

    Фильтрует по адресу получателя.

list_inbound_email_attachments

Перечисляет вложения во входящем письме (имя файла, размер, contentType).Когда использовать: решить, нужно ли загружать вложения перед пересылкой или обработкой.Возвращает: { items: [{ filename, contentType, size }] }.Пример: { id: 7 }

Параметры
  • idnumberобязательный

    Идентификатор входящего письма

list_inbound_emails

Перечисляет входящие письма, полученные на доменах этой команды, сначала самые новые (одна строка на каждого получателя доставки). Когда использовать: разобрать почту поддержки, найти свежее письмо для проверки или отфильтровать письма, требующие ответа. Возвращает: { data: [...], meta: { page, perPage, total, totalPages } } - id (числовой; передайте его в get_inbound_email), fromAddress, fromName, toAddress, subject, createdAt, spamVerdict, strippedReply, replyCount (уже отправленные на него ответы) для каждого письма. per_page по умолчанию 20 (максимум 100). Домен, который не принадлежит этой команде, вернёт пустую страницу. Сводные отчёты DMARC/TLS-RPT включаются, если не указано reports: "exclude" - передавайте его, когда ищете письма от людей. Пример: { per_page: 20, to: "support@acme.io", reports: "exclude" }

Параметры
  • domainstring

    Фильтрует входящие письма, полученные на этом собственном домене (например, "acme.io")

  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (по умолчанию: 10, макс.: 25)

  • qstring

    Ищет по теме, адресу отправителя и имени отправителя.

  • reportsenum

    Агрегированные отчёты DMARC/TLS-RPT: include (по умолчанию), exclude или only

  • tostring

    Фильтрует почту, доставленную на этот адрес (точное совпадение, без учёта регистра).

list_mailboxes

Перечислить почтовые ящики по всем доменам. Когда использовать: посмотреть, какие почтовые ящики существуют, найти идентификатор почтового ящика по адресу электронной почты. Возвращает: { items[], meta } — почтовые ящики с постраничной разбивкой. Пример: { per_page: 50 }

Параметры
  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (1-100)

list_mailbox_filters

Выводит список серверных почтовых фильтров почтового ящика (правил Sieve) в порядке их срабатывания. Когда использовать: перед изменением фильтров (set_mailbox_filters заменяет ВЕСЬ набор, поэтому сначала прочитайте его) или чтобы объяснить, почему письмо попадает в папку или исчезает - правило "discard" удаляет молча. Возвращает: { rules: [{ publicId, position, name, field, operator, value, action, actionArg, enabled }] }. Пример: { id: "mb_abc" }

Параметры
  • idstringобязательный

    publicId почтового ящика, например mb_abc

list_segments

Перечисляет контактные сегменты. Когда использовать: выберите идентификатор сегмента для create_broadcast или list_contacts(segment_id=…). Не разбит на страницы: API возвращает все сегменты в одном ответе. Возвращает: { segments: [...] }, массив сформированных сегментов с contactCount.

Параметры

Без параметров.

list_signup_forms

Список встраиваемых форм регистрации. Когда использовать: чтобы найти существующие формы перед созданием дубликата. У каждой формы есть publicId — его можно использовать во встраиваемом фрагменте. Возвращает: { items[], meta } — постраничный список форм с именем, флагом активности, количеством отправок. Пример: { per_page: 50 }

Параметры
  • pagenumber

    Номер страницы, по умолчанию 1

  • per_pagenumber

    Результатов на странице (1-50). По умолчанию: 20.

list_subscription_topics

Перечислить все темы подписки, определенные для этой учетной записи. Когда использовать: выбрать topic_id для рассылки или проверить, какие настройки существуют. Возвращает: в формате { items: [topic, ...] }. Пример: {}

Параметры

Без параметров.

list_suppressions

Перечислить заблокированные email-адреса (не будут получать письма). Когда использовать: проверить, какие адреса заблокированы, или пролистать список, чтобы найти конкретную запись. Возвращает: { items[], meta } - постраничный список блокировок с причиной и createdAt. Пример: { per_page: 100 }

Параметры
  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (1-100)

list_templates

Список шаблонов писем. Когда использовать: выбрать идентификатор шаблона для send_email или render_template, или проверить, какие шаблоны существуют. Возвращает: { items[], meta } — шаблоны с пагинацией, содержащие name, version, published. Пример: { per_page: 50 }

Параметры
  • pagenumber

    Номер страницы

  • per_pagenumber

    Результатов на странице (1-100)

list_webhooks

Перечисляет настроенные эндпоинты вебхуков. Когда использовать: проверить, какие интеграции получают события. Возвращает: { webhooks: [...] } - все вебхуки команды (без пагинации). Пример: {}

Параметры

Без параметров.

list_workflows

Перечисляет все workflows (автоматизации, запускаемые по событиям), определённые для этой команды.Когда использовать: обнаруживать существующие автоматизации перед созданием новой или проверять, что сейчас активно.Возвращает: { items: [workflow, ...] } — каждый workflow содержит publicId, name, triggerType, status (draft/active/paused).Пример: {}

Параметры

Без параметров.

pause_workflow

Приостанавливает активный workflow, чтобы НОВЫЕ события триггера НЕ запускали выполнение. Текущие выполнения продолжаются до завершения. Когда использовать: временная остановка автоматизации без её удаления. Возвращает: workflow со статусом "paused". Пример: { id: "wf_abc123" }

Параметры
  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

post_workflow_event

Публикует событие, заданное приложением, и зачисляет контакт во все АКТИВНЫЕ workflow, триггер которых - "custom" с совпадающим именем события. Когда использовать: пользователь хочет автоматизацию, управляемую тем, что знает его собственное приложение - оформленный заказ, истекающий триал, первое использование функции, - а не contact.created / contact.subscribed. Один вызов расходится по всем workflow, слушающим это событие; знать, каким именно, НЕ нужно. Имя события сопоставляется ТОЧНО и с учётом регистра. Определяйте контакт по contact_id (публичный идентификатор "con_...") или по email. ВСЕГДА сообщайте пользователю возвращённое значение matched. Ноль означает, что событие принято и никого не зачислило - почти всегда это опечатка в имени события или отсутствие активного workflow, настроенного на него. Не описывайте вызов с нулевым совпадением как сработавший. Возвращает: { event, matched }. Пример: { event: "order.placed", email: "buyer@acme.io" }

Параметры
  • contact_idstring

    publicId контакта ("con_...")

  • emailstring

    Контактный email - используется, когда у вас нет publicId

  • eventstringобязательный

    Название вашего события, например "order.placed" (с учётом регистра)

preview_email

Рендеринг, линтинг и измерение письма за один раз БЕЗ отправки. Когда использовать: ДО send_email, если тело письма сгенерировано агентом. Объединяет render_template (если указан template_id), проверку на спам, предупреждения о доставляемости и измерение размера, так что вам понадобится всего один запрос, чтобы узнать, можно ли безопасно отправлять. Возвращает: { rendered_subject, rendered_html, rendered_text, size: { html_bytes, text_bytes }, spam: { score, action, symbols[], skipped }, warnings: [{ severity, code, message }] }. Пример: { from: "Acme hi@acme.io", to: ["a@b.io"], template_id: "tpl_welcome", variables: { first_name: "Ada" } }

Параметры
  • fromstringобязательный

    Адрес электронной почты отправителя.

  • htmlstring

    HTML-тело (используется, когда template_id не указан)

  • subjectstring

    Тема (переопределяется шаблоном, если указан template_id)

  • template_idstring

    Template publicId: выводит шаблон вместо html/text.

  • textstring

    Тело в виде обычного текста (используется, когда нет template_id)

  • tostring[]обязательный

    Получатели (не более 5 для предпросмотра)

  • variablesobject

    Переменные шаблона

publish_template

Отмечает шаблон как опубликованный, чтобы на него можно было ссылаться из send_email.Когда использовать: после создания или редактирования шаблона, который вы проверили и хотите сделать доступным для отправки.Возвращает: оформленный шаблон с published=true.Пример: { id: "tpl_abc" }

Параметры
  • idstringобязательный

    ID шаблона для публикации

remove_contact_from_segment

Удаляет один контакт из сегмента. Когда использовать: точечное удаление (например, отказ от рассылки, ручное исключение). Контакт не удаляется. Возвращает: { success: boolean }. Пример: { id: "seg_abc", contact_id: "con_1" }

Параметры
  • contact_idstringобязательный

    Идентификатор контакта для удаления

  • idstringобязательный

    Идентификатор сегмента

remove_suppression

Удалить адрес из списка подавления (отправка возобновится). Когда использовать: ранее заблокированный пользователь явно дал повторное согласие (opt-in), или возврат письма был вызван неправильной конфигурацией. Возвращает: { success: boolean }. Пример: { email: "fixed@aol.com" }

Параметры
  • emailstringобязательный

    Email-адрес для разблокировки.

remove_workflow_node

Удаляет узел и все связанные с ним рёбра. Сначала подтвердите с пользователем. Когда использовать: при удалении узла из автоматизации. Триггерный узел нельзя удалить; удаление узла может отключить нижестоящие узлы — переподключите их по необходимости. Возвращает: { success: boolean }. Пример: { id: "wf_abc123", node_id: "wfn_x" }

Параметры
  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

  • node_idstringобязательный

    public_id узла для удаления

render_template

Выполняет серверный рендеринг шаблона с переданными переменными. Когда использовать: агент хочет предварительно просмотреть итоговый subject/html/text перед отправкой или проверить, какие переменные ожидает шаблон. Возвращает missing_variables[], чтобы агент мог запросить недостающие переменные у пользователя или подставить значения по умолчанию. Возвращает: { subject, html, text, missing_variables[], template_variables[] }. Пример: { template_id: "tpl_welcome", variables: { first_name: "Ada" } }

Параметры
  • template_idstringобязательный

    Шаблон publicId

  • variablesobject

    Подстановки переменных (только строковые значения)

replay_webhook_delivery

Повторно доставьте одну прошлую доставку вебхука (например, ту, что не удалась из-за недоступности конечной точки). Когда использовать: после исправления конечной точки повторите пропущенные доставки, найденные с помощью get_webhook_deliveries. Возвращает: { success: boolean }. Пример: { id: 17, delivery_id: 9001 }

Параметры
  • delivery_idnumberобязательный

    Идентификатор доставки для повтора.

  • idnumberобязательный

    Идентификатор вебхука

reply_to_inbound_email

Отправляет ответ на входящее письмо (тема и заголовки цепочки проставляются автоматически). Когда использовать: агент подготовил текст ответа и хочет его отправить. Пишите ТОЛЬКО текст нового ответа. Цитирование: оригинал подставляется под ответом автоматически («On <date>, <sender> wrote:» + новый текст отправителя, без его собственной цитируемой истории), поэтому клиент получателя показывает это как часть цепочки. Тело, в котором цитата уже есть (например, suggested_html из draft_from_thread), повторно не цитируется. quote_original: false отправляет тело как написано. Подпись: если "from" - это почтовый ящик этого аккаунта с подписью, она добавляется автоматически между ответом и цитатой (или туда, где в теле стоит {{signature}}). НЕ вписывайте в тело имя отправителя, должность, телефон или компанию: если каждый раз восстанавливать подпись по памяти, она разойдётся с настоящей. Папка «Отправленные»: если "from" - почтовый ящик, копия сохраняется в его папку «Отправленные» и связывается с оригиналом в веб-интерфейсе. Возвращает: { id } нового исходящего письма. Пример: { id: 7, from: "support@acme.io", html: "<p>Thanks for reaching out…</p>", text: "Thanks for reaching out…" }

Параметры
  • bccstring[]

    Получатели скрытой копии.

  • ccstring[]

    Получатели копии

  • fromstringобязательный

    Обратный адрес электронной почты

  • htmlstring

    HTML-тело ответа

  • idnumberобязательный

    Идентификатор входящего письма для ответа

  • quote_originalboolean

    Цитирует исходное сообщение под ответом (по умолчанию true)

  • textstring

    Простой текст тела ответа

reschedule_email

Переносит запланированное письмо на новое время отправки. Когда использовать: время доставки письма в очереди нужно скорректировать (например, отправить раньше/позже в рабочее время). Возвращает: { success: boolean }. Пример: { id: "em_7kf2x9", scheduled_at: "2026-04-18T09:00:00Z" }

Параметры
  • idstringобязательный

    Email ID для переноса

  • scheduled_atstringобязательный

    Новое запланированное время (ISO 8601)

resend_broadcast

Повторно отправляет отправленную рассылку подмножеству тех, кто не открыл или не кликнул: создаётся новая рассылка, нацеленная на автоматически сформированный сегмент этих получателей. Когда использовать: чтобы поднять вовлечённость по уже отправленной рассылке (например, второе касание для тех, кто не открыл, с новой темой письма). Исходная рассылка уже должна быть отправлена. Возвращает: { broadcast: { id, subject, status }, segment: { id, name }, recipientCount }. Пример: { id: "bc_abc", target: "non_openers", subject: "Did you miss this?" }

Параметры
  • idstringобязательный

    Идентификатор уже отправленной рассылки для повторной отправки.

  • subjectstring

    Переопределяет тему для повторной отправки.

  • targetenum

    Кому переслать (по умолчанию: non_openers)

revoke_api_key

Навсегда отозвать API-ключ - все последующие запросы с его использованием будут отклоняться. Когда использовать: ключ был скомпрометирован или больше не нужен. Подтвердите с пользователем - необратимо. Возвращает: { success: boolean }. Пример: { id: 17 }

Параметры
  • idnumberобязательный

    ID ключа API для отзыва

rotate_api_key

Ротация ключа API: выпустить новый секрет и аннулировать старый. Полный новый ключ возвращается ОДИН РАЗ в этом ответе и не может быть получен снова. Когда использовать: ключ мог быть скомпрометирован, или вы проводите плановую ротацию. Идентификатор ключа не меняется; меняется только секрет — запросы с использованием старого секрета немедленно отклоняются. Возвращает: сформированный ключ, включающий новую секретную строку — отобразите его один раз и сообщите пользователю обновить свою интеграцию. Пример: { id: 17 }

Параметры
  • idnumberобязательный

    ID ключа API для ротации

rotate_dkim_key

Запускает ротацию ключа DKIM для домена. Когда использовать: подписывающий ключ устарел или мог утечь, а клиент хочет новый. Безопасно вызывать: создаётся новая пара ключей под НОВЫМ селектором и подготавливается; домен продолжает подписывать ТЕКУЩИМ ключом, пока ротация не активирована, так что исходящая почта не пострадает, даже если ротацию так и не завершат. Ответ содержит TXT-запись, которую нужно опубликовать. Передайте пользователю pendingRecordName и pendingRecordValue дословно. После публикации переключение происходит автоматически (или вызовите activate_dkim_rotation). Возвращает: { state, activeSelector, pendingSelector, pendingRecordName, pendingRecordValue, activatesAfter }. Пример: { id: 42 }

Параметры
  • idnumberобязательный

    ID домена

rotate_webhook_secret

Перевыпускает секрет подписи вебхука, сохраняя старый действительным в течение льготного окна. Новый секрет возвращается здесь ОДИН РАЗ. Когда использовать: при плановой ротации или когда секрет подписи может быть скомпрометирован. Льготное окно: события, отправленные после этого вызова, подписываются новым секретом, и в течение graceHours (по умолчанию 24, максимум 168) они несут вторую подпись от СТАРОГО - так потребитель может развернуть новый секрет, не теряя события в промежутке. graceHours: 0 даёт немедленное переключение - правильный выбор, когда секрет действительно утёк, поскольку льготное окно по определению сохраняет скомпрометированный секрет рабочим на всё время его действия. Возвращает: сформированный вебхук плюс новый signingSecret (показывается один раз). previousSecretExpiresAt - это момент, когда старый секрет перестаёт проверяться; его опускают, когда переключение было немедленным. Пример: { id: 17, graceHours: 0 }

Параметры
  • graceHoursinteger

    Как долго старый секрет остаётся действительным, в часах. Если не указать, используется значение по умолчанию 24 ч; 0 переключает сразу.

  • idnumberобязательный

    Идентификатор вебхука

search_contacts

Ищет контакты с фильтрами (сегмент, вовлеченность, отписки) и нечётким запросом по email/first_name/last_name. Добавляет match_reason в каждую строку, указывая, какое поле совпало с запросом. Когда использовать: агенту нужно найти набор кандидатов, например «активные контакты в @acme.io», «все неактивные контакты», «люди по имени Сара». Используйте list_contacts для обычной пагинации без запроса, или используйте этот инструмент, когда нужна фильтрация или аннотация совпадений по строкам. Возвращает: { items: [shaped contact + match_reason], meta: { page, perPage, total, totalPages } }. Пример: { query: "ada", filters: { engagement_segment: "active" }, limit: 25 }

Параметры
  • filtersobject

    Необязательные фильтры

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • pageinteger

    Номер страницы, по умолчанию 1

  • querystring

    Подстрока для сопоставления с email, first_name и last_name

send_batch_emails

Отправляет несколько писем в одном пакетном запросе (до 100 за вызов).Когда использовать: агенту нужно отправить одинаковое или разное содержимое многим получателям за один цикл. Для рассылок по сохранённому сегменту используйте вместо этого create_broadcast/send_broadcast.Возвращает: { data: [{ id }, ...] } - один id на каждое письмо в порядке отправки.Пример: { emails: [{ from, to: ["a@x"], subject: "hi", html }] }

Параметры
  • emailsobject[]обязательный

    Массив email-сообщений для отправки (1-100 за вызов)

send_broadcast

Отправляет черновик рассылки в её сегмент немедленно. Когда использовать: после того как пользователь просмотрел подготовленную рассылку и одобрил отправку. Рассылка должна быть в статусе "draft". Возвращает: { success: boolean }. Пример: { id: "bc_abc" }

Параметры
  • idstringобязательный

    Отправить ID рассылки

send_email

Отправляет одно транзакционное письмо сразу или планирует его на будущее время. Когда использовать: агент решил, что отправить (тема + html/текст + получатели), и хочет, чтобы PostStack доставил это. Сначала нужно запустить preview_email и lint_email, если тело сгенерировано агентом. Signature: когда "from" - один из почтовых ящиков этого аккаунта и у этого ящика есть подпись, она добавляется автоматически - НЕ вводите заново имя отправителя, должность, телефон или компанию в тело письма. Именно такое дублирование приводит к расхождению контактных данных. Передайте signature:"none", чтобы отключить её. Возвращает: { id } - id нового письма, подходящий для get_email или cancel_email. Пример: { from: "Ada ada@example.com", to: ["new@user.io"], subject: "Welcome", html: "<p>Hi</p>" }

Параметры
  • bccstring[]

    Получатели скрытой копии.

  • ccstring[]

    Получатели копии

  • fromstringобязательный

    Адрес электронной почты отправителя (например, «Имя name@example.com»)

  • headersobject

    Пользовательские заголовки email

  • htmlstring

    Содержимое элемента body в HTML.

  • reply_tostring

    Обратный адрес.

  • scheduled_atstring

    ISO 8601 datetime для планирования доставки.

  • signatureenum

    "auto" (по умолчанию) добавляет сохранённую подпись отправляющего почтового ящика, если from задаёт ящик в этом аккаунте, у которого есть подпись. "none" отключает её. Разместите её сами с помощью тега {{signature}} в теле, и она подставится туда, а не добавится в конец.

  • subjectstring

    Тема письма

  • tagsstring[]

    Теги для категоризации

  • template_idstring

    Идентификатор шаблона, используемый вместо html/text.

  • textstring

    Содержимое тела в виде обычного текста.

  • tostring[]обязательный

    Адреса электронной почты получателей (1-50, адреса в чистом виде)

  • variablesobject

    Подстановки переменных шаблона

set_mailbox_filters

Заменяет серверные фильтры почты для ящика. Срабатывает при доставке, для каждого клиента. Когда использовать: раскладывать письма по папкам при поступлении, помечать прочитанными или удалять. Это ЗАМЕНЯЕТ весь набор - сначала вызовите list_mailbox_filters и отправьте полный список обратно вместе со своим изменением, иначе вы удалите остальные правила. Порядок важен: правила выполняются сверху вниз, а правило "stop" завершает обработку. Максимум 50. Пустой массив удаляет все фильтры. "discard" удаляет письмо без отскока и без копии; перед добавлением такого правила подтвердите действие у пользователя. Возвращает: { rules } в том виде, в каком они сохранены, с их позициями. Пример: { id: "mb_abc", rules: [{ name: "Invoices", field: "subject", operator: "contains", value: "invoice", action: "fileinto", actionArg: "Accounting" }] }

Параметры
  • idstringобязательный

    publicId почтового ящика, например mb_abc

  • rulesobject[]обязательный

    Полный набор правил в порядке выполнения.

subscribe_contact_to_topic

Включить контакт в подписку на тему. Когда использовать: явное согласие пользователя («подпишите меня на обновления продуктов»). Возвращает: сформированную запись подписки. Пример: { contact_id: "con_abc", topic_id: "top_abc" }

Параметры
  • contact_idstringобязательный

    Контактный publicId, например con_abc

  • topic_idstringобязательный

    publicId темы для подписки, например top_abc

suggest_from_address

Подбирает подходящие адреса отправителя для заданной цели, используя проверенные домены команды и существующие почтовые ящики. Когда использовать: агент не знает, какой адрес отправителя применить. Передайте цель ("transactional", "marketing", "support", "newsletter" и т.д.); инструмент ранжирует варианты на основе существующих почтовых ящиков (реальных входящих) и типовых локальных частей для этой цели. Возвращает: { recommended: string|null, alternatives: string[], reasoning: string }. Пример: { purpose: "transactional" }

Параметры
  • purposeenumобязательный

    Что агент намерен отправить

test_webhook

Отправляет тестовое событие на URL вебхука, чтобы проверить, доступен ли он и проходит ли проверка подписи. Когда использовать: после создания или редактирования вебхука — убедиться, что конечная точка принимает доставки. Возвращает: { success: boolean }. Пример: { id: 17 }

Параметры
  • idnumberобязательный

    Идентификатор вебхука для тестирования.

trigger_workflow

Запускает выполнение workflow для одного контакта. Работает только с ACTIVE workflow, у которого trigger_type равен "manual": любой другой тип триггера или workflow в статусе draft/paused падает с ошибкой 422 (для "custom" workflow используйте post_workflow_event). Когда использовать: чтобы проверить новый ручной пайплайн от начала до конца или запустить разовый онбординг для одного контакта. Возвращает: { run } - запущенный workflow run (id, status, currentNodeId, …); результаты смотрите в ленте активности контакта. Пример: { id: "wf_abc123", contact_id: "con_abc123" }

Параметры
  • contact_idstringобязательный

    Обратитесь к publicId (например, "con_..."). Используйте list_contacts, чтобы найти его.

  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

unpublish_template

Помечает шаблон как неопубликованный, чтобы его нельзя было отправить. Когда использовать: скрыть шаблон из отправки без удаления (например, завершить кампанию, сохранив историю). Возвращает: сформированный шаблон с published=false. Пример: { id: "tpl_abc" }

Параметры
  • idstringобязательный

    ID шаблона, который нужно снять с публикации

unsubscribe_contact

Помечает контакт как отписанный от всех писем (запись контакта сохраняется). Когда использовать: обрабатывать запрос на отписку, полученный вне PostStack (например, тикет в поддержку, настройки приложения). Возвращает: { success: boolean }. Пример: { id: "con_abc123" }

Параметры
  • idstringобязательный

    Contact ID для отписки

unsubscribe_contact_from_topic

Отписывает контакт от темы подписки. Когда использовать: явная отписка пользователя от одной настройки (контакт остаётся в других темах и в глобальном списке). Возвращает: сформированную запись подписки (subscribed=false). Пример: { contact_id: "con_abc", topic_id: "top_abc" }

Параметры
  • contact_idstringобязательный

    Контактный publicId, например con_abc

  • topic_idstringобязательный

    publicId топика, от которого нужно отписаться, например top_abc

update_broadcast

Редактирует черновик рассылки на месте. Обновлять можно только черновики рассылок. Когда использовать: подправить тему/тело/сегмент/топик перед отправкой или до запланированного времени. Возвращает: сформированную рассылку, отражающую новое состояние. Пример: { id: "bc_abc", subject: "April update (revised)" } Пример: { id: "bc_abc", topic_id: null } - открепляет топик.

Параметры
  • fromstring

    Адрес электронной почты отправителя.

  • htmlstring

    Содержимое элемента body в HTML.

  • idstringобязательный

    Идентификатор трансляции.

  • namestring

    Имя внутренней трансляции

  • reply_tostring

    Обратный адрес.

  • scheduled_atstring

    Дата и время в формате ISO 8601 для планирования отправки.

  • segment_idstring

    Идентификатор сегмента (seg_…)

  • subjectstring

    Тема письма

  • textstring

    Содержимое тела в виде обычного текста.

  • topic_idstring | null

    ID темы подписки (top_…); null отсоединяет тему

update_contact

Обновить имя, свойства или статус подписки существующего контакта.Когда использовать: чтобы синхронизировать запись контакта с вашим приложением (смена имени, обновление тарифа, отказ от подписки).Возвращает: обновлённый контакт, отражающий новое состояние.Пример: { id: "con_abc123", properties: { plan: "scale" } }

Параметры
  • first_namestring

    Имя

  • idstringобязательный

    Идентификатор контакта

  • last_namestring

    Фамилия

  • propertiesobject

    Пользовательские свойства

  • unsubscribedboolean

    Отписан ли контакт

update_contact_property

Редактировать метку, опции или флаг обязательности пользовательского свойства контакта. Когда использовать: переименовать метку, расширить список вариантов для выпадающего списка или переключить флаг обязательности. Нельзя изменить тип после создания. Возвращает: структурированное свойство. Пример: { id: 5, options: ["free","pro","scale","enterprise"] }

Параметры
  • idnumberобязательный

    Идентификатор свойства

  • labelstring

    Новая отображаемая метка.

  • optionsstring[]

    Обновленные опции для типа select.

  • requiredboolean

    Обязательно ли это свойство

update_domain

Обновить настройки домена (трекинг, TLS, входящие, BIMI, поток отправки). Когда использовать: включение/отключение трекинга, переключение режимов TLS, включение приема входящих вебхуков и маршрутизации catch-all, установка логотипа BIMI или привязка домена к конкретному потоку отправки. Возвращает: домен с обновленными настройками. Пример: { id: 42, click_tracking: false, tls_mode: "enforced", inbound_enabled: true }

Параметры
  • bimi_logo_urlstring | null

    HTTPS URL для SVG BIMI-логотипа (максимум 2048 символов); передайте null, чтобы очистить

  • catch_allboolean

    Принимает почту на любой local-part этого домена (требуется inbound_enabled)

  • click_trackingboolean

    Включить/выключить отслеживание кликов.

  • idnumberобязательный

    ID домена

  • inbound_enabledboolean

    Маршрутизирует входящую почту для этого домена во входящие вебхуки PostStack.

  • open_trackingboolean

    Включает или отключает отслеживание открытий.

  • stream_preferenceenum

    Ограничивает исходящие отправки из этого домена конкретным IP-потоком.

  • tls_modeenum

    Режим принудительного TLS

  • tracking_domainstring | null

    Пользовательский CNAME-хост, используемый для ссылок отслеживания открытий/кликов; передайте null, чтобы очистить.

update_mailbox

Обновляет отображаемое имя ящика, квоту, статус, настройку webhook, авто-пересылку или подпись. Когда использовать: сменить метку владельца, приостановить ящик, поднять квоту, настроить авто-пересылку или задать ящику подпись. Подпись: signatureHtml + signatureText добавляются к каждому сообщению, которое отправляет этот ящик, поэтому данные об отправителе (имя, должность, телефон, компания) живут в ОДНОМ месте, а не перенабираются в каждое сообщение, где они расползаются. Задавайте ОБЕ части - текстовую читают получатели в plain-text клиенте, и если выводить её из HTML, подпись получится хуже, чем если написать её вручную. Не включайте разделитель "-- " в signatureText; он добавляется при отправке. Только inline CSS, и никогда не делайте подпись из одного логотипа: большинство клиентов по умолчанию блокируют удалённые изображения, и на месте подписи будет пустой прямоугольник, тогда как текстовый логотип всё равно прочитается. Для тёмной темы не задавайте жёстко почти чёрный цвет на прозрачном фоне - он исчезнет. Передайте null, чтобы очистить любую из частей. HTML очищается при записи, поэтому при чтении ящика разметки может вернуться меньше, чем вы отправили. Авто-пересылка: укажите в forwardTo один или несколько адресов через запятую, и каждое сообщение, которое получает ящик, пересылается автоматически. Очистите его (пустая строка или null), чтобы остановить. forwardMode "relay" (по умолчанию) воспроизводит оригинал точно: та же тема, то же тело, те же вложения, трекинг подавлен - именно это нужно системе дальше по цепочке, которая сопоставляет по теме или тексту письма. "wrapped" - привычный стиль почтового клиента с темой Fwd: и цитируемым блоком заголовков: человеку читать удобно, но текст меняется. forwardKeepCopy (по умолчанию true) дополнительно доставляет письмо в этот ящик, так что он остаётся архивом всего, что через него прошло. Зацикливание под контролем: максимум 3 пересылки, никогда на себя, автоответы и массовые рассылки не пересылаются. Возвращает: ящик в новом состоянии. Пример: { id: "mb_abc", forwardTo: "support@acme.io", forwardMode: "relay" }

Параметры
  • displayNamestring | null

    Отображаемое имя

  • forwardKeepCopyboolean

    Также доставлять в этот почтовый ящик при пересылке. По умолчанию true.

  • forwardModeenum

    relay (по умолчанию) пересылает сообщение без изменений; wrapped добавляет к теме Fwd: и блок цитируемых заголовков.

  • forwardTostring | null

    Адреса автопересылки: 1-10 адресов через запятую. Пустое значение или null отключает пересылку.

  • idstringобязательный

    publicId почтового ящика, например mb_abc

  • quotaBytesnumber

    Квота хранилища в байтах

  • signatureHtmlstring | null

    Разметка подписи, добавляемая к исходящим HTML-телам. Только inline CSS; санитизируется при записи. Null очищает её.

  • signatureTextstring | null

    Подпись в виде обычного текста для текстовой части. Разделитель "-- " не указывается; он добавляется при отправке. Null очищает её.

  • statusenum

    Статус почтового ящика

  • webhookEnabledboolean

    Включает webhook-уведомления.

update_segment

Переименовать существующий сегмент. Когда использовать: приводить в порядок имена сегментов. Состав участников не меняется. Возвращает: сформированный сегмент с новым именем. Пример: { id: "seg_abc", name: "Spring 2026 launch (final)" }

Параметры
  • idstringобязательный

    Идентификатор сегмента

  • namestringобязательный

    Новое имя сегмента.

update_signup_form

Обновляет поля формы регистрации, целевой сегмент/тему, сообщения или статус активности. Когда использовать: настройка формы без повторной вставки. Установите active=false, чтобы прекратить прием новых отправок, сохранив форму. Возвращает: сформированную форму с новым состоянием. Пример: { id: "sf_xyz789", active: false }

Параметры
  • activeboolean

    Принимает ли форма заявки

  • fieldsobject[]
  • idstringобязательный

    Публичный идентификатор (publicId) формы регистрации.

  • namestring

    Новое внутреннее имя

  • redirect_urlstring | null

    Новый URL перенаправления или null

  • segment_idstring | null

    Новый publicId сегмента или null для отсоединения.

  • success_messagestring
  • topic_idstring | null

    Задает новый идентификатор темы publicId, или null для отсоединения.

update_template

Обновить имя, тему, тело или список переменных существующего шаблона. Когда использовать: редактировать шаблон на месте. Версия шаблона увеличивается при обновлении. Возвращает: сформированный шаблон с новой версией. Пример: { id: "tpl_abc", subject: "Updated subject" }

Параметры
  • htmlstring

    Содержимое элемента body в HTML.

  • idstringобязательный

    ID шаблона

  • namestring

    Имя шаблона

  • subjectstring

    Тема письма

  • textstring

    Содержимое тела в виде обычного текста.

  • variablesstring[]

    Имена переменных, используемых в шаблоне.

update_webhook

Редактирует URL, список событий или состояние активности webhook. Когда использовать: смена конечной точки, расширение/сужение событий или временное отключение. Возвращает: настроенный webhook с новым состоянием. Пример: { id: 17, enabled: false }

Параметры
  • enabledboolean

    Включить или отключить вебхук.

  • eventsenum[]

    События для подписки

  • idnumberобязательный

    Идентификатор вебхука

  • urlstring

    Новый URL webhook

update_workflow

Обновляет имя, тип или конфигурацию триггера рабочего процесса.Когда использовать: переименование, смена триггера или уточнение фильтров триггера. Для редактирования графа используйте add_workflow_node, update_workflow_node, remove_workflow_node и connect_workflow_nodes.Возвращает: сформированный рабочий процесс с новым состоянием.Пример: { id: "wf_abc123", name: "Renamed onboarding" }

Параметры
  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

  • namestring

    Новое имя

  • trigger_configobject | null

    Новый фильтр триггера или null для очистки

  • trigger_typeenum

    Новый тип триггера

update_workflow_node

Заменяет конфиг узла. Нельзя изменить его тип или связи (используйте connect_workflow_nodes / remove_workflow_node). Когда использовать: подправить ID шаблона, длительность ожидания или условие предиката без перестройки графа. Возвращает: { success: true }. Пример: { id: "wf_abc123", node_id: "wfn_x", config: { duration: 1, unit: "hours" } }

Параметры
  • configobjectобязательный

    Новая конфигурация (заменяет существующую)

  • idstringобязательный

    Публичный идентификатор Workflow (publicId)

  • node_idstringобязательный

    Node public_id

validate_email

Проверяет, безопасно ли отправлять письмо на email-адрес, ПЕРЕД вызовом create_contact или send_email.Выполняет проверку синтаксиса → MX → одноразовых/ролевых адресов, возвращает результат + уровень риска.Когда использовать: пользователь только что ввёл адрес, импортируется CSV, или агент собирается добавить контакт. Дешёво, в реальном времени, без внешнего трафика кроме DNS.Возвращает: { email, result: "deliverable"|"undeliverable"|"risky"|"unknown", risk: "low"|"medium"|"high", checks: { syntax, mx, disposable, role, free } }.Пример: { email: "user@example.com" }

Параметры
  • emailstringобязательный

    Один адрес электронной почты для проверки.

validate_email_batch

Проверяет до 100 email-адресов за один вызов. Те же проверки, что и validate_email для каждого адреса. Когда использовать: очистка только что импортированного списка перед массовым create_contact, или предварительная проверка сегмента рассылки. Возвращает: { results: [{ email, result, risk, checks: { syntax, mx, disposable, role, free } }, ...] }, та же структура, что и validate_email для каждой строки, в порядке ввода. Пример: { emails: ["a@example.com", "b@example.com"] }

Параметры
  • emailsstring[]обязательный

    1–100 email-адресов для совместной проверки

verify_domain

Запускает DNS-проверку для домена. Когда использовать: пользователь настроил DNS-записи (SPF/DKIM/DMARC/return-path) и хочет, чтобы PostStack перепроверил их. Возвращает новый статус - "verified" означает, что отправка разблокирована. Возвращает: оформленный домен с обновлённым статусом и флагами проверки для каждой записи. Пример: { id: 42 }

Параметры
  • idnumberобязательный

    Domain ID для проверки

0.8.0основная
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.1.0

Выберите клиент, чтобы установить getpoststack/mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "getpoststack-mcp-6cm8s685qf": {
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "getpoststack-mcp-6cm8s685qf": {
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "getpoststack-mcp-6cm8s685qf": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"getpoststack-mcp-6cm8s685qf\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@poststack.dev/mcp\"],\"env\":{\"POSTSTACK_API_KEY\":\"sk_live_your_api_key_here\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "getpoststack-mcp-6cm8s685qf": {
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add getpoststack-mcp-6cm8s685qf --env POSTSTACK_API_KEY=sk_live_your_api_key_here -- npx -y @poststack.dev/mcp

Либо через JSON-конфиг:

claude mcp add-json getpoststack-mcp-6cm8s685qf "{\"command\":\"npx\",\"args\":[\"-y\",\"@poststack.dev/mcp\"],\"env\":{\"POSTSTACK_API_KEY\":\"sk_live_your_api_key_here\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add getpoststack-mcp-6cm8s685qf --env POSTSTACK_API_KEY=sk_live_your_api_key_here -- npx -y @poststack.dev/mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.getpoststack-mcp-6cm8s685qf]
command = "npx"
args = ["-y", "@poststack.dev/mcp"]

[mcp_servers.getpoststack-mcp-6cm8s685qf.env]
POSTSTACK_API_KEY = "sk_live_your_api_key_here"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите getpoststack/mcp, а в поле команды запуска — строку ниже:
npx -y @poststack.dev/mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "getpoststack-mcp-6cm8s685qf": {
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "getpoststack-mcp-6cm8s685qf": {
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например getpoststack-mcp-6cm8s685qf.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: getpoststack-mcp-6cm8s685qf
    command: npx
    args:
      - "-y"
      - "@poststack.dev/mcp"
    env:
      POSTSTACK_API_KEY: sk_live_your_api_key_here
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "getpoststack-mcp-6cm8s685qf": {
      "command": "npx",
      "args": [
        "-y",
        "@poststack.dev/mcp"
      ],
      "env": {
        "POSTSTACK_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}

Похожие MCP-сервера

helbertparanhos/resend-email-mcp

helbertparanhos/resend-email-mcp

от helbertparanhos

MCP-сервер с полным покрытием Resend API: отправка и управление email, доменами, контактами, рассылками и шаблонами. Уникальный слой диагностики для анализа доставляемости, DNS-проблем, баунсов и а...

TypeScript⭐ 1
mailgun/mailgun-mcp-server

mailgun/mailgun-mcp-server

от mailgun

MCP сервер для Mailgun позволяет AI агентам отправлять email, управлять доставляемостью, доменами и аналитикой. Идеален для разработчиков, автоматизирующих почтовые процессы через MCP инструмент с поддержкой валидации и тестов доставляемости.

TypeScript⭐ 62
wyattjoh/jmap-mcp

wyattjoh/jmap-mcp

от wyattjoh

MCP-сервер для работы с JMAP-почтой: поиск, чтение, отправка, перемещение и удаление писем, управление папками и синхронизация. Полезен разработчикам, автоматизирующим почту через FastMail, Cyrus и...

TypeScript⭐ 177
agenticmail/agenticmail

agenticmail/agenticmail

официальный

от agenticmail

MCP сервер наделяет AI-агентов реальными email и номерами телефонов для отправки и получения писем, SMS и кодов верификации. Встроенная память, голосовые вызовы и медиа-инструменты расширяют их возможности.

TypeScript⭐ 239
shy2593666979/mcp-server-email

shy2593666979/mcp-server-email

от shy2593666979

MCP сервер для отправки email и поиска вложений. Даёт AI-ассистентам возможность составлять и отправлять письма с вложениями, а также искать файлы по шаблону. Использует SMTP, поддерживает нескольких получателей.

Python⭐ 81
clawaimail/mcp

clawaimail/mcp

от joansongjr

ClawAIMail - MCP сервер для AI-агентов, предоставляющий почтовые ящики и полный контроль над email через REST API, WebSocket и webhooks. Идеален для разработчиков, строящих агентные рабочие процессы с email.

HTML⭐ 2
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин