trycourier/courier-mcp

trycourier/courier-mcp

от trycourier
MCP-сервер Courier даёт AI-агентам полный доступ к API уведомлений через 124 инструмента: отправка сообщений, управление профилями, доставкой, списками и аудиенциями. Полезен для интеграции ИИ-аген...

Courier MCP Server

The official Model Context Protocol (MCP) server for the Courier notification API. It gives AI agents full access to the Courier API — send messages, manage profiles, debug deliveries, configure lists, and more — through 124 tools backed by the @trycourier/courier Node SDK.

Install

Courier runs a hosted MCP server at https://mcp.courier.com. No local setup required.

Install in Cursor

Cursor — add to .cursor/mcp.json:

{
  "mcpServers": {
    "Courier": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "YOUR_COURIER_API_KEY"
      }
    }
  }
}

Claude Code:

claude mcp add Courier --transport http --url https://mcp.courier.com --header "api_key: YOUR_COURIER_API_KEY"

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "Courier": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "YOUR_COURIER_API_KEY"
      }
    }
  }
}
Local development
Инструменты были проиндексированы:
add_bulk_users

Добавляет пользователей в существующее пакетное задание.

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

    The bulk job ID

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

    Array of user objects to add

add_subscribers_to_list

Добавляет подписчиков в список, не удаляя существующих подписчиков.

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

    The list ID

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

    Recipients to set on the list

add_user_to_tenantидемпотентный

Добавляет пользователя в тенант.

Параметры
  • profileobject

    Tenant-scoped profile overrides

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

    The tenant ID

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

    The user ID

archive_journeyидемпотентный

Архивирует путешествие. Архивированные путешествия нельзя вызывать, но существующие запуски продолжаются до завершения.

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

    The journey template ID to archive

archive_journey_templateидемпотентный

Архивирует шаблон уведомления, привязанный к сценарию. Архивированные шаблоны отправлять нельзя.

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

    The journey template ID that owns this notification

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

    The notification template ID

archive_notificationидемпотентный

Архивирует шаблон уведомления по идентификатору.

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

    The notification template ID to archive

archive_preference_sectionидемпотентный

Archive a preference section. The section must be empty: delete its topics first, otherwise the request fails with 409.

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

    Id of the preference section to archive

archive_preference_topicидемпотентный

Archive a topic within a section.

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

    Id of the preference section

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

    Id of the subscription preference topic to archive

archive_requestидемпотентный

Архивирует запрос на отправку и все связанные с ним сообщения по идентификатору запроса.

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

    The request ID (requestId returned from /send)

archive_routing_strategyидемпотентный

Archive a routing strategy. The strategy must not have associated notification templates; unlink all templates before archiving.

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

    The routing strategy ID to archive

bulk_add_user_tenantsидемпотентный

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

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

    Array of tenant associations

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

    The user ID

bulk_add_user_tokens

Добавляет несколько токенов push/устройства для пользователя одним запросом. Перезаписывает совпадающие существующие токены.

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

    Token records to upsert

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

    The user ID

bulk_replace_user_preferencesидемпотентный

Заменяет весь набор переопределений предпочтений пользователя одним запросом. Темы в теле запроса становятся всем набором переопределений получателя: перечисленные темы создаются или обновляются, а каждое существующее переопределение, не включённое в запрос, сбрасывается к значению по умолчанию для своей темы. Пустой массив topics очищает все переопределения. Атомарная проверка (всё или ничего).

Параметры
  • tenant_idstring

    Scope the replacement to a specific tenant context

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

    The complete set of topic overrides. An empty array resets every existing override.

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

    The user ID

bulk_subscribe_to_listидемпотентный

Заменяет всех подписчиков в списке на указанных получателей.

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

    The list ID

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

    Recipients to set on the list

bulk_update_user_preferences

Аддитивно создаёт или обновляет предпочтения пользователя для одной или нескольких тем в одном запросе. Затрагиваются только темы из тела запроса; существующие переопределения для других тем остаются нетронутыми. Частичный успех: валидные темы записываются и возвращаются в items, неприменимые собираются в errors.

Параметры
  • tenant_idstring

    Scope the update to a specific tenant context

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

    Topics to create or update

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

    The user ID

cancel_automationидемпотентный

Отменяет выполняющуюся автоматизацию по её cancelation_token. Это запускает вторую ad-hoc автоматизацию с одним шагом отмены. Токен должен совпадать с cancelation_token, заданным при запуске исходной автоматизации. Примечание: пишется "cancelation_token" (с одной "l").

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

    The cancelation_token that was set when the automation was originally invoked

cancel_journeyидемпотентный

Cancel journey runs. Supply EXACTLY ONE of cancelation_token (cancels every run associated with the token) or run_id (cancels a single run). Cancelation is idempotent: a run that already finished or was already canceled is left unchanged.

Параметры
  • cancelation_tokenstring

    Cancels every run associated with this token. Mutually exclusive with run_id.

  • run_idstring

    Cancels a single run by id. Mutually exclusive with cancelation_token.

cancel_messageидемпотентный

Cancel a message that is currently being delivered. Returns the message details with updated status.

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

    The message ID to cancel

cancel_notification_submissionидемпотентный

Отменяет отправку шаблона уведомления.

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

    The notification template ID

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

    The submission ID to cancel

courier_installation_guideтолько чтение

Получает руководство по установке Courier SDK для конкретной платформы. Для клиентских SDK (React, iOS, Android, Flutter, React Native) также генерирует пример JWT.

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

    The platform to get installation guide for

  • user_idstring

    User ID for JWT generation (client-side SDKs only). Defaults to "example_user".

create_brand

Создает новый бренд. API требует параметр settings: если его опустить, возвращается 400. Если у вас нет конкретных фирменных цветов, не указывайте settings, и автоматически будет использован безопасный вариант по умолчанию (primary черный, secondary белый). Пример: { name: "Acme", settings: { colors: { primary: "#1a73e8", secondary: "#ffffff" } } }.

Параметры
  • idstring

    Optional brand ID; auto-generated if omitted

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

    Brand display name

  • settingsobject

    Brand appearance settings. If omitted, defaults to { colors: { primary: "#000000", secondary: "#ffffff" } }.

  • snippetsobject

    Brand snippets

create_bulk_job

Создайте новое массовое задание для отправки сообщений нескольким получателям. Порядок действий: create_bulk_job → add_bulk_users → run_bulk_job.

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

    Bulk message definition with event/template and content

create_journey

Создаёт новое путешествие. Всегда создаётся как черновик; публикация выполняется отдельным шагом, который этот инструмент выполнить не может. Отправьте два узла: триггер и выходной узел последним. Оба обязательны — создание без выходного узла отклоняется, и API сообщает об этом как «exit node must be the last node in the journey», даже если выходной узел не отправлялся вовсе. Узлы send и delay добавляются позже через replace_journey, когда уже существуют шаблоны в рамках путешествия. Идентификаторы узлов генерируются сервером; НЕ включайте поле id. Пример: { name: "Welcome Journey", nodes: [{ type: "trigger", trigger_type: "api-invoke" }, { type: "exit" }], enabled: true }. Результат содержит объект "verification", который считывается с сервера после записи — проверяйте его каждый раз. verified:true означает, что сохранено именно то, что вы запрашивали. verified:false указывает, что именно не сохранилось: "fieldMismatches" — для полей узлов, которые не применились, "nodeCountMismatch" — если узел был потерян или добавлен, и "unknownTemplateReferences" — для send-узла, указывающего на идентификатор шаблона, которого нет в этом путешествии — почти всегда это опечатка в идентификаторе, поэтому скопируйте его заново из ответа create_journey_template или get_journey, откуда он взялся. Исправьте именно указанную проблему и отправьте исправленный документ. Повторная отправка идентичного вызова ничего не меняет, а каждый replace_journey снова перезаписывает весь черновик. "errorKind" со значением "unauthorized" означает, что сама запись прошла успешно, а отказано было только в обратном чтении: сообщайте об этом как о неподтверждённом, но никогда как о неудачной записи.

Параметры
  • enabledboolean

    Whether the journey is active. Defaults to true.

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

    Journey display name

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

    The trigger node, then a terminal exit node — both required. Send and delay nodes are added later by replace_journey. Node ids are server-generated — do NOT include an id field. Example: [{ type: "trigger", trigger_type: "api-invoke" }, { type: "exit" }].

  • stateenum

    Must be "DRAFT". These tools cannot publish.

create_journey_template

Create a notification template scoped to a journey. Always created as a draft; making it live is a separate step this tool cannot perform. The template can then be referenced in journey send nodes. content.elements must be wrapped in a channel block — the API rejects bare elements. Example: { journey_id: "j-abc", channel: "email", notification: { name: "Welcome Email", tags: [], brand: null, subscription: null, content: { version: "2022-01-01", elements: [{ type: "channel", channel: "email", elements: [{ type: "text", content: "Hello!" }] }] } } }. The result carries a "verification" object confirming the new id is really present on the journey. verified:true means the id in this response is safe to reference from a send node. verified:false means it is not visible yet — re-read the journey before referencing it, and do not create a second template to work around it. An "errorKind" of "unauthorized" means the template was created and only the check was refused.

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

    Channel for this template (e.g. "email", "push", "sms", "inbox")

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

    The journey template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

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

    Notification template definition

  • provider_keystring

    Specific provider key to target

  • stateenum

    Must be "DRAFT". These tools cannot publish.

create_listидемпотентный

Создает или обновляет список по идентификатору списка.

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

    The list ID

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

    Display name for the list

create_notification

Создаёт шаблон уведомления V2. Поле name обязательно. Содержимое (content) можно передать inline или задать отдельно позже. Новый шаблон остаётся черновиком; чтобы сделать его активным, нужен отдельный шаг, который этот инструмент выполнить не может. Привязывает стратегию маршрутизации через поле notification.routing.strategy_id, чтобы управлять тем, какие каналы используются. Пример: { notification: { name: 'welcome-email', tags: [], brand: null, subscription: null, routing: { strategy_id: 'rs_01abc' }, content: { version: '2022-01-01', elements: [] } } }.

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

    Notification template payload

  • stateenum

    Must be "DRAFT". These tools cannot publish.

create_or_merge_userидемпотентный

Создаёт новый профиль пользователя или объединяет переданные значения с существующим профилем (POST). Не указанные существующие поля сохраняются.

Параметры
  • profileobject

    Profile data to create or merge (e.g. { email: "...", phone_number: "..." })

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

    The user ID

create_or_replace_user_push_tokenидемпотентный

Создаёт или заменяет push/device токен для пользователя.

Параметры
  • deviceobject

    Device metadata

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

    Push provider

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

    The token string

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

    The user ID

create_or_update_tenantидемпотентный

Создаёт или заменяет тенант. Тенанты - это организации или группы, к которым принадлежат пользователи.

Параметры
  • brand_idstring

    Brand ID to associate with this tenant

  • default_preferencesobject

    Default notification preferences applied to users in this tenant. Example: { "items": [{ "id": "topic_abc", "status": "OPTED_IN", "type": "subscription_topic" }] }

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

    Display name for the tenant

  • parent_tenant_idstring

    Parent tenant ID for hierarchical tenants

  • propertiesobject

    Custom properties for the tenant

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

    The tenant ID

  • user_profileobject

    Default profile data for users in this tenant

create_preference_section

Create a preference section in your workspace. The section id is generated and returned. Add topics afterwards with create_preference_topic.

Параметры
  • has_custom_routingboolean

    Whether the section defines custom routing for its topics

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

    Human-readable name for the section

  • routing_optionsenum[]

    Default channels for the section. Defaults to empty if omitted.

create_preference_topic

Create a subscription preference topic inside a section. The topic id is generated and returned. Fails with 404 if the section does not exist.

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

    Preference controls a recipient may customize for this topic

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

    Default subscription status applied when a recipient has not set their own

  • include_unsubscribe_headerboolean

    Whether to include a list-unsubscribe header on emails for this topic

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

    Human-readable name for the preference topic

  • routing_optionsenum[]

    Default channels delivered for this topic. Defaults to empty if omitted.

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

    Id of the preference section to create the topic in

  • topic_dataobject

    Arbitrary metadata associated with the topic

create_provider

Create a new provider (integration) configuration. Once routing strategies or notification templates reference this config, credential or settings mistakes can affect live sends—confirm provider key and settings against list_provider_catalog before saving. The provider field must be a known Courier provider key.

Параметры
  • aliasstring

    Short alias for referencing this provider

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

    Provider key from the catalog (e.g. sendgrid, twilio, firebase-fcm)

  • settingsobject

    Provider-specific settings (API keys, credentials, etc.)

  • titlestring

    Display name for this provider configuration

create_routing_strategy

Создаёт стратегию маршрутизации, определяющую, как уведомления доставляются по каналам и провайдерам.

Параметры
  • channelsobject

    Per-channel delivery configuration

  • descriptionstring

    Description of the routing strategy

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

    Human-readable name for the routing strategy

  • providersobject

    Per-provider delivery configuration

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

    Routing tree defining channel selection method and order

  • tagsstring[]

    Tags for categorization

delete_audienceидемпотентный

Удаляет аудиторию по её ID.

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

    The audience ID to delete

delete_brandидемпотентный

Удаляет бренд по его ID.

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

    The brand ID to delete

delete_listидемпотентный

Удаляет список по его ID.

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

    The list ID

delete_profileидемпотентный

Удаляет профиль пользователя навсегда.

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

    The user ID to delete

delete_providerидемпотентный

Delete a provider configuration. Returns 409 if the provider is still referenced by routing or notifications.

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

    The provider configuration ID to delete

delete_tenantидемпотентный

Удаляет тенанта по его ID.

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

    The tenant ID to delete

delete_tenant_preferenceидемпотентный

Удаляет настройку уведомлений по умолчанию для топика из тенанта.

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

    The tenant ID

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

    The subscription topic ID

delete_tenant_template

Удаляет шаблон уведомлений тенанта. Возвращает 204 при успехе, 404, если шаблон не существует для этого тенанта.

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

    The notification template ID to delete

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

    The tenant ID that owns the template

delete_user_list_subscriptionsидемпотентный

Удаляет все подписки на списки для пользователя.

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

    The user ID

delete_user_preference_topicидемпотентный

Удаляет предпочтение пользователя для конкретной темы подписки, возвращая её к статусу по умолчанию для этой темы.

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

    The subscription topic ID

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

    The user ID

delete_user_tokenидемпотентный

Удаляет конкретный push-токен для пользователя.

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

    The token identifier to delete

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

    The user ID

generate_jwt_for_user

Генерирует JWT-токен аутентификации для пользователя. Используется для аутентификации клиентских SDK (Inbox, Preferences и т.д.).

Параметры
  • expires_instring

    Token expiry duration (e.g. "1h", "2 days")

  • scopesstring[]

    Permission scopes for the token

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

    The user ID to scope the token to

get_audienceтолько чтение

Get an audience by its ID, including its filter definition.

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

    The audience ID

get_audit_eventтолько чтение

Get a specific audit event by its ID.

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

    The audit event ID

get_brandтолько чтение

Получает бренд по его идентификатору.

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

    The brand ID

get_bulk_jobтолько чтение

Получает статус пакетного задания.

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

    The bulk job ID

get_journeyтолько чтение

Получает путешествие по идентификатору. Передайте version=draft, чтобы получить рабочий черновик, или version=vN для исторической версии. По умолчанию используется опубликованная версия.

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

    The journey template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • versionstring

    Version to retrieve: "draft", "published" (default), or a version string like "v001"

get_journey_templateтолько чтение

Получает шаблон уведомления в рамках journey по идентификатору уведомления. Передайте version=draft, чтобы получить рабочий черновик (требуется до публикации шаблона). По умолчанию возвращается опубликованная версия.

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

    The journey template ID that owns this notification. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

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

    The notification template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • versionstring

    Version to retrieve: "draft", "published" (default), or "vN"

get_journey_template_contentтолько чтение

Получает содержимое элементов шаблона уведомления в рамках journey. Передаёт version=draft для рабочего черновика или vN для исторической версии. По умолчанию возвращается опубликованная версия.

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

    The journey template ID that owns this notification. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

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

    The notification template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • versionstring

    Version to retrieve: "draft", "published" (default), or a version string like "v001"

get_listтолько чтение

Получает список по его идентификатору.

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

    The list ID

get_list_subscribersтолько чтение

Get all subscribers of a list.

Параметры
  • cursorstring

    Pagination cursor

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

    The list ID

get_messageтолько чтение

Получает полные сведения и статус одного сообщения по его ID.

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

    The message ID to retrieve

get_message_contentтолько чтение

Получает отрисованное содержимое (HTML, text, subject) ранее отправленного сообщения.

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

    The message ID

get_message_historyтолько чтение

Получает историю событий для сообщения, показывая каждый шаг в конвейере доставки (в очереди, отправлено, доставлено и т. д.).

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

    The message ID

  • typestring

    Filter by event type

get_notificationтолько чтение

Retrieve a notification template by ID. Optionally request draft, published, or a version such as v001.

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

    The notification template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • versionstring

    Version to retrieve: "draft", "published" (default — omit this to get it), or a version string like "v001"

get_notification_contentтолько чтение

Получает опубликованные блоки контента шаблона уведомления.

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

    The notification template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

get_notification_draft_contentтолько чтение

Получает черновые (неопубликованные) блоки контента шаблона уведомления.

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

    The notification template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

get_notification_metricsтолько чтение

Delivery funnel for ONE notification template over time: sent, delivered, opened, clicked, errors and undeliverable, per provider and channel, in time buckets. Choosing the window — supply EITHER lookback OR start and end together, NEVER both. Supplying both is rejected. For a relative window like 'the last week', lookback alone is the whole answer: do not also pin start and end. Default is the last 30 days by day. Fine granularities cover shorter windows: HOUR spans at most 7 days and DAY at most 90. How far back a workspace may look also depends on its plan; a request reaching further back is refused with a payment error, which means the plan does not cover that window, NOT that there is no data. A coarser granularity can reach further back than a fine one. Reading the numbers correctly: - The first four counters are NESTED, not separate groups. Every delivered message is also counted in sent, every opened one in delivered, every clicked one in opened. So sent >= delivered >= opened >= clicked always. Report rates (delivered/sent) or the counters themselves. Do NOT add them together — the total is meaningless. And sent minus delivered is NOT a failure count; it is only 'did not reach the delivered stage', for any reason. - errors and undeliverable are counted separately and OVERLAP the funnel: a message that failed on one provider and succeeded on a retry appears in both errors and sent. They are not a remainder and do not complete a total. - Every counter is a count of distinct MESSAGES, not of events. A message that errored three times counts once in errors. - A bucket's data array holds one entry per provider and channel. To get a bucket total, add up the entries in that array — that is the only sum that means anything here. Note that rows for Courier's own built-in email sender are excluded, so these entries can add up to less than the workspace's true volume. What the buckets mean: - A message is counted in the bucket it was ENQUEUED in, not when the event happened. An open today of a message sent last Tuesday is counted in last Tuesday's bucket. So a past bucket can still change: yesterday's opened may be higher when you ask again tomorrow. - Results are cached for up to an hour and the pipeline adds its own lag, so a message sent minutes ago is expected NOT to appear yet. Never tell a user a just-sent message is missing; say the data has not caught up. - Read the window off the response's start and end, not off what you asked for. The API widens the window to whole buckets and returns the boundaries it actually used. - Quiet buckets are returned with an empty data array, so the series has no gaps. - An unknown template id returns an all-empty series rather than an error, and messages sent without a template never appear here at all. An empty result is not proof a template is unused — check that the id is right before concluding anything from it. - Because of that, a NOT FOUND / 404 error is never about the template id. It means the metrics endpoint itself could not be reached, which is an infrastructure or configuration problem on Courier's side. Say that the metrics service is unreachable and that someone should be told; do NOT tell the user to check or correct their template id, which sends them to fix something that was never wrong.

Параметры
  • endstring

    Window end, ISO 8601 with offset. Requires start. Must not be combined with lookback.

  • granularityenum

    Bucket size. HOUR covers at most 7 days, DAY at most 90. Defaults to DAY.

  • lookbackstring

    Window length counted back from now, as an ISO 8601 duration (P30D, P12W, PT12H). Defaults to P30D. Must not be combined with start/end.

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

    The notification template ID to report on (no commas or whitespace)

  • startstring

    Inclusive window start, ISO 8601 with offset (2026-04-01T00:00:00Z). Requires end. Must not be combined with lookback.

get_preference_sectionтолько чтение

Retrieve a preference section by id, including its topics.

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

    Id of the preference section

get_preference_topicтолько чтение

Retrieve a topic within a section. Returns 404 if the section or topic does not exist, or the topic belongs to a different section.

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

    Id of the preference section

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

    Id of the subscription preference topic

get_providerтолько чтение

Fetch a single provider configuration by ID.

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

    The provider configuration ID

get_routing_strategyтолько чтение

Получает стратегию маршрутизации по идентификатору. Возвращает полную сущность, включая маршрутизацию, каналы и провайдеров.

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

    The routing strategy ID (rs_ prefix)

get_tenantтолько чтение

Получает тенанта по его ID.

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

    The tenant ID

get_tenant_templateтолько чтение

Получает связь шаблона уведомлений тенанта по идентификатору шаблона.

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

    The template ID

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

    The tenant ID

get_tenant_template_versionтолько чтение

Получает конкретную версию шаблона уведомлений тенанта (например, latest, published или v1).

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

    The template ID

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

    The tenant ID

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

    Version identifier (latest, published, or v-prefixed)

get_translationтолько чтение

Получает перевод для конкретной локали (например, "en_US", "fr_FR").

Параметры
  • domainstring

    Translation domain (only "default" is supported currently)

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

    Locale code (e.g. en_US, fr_FR)

get_user_list_subscriptionsтолько чтение

Get all list subscriptions for a user.

Параметры
  • cursorstring

    Pagination cursor

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

    The user ID

get_user_preferencesтолько чтение

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

Параметры
  • tenant_idstring

    Omit this to get the user's workspace-level preferences — that answers most preference questions. Only pass it when you need the tenant-scoped overrides for one specific tenant instead.

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

    The user ID

get_user_preference_topicтолько чтение

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

Параметры
  • tenant_idstring

    Scope to a specific tenant

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

    The subscription topic ID

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

    The user ID

get_user_profile_by_idтолько чтение

Get a user profile by their ID. Returns profile data including email, phone, and custom properties.

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

    The user ID to look up

get_user_push_tokenтолько чтение

Получает конкретный push/device token для пользователя.

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

    The token identifier

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

    The user ID

invoke_ad_hoc_automation

Запускает ad-hoc автоматизацию с встроенными шагами. Допустимые действия шагов: send, send-list, delay, cancel, update-profile, invoke, fetch-data. Чтобы отменить ранее запущенную автоматизацию, используйте вместо этого инструмент cancel_automation.

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

    The automation definition with typed steps

  • brandstring
  • dataobject
  • profileobject
  • recipientstring
  • templatestring
invoke_automation_template

Invoke an automation run from an existing automation template. template_id refers to an existing automation template in the workspace. Example: { template_id: "auto-onboarding", recipient: "user-123", data: { plan: "pro" } }.

Параметры
  • brandstring

    Brand ID override

  • dataobject

    Data to pass to the automation

  • profileobject

    Profile data for the recipient

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

    Recipient user ID

  • templatestring

    Notification template override

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

    The automation template ID

invoke_journey

Invoke a journey run from a journey template. template_id refers to an existing journey template in the workspace. Example: { template_id: "j-onboarding", user_id: "user-123", data: { plan: "pro" } }.

Параметры
  • dataobject

    Data payload passed to the journey for conditions and template variables

  • profileobject

    Profile data for the user (email, phone, custom fields)

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

    The journey template ID

  • user_idstring

    Recipient user ID. Can also be resolved from profile or data.

list_audience_membersтолько чтение

Перечисляет всех участников аудитории.

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

    The audience ID

  • cursorstring

    Pagination cursor

list_audiencesтолько чтение

Перечисляет все аудитории в рабочем пространстве.

Параметры
  • cursorstring

    Pagination cursor

list_audit_eventsтолько чтение

List audit events in the workspace. Useful for tracking API usage and changes.

Параметры
  • cursorstring

    Pagination cursor

list_automationsтолько чтение

Перечисляет шаблоны автоматизации в рабочем пространстве, возвращая каждый template_id и состояние его версии. Опционально фильтрует по параметру version.

Параметры
  • cursorstring

    Pagination cursor

  • versionenum

    Filter by version state

list_brandsтолько чтение

Перечислите все бренды в рабочем пространстве.

Параметры
  • cursorstring

    Pagination cursor

list_bulk_usersтолько чтение

Перечисляет пользователей в рамках пакетного задания.

Параметры
  • cursorstring

    Pagination cursor

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

    The bulk job ID

list_digest_instancesтолько чтение

List the digest instances for a schedule. Each instance represents the events accumulated for a single user against the schedule, useful for monitoring accumulation before a digest is released.

Параметры
  • cursorstring

    Pagination cursor from a previous response

  • limitnumber

    Max instances to return (default 20, max 100)

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

    The digest schedule id, in the form "sch/{uuid}"

list_journeysтолько чтение

Перечисляет шаблоны путешествий в рабочем пространстве, возвращая идентификаторы путешествий и состояние версии каждого. Опционально фильтрует по версии (опубликованной или черновой).

Параметры
  • cursorstring

    If a response has no cursor, every journey already came back — calling this again with the same arguments returns the same page, not new data. This is an opaque token — never decode it, edit it, or rebuild it. Pass it back exactly as it appeared in the previous response's cursor field, byte for byte. Omit this entirely when you don't have one from a prior response of this exact call.

  • versionenum

    Filter by version state. Defaults to published, and the two are never combined in one call. If you don't know whether the journey you want is published or still a draft, calling this twice — once per value — is the correct way to check both, not a repeat.

list_journey_templatesтолько чтение

Перечисляет шаблоны уведомлений, привязанные к journey. Шаблоны, привязанные к journey, могут использовать только send-ноды внутри того же journey. Вызывайте этот инструмент, чтобы узнать ID шаблонов до подключения send-нод в replace_journey.

Параметры
  • cursorstring

    Check the response's paging.more before calling again — false means every template already came back, and calling again with the same arguments returns the same page, not new data. This is an opaque token — never decode it, edit it, or rebuild it. Pass it back exactly as it appeared in the previous response's cursor field, byte for byte. Omit this entirely when you don't have one from a prior response of this exact call.

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

    The journey template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • limitnumber

    Page size (1–100)

list_journey_template_versionsтолько чтение

Перечисляет опубликованные версии шаблона уведомлений в рамках journey, в порядке от самых новых к самым старым.

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

    The journey template ID that owns this notification

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

    The notification template ID

list_journey_versionsтолько чтение

Перечисляет опубликованные версии journey, сначала самые новые.

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

    The journey template ID

list_listsтолько чтение

Получает все списки. По желанию фильтрует по шаблону (например, 'example.list.*').

Параметры
  • cursorstring

    Pagination cursor

  • patternstring

    Filter pattern (e.g. 'example.list.*')

list_messagesтолько чтение

Перечисляет ранее отправленные вами сообщения. Фильтрует по статусу, получателю, уведомлению, провайдеру, тегам или тенанту.

Параметры
  • archivedboolean

    This NARROWS, it does not widen: true returns ONLY archived messages, excluding every active one. Omit it entirely to search active messages — the default view for a normal delivery question. Setting it true is not the thorough or safe choice; it is a different, much smaller result set.

  • cursorstring

    For fetching the next page. This is an opaque token — never decode it, edit it, or rebuild it. Pass it back exactly as it appeared in the previous response's cursor field, byte for byte. Omit this entirely when you don't have one from a prior response of this exact call.

  • enqueued_afterstring

    ISO 8601 timestamp; only return messages enqueued after this time

  • eventstring

    Filter by event ID

  • liststring

    Filter by list ID

  • messageIdstring

    Filter by message ID

  • notificationstring

    Filter by notification ID

  • providerstring[]

    Filter by provider key (e.g. sendgrid, twilio)

  • recipientstring

    Filter by recipient user ID

  • statusstring[]

    Filter by status (e.g. DELIVERED, UNDELIVERABLE)

  • tagstring[]

    Filter by metadata tags

  • tagsstring

    Comma-delimited list of tags

  • tenant_idstring

    Filter by tenant ID

  • traceIdstring

    Filter by trace ID

list_notification_checksтолько чтение

List checks for a notification submission.

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

    The notification template ID

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

    The submission ID for the checks resource

list_notificationsтолько чтение

Перечисляет шаблоны уведомлений. Опционально фильтрует по курсору.

Параметры
  • cursorstring

    This is an opaque token — never decode it, edit it, or rebuild it. Pass it back exactly as it appeared in the previous response's cursor field, byte for byte. Omit this entirely when you don't have one from a prior response of this exact call.

list_notification_versionsтолько чтение

Выводит историю версий для шаблона уведомлений.

Параметры
  • cursorstring

    Pagination cursor from a previous response

  • limitnumber

    Max versions per page (default 10, max 10)

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

    The notification template ID

list_preference_sectionsтолько чтение

List the workspace's preference sections. Each section embeds its topics.

Параметры

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

list_preference_topicsтолько чтение

List the topics in a preference section.

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

    Id of the preference section

list_provider_catalogтолько чтение

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

Параметры
  • channelstring

    Filter by channel type (email, sms, push, etc.)

  • keysstring

    Comma-separated provider keys to filter by

  • namestring

    Substring match on provider name

list_providersтолько чтение

Перечислите настроенные интеграции провайдеров для рабочей области.

Параметры
  • cursorstring

    This is an opaque token — never decode it, edit it, or rebuild it. Pass it back exactly as it appeared in the previous response's cursor field, byte for byte. Omit this entirely when you don't have one from a prior response of this exact call.

list_routing_strategiesтолько чтение

List routing strategies in the workspace. Returns metadata only; use get for full details.

Параметры
  • cursorstring

    Pagination cursor

  • limitnumber

    Max results per page (default 20, max 100)

list_routing_strategy_notificationsтолько чтение

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

Параметры
  • cursorstring

    Pagination cursor

  • limitnumber

    Max results per page (default 20, max 100)

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

    The routing strategy ID (rs_ prefix)

list_tenantsтолько чтение

Перечисли все тенанты в рабочем пространстве.

Параметры
  • cursorstring

    Pagination cursor

  • limitnumber

    Max results per page

list_tenant_templatesтолько чтение

Перечисляет шаблоны уведомлений, настроенные для тенанта.

Параметры
  • cursorstring

    Pagination cursor

  • limitnumber

    Max results per page (default 20, max 100)

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

    The tenant ID

list_tenant_usersтолько чтение

Перечисляет пользователей, связанных с тенантом.

Параметры
  • cursorstring

    Pagination cursor

  • limitnumber

    Max results per page (default 20, max 100)

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

    The tenant ID

list_user_push_tokensтолько чтение

Перечисляет все push/токены устройств для пользователя.

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

    The user ID

list_user_tenantsтолько чтение

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

Параметры
  • cursorstring

    Pagination cursor

  • limitnumber

    Max results per page

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

    The user ID

patch_profile

Частично обновляет профиль пользователя через JSON Patch (RFC 6902). Использует операции add, replace и remove для конкретных путей профиля.

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

    Array of JSON Patch operations to apply to the profile

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

    The user ID

patch_user_token

Применяет JSON Patch (RFC 6902) к конкретному push-токену.

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

    Array of JSON Patch operations

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

    The token identifier

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

    The user ID

publish_journey

Публикует текущий черновик путешествия, делая его активным и вызываемым. Передаёт версию, чтобы откатиться к ранее опубликованной версии вместо публикации черновика. Возвращает 404, если нет черновика для публикации.

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

    The journey template ID to publish

  • versionstring

    Historical version to roll back to (e.g. "v001"). Omit to publish the current draft.

publish_journey_template

Публикует текущий черновик шаблона уведомления в рамках journey. Опционально принимает версию, чтобы откатиться к предыдущей версии.

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

    The journey template ID that owns this notification

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

    The notification template ID

  • versionstring

    Version to roll back to (e.g. "v1"). Omit to publish current draft.

publish_notification

Публикует шаблон уведомлений, делая его доступным для отправки. Должен вызываться перед send_message_template, если только шаблон не был создан с состоянием: 'PUBLISHED'. По умолчанию публикует текущий черновик; передайте версию (например, 'v001'), чтобы опубликовать конкретную историческую версию. Возвращает 204 в случае успеха.

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

    The notification template ID to publish

  • versionstring

    Historical version to publish (e.g. v001); omit to publish current draft

publish_preferences

Publish the workspace's preferences page. Takes a snapshot of every section with its topics under a new published version, making the current state visible on the hosted preferences page.

Параметры

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

publish_tenant_template

Публикует версию шаблона уведомления тенанта.

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

    The template ID

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

    The tenant ID

  • versionstring

    Version to publish (e.g. v1, latest); defaults to latest if omitted

put_journey_template_contentидемпотентный

Заменяет содержимое элементов шаблона уведомления, привязанного к путешествию. Перезаписывает все элементы. Шаблон остаётся черновиком; перевод в рабочий статус - отдельный шаг, который этот инструмент выполнить не может.

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

    Array of elemental content nodes. Likely must be wrapped in a channel block, the same way create_journey_template's content requires — not independently confirmed for this call, but they write the same field. Example: [{ type: "channel", channel: "email", elements: [{ type: "text", content: "Hello!" }] }].

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

    The journey template ID that owns this notification. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

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

    The notification template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • stateenum

    Template state after update. Must be "DRAFT". These tools cannot publish.

  • versionstring

    Content version string (e.g. "2022-01-01"). Server defaults when omitted.

put_journey_template_localeидемпотентный

Устанавливает переопределения контента для конкретной локали в шаблоне уведомлений в рамках journey. Каждое переопределение элемента должно ссылаться на существующий элемент по своему id.

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

    Array of element overrides with id and locale-specific content

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

    The journey template ID that owns this notification

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

    Locale identifier (e.g. es, fr, pt-BR)

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

    The notification template ID

  • stateenum

    Template state after update

put_notification_contentидемпотентный

Заменяет элементное содержимое шаблона уведомления V2. Перезаписывает все элементы. Используйте элементы каналов, чтобы нацелиться на конкретные каналы. Пример мультиканального шаблона: elements: [{ type: "channel", channel: "email", elements: [{ type: "meta", title: "Hello" }, { type: "text", content: "Email body" }] }, { type: "channel", channel: "push", elements: [{ type: "meta", title: "Hello" }, { type: "text", content: "Push body" }] }, { type: "channel", channel: "inbox", elements: [{ type: "text", content: "Inbox plain text only" }] }]. Шаблон остаётся черновиком; публикация это отдельный шаг, который этот инструмент выполнить не может.

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

    Array of elemental content nodes

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

    The notification template ID (nt_ prefix). Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • stateenum

    Must be "DRAFT". These tools cannot publish.

  • versionstring

    Content version string (e.g. "2022-01-01"). Server defaults when omitted.

put_notification_elementидемпотентный

Обновляет один элемент в шаблоне уведомления V2. Шаблон остаётся черновиком; перевести его в рабочий статус - отдельный шаг, который этот инструмент выполнить не может.

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

    Channels this element applies to

  • dataobject

    Element data payload

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

    The element ID to update, from a prior get_notification or get_notification_draft_content response. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • ifstring

    Conditional expression for element visibility

  • loopstring

    Loop expression for repeating elements

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

    The notification template ID (nt_ prefix). Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • refstring

    Reference identifier

  • stateenum

    Must be "DRAFT". These tools cannot publish.

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

    Element type (e.g. text, action, image, divider, meta)

put_notification_localeидемпотентный

Задаёт локальные переопределения контента для шаблона уведомления V2. Каждое переопределение элемента должно ссылаться на существующий элемент по его id. Пример для испанской локали: { notification_id: "nt_01abc", locale_id: "es", elements: [{ id: "elem_meta_1", title: "Restablecer contraseña" }, { id: "elem_text_1", content: "Haga clic en el enlace para restablecer su contraseña." }] }. Шаблон остаётся черновиком; публикация - отдельный шаг, который этот инструмент выполнить не может.

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

    Array of element overrides with id and locale-specific content

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

    Locale identifier (e.g. es, fr, pt-BR)

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

    The notification template ID (nt_ prefix). Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • stateenum

    Must be "DRAFT". These tools cannot publish.

release_digest

Release a digest schedule early — send what users have collected so far now instead of waiting for the scheduled time. A 204 is also returned when the schedule has no in-progress instances to release.

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

    The digest schedule id, in the form "sch/{uuid}"

remove_all_user_tenantsидемпотентный

Удаляет пользователя из всех тенантов.

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

    The user ID

remove_user_from_tenantидемпотентный

Удаляет пользователя из тенанта.

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

    The tenant ID

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

    The user ID

replace_journeyидемпотентный

Заменяет (обновляет) черновик journey. Полная замена документа: включайте в тело все узлы и свойства, включая триггер; всё, что пропущено, удаляется. Journey остаётся черновиком; публикация изменения - отдельный шаг, который этот инструмент выполнить не может. Здесь добавляются узлы отправки, задержки, ветвления и выхода, а идентификаторы шаблонов узлов отправки уже должны быть привязаны к этому journey. Результат содержит объект "verification", который сервер возвращает после записи. Проверяйте его каждый раз. verified:true означает, что сохранено именно то, что вы запросили. verified:false указывает, что именно не сохранилось: "fieldMismatches" для полей узлов, которые не применились; "nodeCountMismatch" для узла, который был удалён или добавлен; и "unknownTemplateReferences" для узла отправки, указывающего на идентификатор шаблона, которого нет у этого journey. Почти всегда это опечатка в идентификаторе, поэтому скопируйте его заново из ответа create_journey_template или get_journey, из которого он получен. Исправьте именно то, что указано, и отправьте исправленный документ. Повторная отправка того же самого вызова ничего не меняет, и каждый replace_journey снова перезаписывает весь черновик. errorKind со значением "unauthorized" означает, что сама запись прошла успешно, а отказано было только в чтении результата: сообщайте об этом как о неподтверждённом, но не как о неудачной записи.

Параметры
  • enabledboolean

    Whether the journey is active.

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

    The journey template ID to update. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

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

    Journey display name

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

    Complete array of journey nodes: the trigger first, a terminal exit last, and everything else between them. Use server-assigned node ids from get_journey — do NOT invent new ids. Send node example: { type: "send", channel: "email", message: { template: "nt_journey_1" } } — the template goes inside message, never at node level, and the id is a journey-scoped one returned by create_journey_template rather than a workspace template id. Copy that id character-for-character from the create_journey_template or get_journey response you got it from — never retype or reconstruct it from memory, since a single dropped or altered character produces a different, non-existent id and the reference silently fails to resolve. channel must always be set to one of "email", "sms", "push", "inbox", "slack", or "msteams" on every send node — do not omit it even though the field is optional. An unset channel makes Studio silently render the node as email: for sms, push, and inbox sends this means the wrong title, an Email Address field shown instead of the real recipient field, no provider picker, and a hard-blocked "+Create message" button, with nothing shown to warn the user. The stored recipient data is not lost and delivery is not affected — this only breaks how the journey looks and works for a human editing it in Studio. Delay node example: { type: "delay", mode: "duration", duration: "PT1H" }. Branch node example: { type: "branch", paths: [{ conditions: ["data.plan", "is equal", "pro"], nodes: [] }], default: { nodes: [] } } — paths and default are both required, and the key inside a path is "conditions", not "condition".

  • stateenum

    Must be "DRAFT". These tools cannot publish.

replace_journey_templateидемпотентный

Замените черновик шаблона уведомления в рамках journey. Полная замена документа. После этого вызовите publish_journey_template, чтобы сделать его активным.

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

    The journey template ID that owns this notification

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

    Full notification template definition

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

    The notification template ID

  • statestring

    "PUBLISHED" to publish immediately after replace

replace_notificationидемпотентный

Заменяет шаблон уведомления целиком (PUT полного документа). Шаблон остаётся черновиком; активация - отдельный шаг, который этот инструмент выполнить не может.

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

    Full notification template payload

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

    The notification template ID to replace. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.

  • stateenum

    Must be "DRAFT". These tools cannot publish.

replace_preference_sectionидемпотентный

Replace a preference section. Full document replacement; missing optional fields are cleared. Topics attached to the section are unaffected.

Параметры
  • has_custom_routingboolean

    Whether the section defines custom routing for its topics

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

    Human-readable name for the section

  • routing_optionsenum[]

    Default channels for the section. Omit to clear.

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

    Id of the preference section

replace_preference_topicидемпотентный

Replace a topic within a section. Full document replacement; missing optional fields are cleared.

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

    Preference controls a recipient may customize. Omit to clear.

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

    Default subscription status applied when a recipient has not set their own

  • include_unsubscribe_headerboolean

    Whether to include a list-unsubscribe header on emails for this topic

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

    Human-readable name for the preference topic

  • routing_optionsenum[]

    Default channels delivered for this topic. Omit to clear.

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

    Id of the preference section

  • topic_dataobject

    Arbitrary metadata associated with the topic. Omit to clear.

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

    Id of the subscription preference topic

replace_profileидемпотентный

Полностью заменяет профиль пользователя (PUT). Все существующие данные перезаписываются; включите каждое поле, которое хотите сохранить.

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

    Complete profile data to replace with

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

    The user ID

replace_routing_strategyидемпотентный

Заменяет стратегию маршрутизации. Полная замена документа; отсутствующие необязательные поля очищаются.

Параметры
  • channelsobject

    Per-channel delivery configuration. Omit to clear.

  • descriptionstring

    Description. Omit to clear.

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

    Human-readable name

  • providersobject

    Per-provider delivery configuration. Omit to clear.

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

    Routing tree

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

    The routing strategy ID

  • tagsstring[]

    Tags. Omit to clear.

replace_tenant_templateидемпотентный

Create or replace a tenant notification template (draft unless published is true).

Параметры
  • channelsobject

    Per-channel delivery configuration, keyed by channel name. Example: { "email": { "providers": ["sendgrid"], "routing_method": "single" } }

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

    Elemental content document. Example: { "version": "2022-01-01", "elements": [{ "type": "meta", "title": "Welcome" }, { "type": "text", "content": "Thanks for signing up." }] }

  • providersobject

    Per-provider configuration, keyed by provider name. Example: { "sendgrid": { "override": { "from": "noreply@example.com" } } }

  • publishedboolean

    When true, publish immediately after save

  • routingobject

    Message routing tree. Example: { "method": "single", "channels": ["email", "sms"] }

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

    The template ID

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

    The tenant ID

  • titlestring

    Optional title merged into template content when provided

resend_message

Повторно отправляет ранее отправленное сообщение. Загружает исходный запрос на отправку и ставит в очередь совершенно новую отправку тому же получателю с тем же содержимым, создавая новый messageId; исходное сообщение остаётся без изменений. Ограничение частоты на сообщение (429 при быстрых повторах).

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

    The message ID of the original message to resend

restore_listидемпотентный

Восстанавливает ранее удалённый список.

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

    The list ID

run_bulk_job

Запускает массовое задание, инициируя доставку всем добавленным пользователям.

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

    The bulk job ID to run

send_message

Отправляет сообщение пользователю, используя встроенное содержимое заголовка и тела (без шаблона). При желании указывает каналы маршрутизации. Справочник по API: https://www.courier.com/docs/api-reference/send/send-a-message.

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

    Message body

  • channelsstring[]

    Channel names to route through (e.g. email, sms, push). Omit to use default routing.

  • dataobject

    Key-value data to include with the message

  • methodenum

    Routing method: deliver to all channels or stop after first success

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

    Message title

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

    The recipient user ID

send_message_template

Отправляет сообщение пользователю с помощью опубликованного шаблона уведомлений. Отправлять можно только опубликованные шаблоны; публикация черновика - отдельная операция. Пример: { user_id: "user-123", template: "nt_01abc123", data: { name: "Alex", resetUrl: "https://app.example.com/reset" } }.

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

    Channel names to route through. Omit to use template routing config.

  • dataobject

    Key-value data for template variables

  • methodenum

    Routing method

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

    Template ID or notification slug

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

    The recipient user ID

send_message_to_list

Отправляет сообщение всем подписчикам списка, используя встроенные заголовок и содержимое тела. Справочник API: https://www.courier.com/docs/api-reference/send/send-a-message.

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

    Message body

  • channelsstring[]

    Channel names to route through. Omit to use default routing.

  • dataobject

    Key-value data to include

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

    The list ID to send to

  • methodenum

    Routing method

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

    Message title

send_message_to_list_template

Отправляет сообщение всем подписчикам списка с помощью шаблона уведомлений.

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

    Channel names to route through. Omit to use template routing config.

  • dataobject

    Key-value data for template variables

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

    The list ID to send to

  • methodenum

    Routing method

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

    Template ID or notification slug

subscribe_user_to_listидемпотентный

Подписывает пользователя на список. Создаёт список, если он не существует.

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

    The list ID

  • preferencesobject

    Optional notification preferences

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

    The user ID to subscribe

subscribe_user_to_listsидемпотентный

Подписывает пользователя на один или несколько списков. Создаёт списки, которых не существует.

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

    Array of lists to subscribe to

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

    The user ID

track_inbound_eventидемпотентный

Отслеживает входящее событие, которое может запускать автоматизации. Требует имя события, messageId (для дедупликации) и свойства.

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

    The event name (appears as trigger in Automation Trigger node)

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

    Unique ID for deduplication (returns 409 if not unique)

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

    Event properties payload

  • userIdstring

    User ID associated with the event

unsubscribe_user_from_listидемпотентный

Отписывает пользователя от списка.

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

    The list ID

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

    The user ID to unsubscribe

update_audienceидемпотентный

Создаёт или обновляет аудиторию с определением фильтра.

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

    The audience ID

  • descriptionstring

    Description

  • filterobject

    Audience membership filter. Either a single condition ({ operator, path, value }) or a group ({ operator: "AND" | "OR", filters: [...] }) nesting to any depth. Example: { "operator": "AND", "filters": [{ "operator": "EQ", "path": "title", "value": "Engineer" }, { "operator": "INCLUDES", "path": "tags", "value": "beta" }] }

  • namestring

    Display name

update_brandидемпотентный

Заменяет существующий бренд на новые значения.

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

    The brand ID to update

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

    Brand display name

  • settingsobject

    Brand settings (colors, email, inapp)

  • snippetsobject

    Brand snippets

update_notification_checksидемпотентный

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

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

    Checks to update

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

    The notification template ID

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

    The submission ID for the checks resource

update_providerидемпотентный

Заменяет существующую конфигурацию провайдера. Полная замена: сначала получите текущую конфигурацию с помощью get_provider; опущенные необязательные поля очищаются. Изменение ключей API или настроек влияет на доставку в реальном времени, если эта интеграция используется.

Параметры
  • aliasstring

    Short alias

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

    Provider key (must match existing; changing provider type is not supported)

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

    The provider configuration ID

  • settingsobject

    Provider-specific settings

  • titlestring

    Display name

update_tenant_preferenceидемпотентный

Устанавливает настройку уведомлений по умолчанию для темы подписки в тенанте. Управляет значениями по умолчанию на уровне тенанта, но НЕ задаёт настройки для отдельных пользователей (для этого используйте API пользовательских настроек). topic_id должен уже существовать как тема подписки в рабочем пространстве; код 404 означает, что тема ещё не создана. Пример: { tenant_id: "acme", topic_id: "marketing-updates", status: "OPTED_IN", has_custom_routing: true, custom_routing: ["email", "push"] }.

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

    Default channels when has_custom_routing is enabled

  • has_custom_routingboolean

    When true, use custom_routing instead of template defaults

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

    Subscription status for the topic

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

    The tenant ID

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

    The subscription topic ID — must already exist in the workspace. A 404 response means the topic does not exist; create it in the Preferences Editor first.

update_translationидемпотентный

Создаёт или обновляет перевод для конкретной локали. Справочник по API: https://www.courier.com/docs/api-reference/translations/update-translations-by-locale.

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

    Translation content (PO file format)

  • domainstring

    Translation domain

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

    Locale code (e.g. en_US, fr_FR)

update_user_preference_topicидемпотентный

Обновляет предпочтение пользователя для конкретной темы подписки (подписаться, отписаться или настроить параметры канала).

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

    Custom channel routing order

  • has_custom_routingboolean

    Whether custom channel routing is set

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

    Preference status

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

    The subscription topic ID

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

    The user ID

У этого сервера пока нет списка версий.

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

Любой клиент

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

{
  "mcpServers": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      },
      "type": "http"
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      },
      "type": "http"
    }
  }
}
VS Code

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

{
  "servers": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "type": "http",
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      }
    }
  }
}

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

code --add-mcp "{\"name\":\"trycourier-courier-mcp-ogsvs4d742\",\"type\":\"http\",\"url\":\"https://mcp.courier.com\",\"headers\":{\"api_key\":\"Your API Key\"}}"
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": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      },
      "type": "http"
    }
  }
}
Claude CodeClaude Code

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

claude mcp add --transport http trycourier-courier-mcp-ogsvs4d742 https://mcp.courier.com

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

claude mcp add-json trycourier-courier-mcp-ogsvs4d742 "{\"url\":\"https://mcp.courier.com\",\"headers\":{\"api_key\":\"Your API Key\"},\"type\":\"http\"}"
CodexCodex

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

codex mcp add trycourier-courier-mcp-ogsvs4d742 --url https://mcp.courier.com

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

[mcp_servers.trycourier-courier-mcp-ogsvs4d742]
url = "https://mcp.courier.com"
PerplexityPerplexity

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

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите trycourier/courier-mcp.

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      },
      "type": "http"
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      },
      "type": "http",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

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

mcpServers:
  - name: trycourier-courier-mcp-ogsvs4d742
    type: http
    url: https://mcp.courier.com
Zed

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

{
  "context_servers": {
    "trycourier-courier-mcp-ogsvs4d742": {
      "url": "https://mcp.courier.com",
      "headers": {
        "api_key": "Your API Key"
      },
      "type": "http"
    }
  }
}

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

chaindead/telegram-mcp

chaindead/telegram-mcp

от chaindead

Telegram MCP сервер подключает AI-ассистентов к вашему аккаунту: чтение диалогов, отправка сообщений, отслеживание уведомлений. Работает с Claude, Cursor. Упрощает управление перепиской и автоматизацию ответов.

Go348
railsware/mailtrap-mcp

railsware/mailtrap-mcp

от railsware

MCP сервер для отправки email и тестирования в песочнице Mailtrap. Отправляйте письма, управляйте шаблонами, просматривайте логи доставки и статистику. Помогает разработчикам отлаживать email-функциональность через AI.

TypeScript65
carterlasalle/mac_messages_mcp

carterlasalle/mac_messages_mcp

от carterlasalle

MCP-сервер для управления iMessage и SMS на macOS: отправляет сообщения с умным выбором доставки, читает переписку и ищет вложения. Полезен для разработчиков и автоматизации мессенджеров.

Python328
shahabazdev/inxmail-mcp

shahabazdev/inxmail-mcp

от shahabazdev

MCP-сервер для интеграции с Inxmail Commerce API: управляйте событиями, отправками, отскоками, блок-листами и отслеживанием доставки прямо из Claude. Полезен маркетологам и разработчикам для автома...

JavaScript4
clawaimail/mcp

clawaimail/mcp

от joansongjr

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

HTML2
wyattjoh/jmap-mcp

wyattjoh/jmap-mcp

от wyattjoh

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

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

Лука Никитин