Skip to content
Docs

Reference

Every tool on the hosted Emailit MCP server, grouped by toolset, with its kind, required scope, role requirement and arguments.

Updated Oct 2, 2026

The hosted server at https://api.emailit.com/mcp exposes 109 tools in 15 toolsets. This reference is generated from the server’s tool catalog, so it always matches what your assistant sees. Tool and argument descriptions are shown as the server sends them, in English.

Scope. Tools with scope sending also work with full. See Workspaces and permissions.

Kind. Read makes no changes. Create and update change data. Action changes state. Delete removes data. Destructive can’t be undone. External calls a URL you own. Send reaches real recipients. Kinds map to MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) so clients can ask before running write tools.

Workspace. With OAuth, every tool outside the Workspace toolset also takes an optional workspace argument (ID or exact name) to run that call in another allowed workspace. Tools marked Admin role are refused with admin_role_required for workspace Members. API key connections have no workspace argument and no role limits.

Results. Tools return JSON as text for every client and as structuredContent for clients that read structured results. List tools accept page, limit and structured filters ({ field, condition, value }).

Workspace workspace

get-current-workspaceReadsending

Return the Emailit workspace this connection acts on by default, your role in it, and the granted scope. Call it to confirm which account changes apply to.

list-workspacesReadsendingOAuth only

List the workspaces this connection may use, with your role in each. Pass a workspace ID or name as `workspace` to any tool to act in it.

switch-workspaceUpdatesendingOAuth only

Change the default workspace for later tool calls on this connection. To act in another workspace for a single call, pass `workspace` to that tool instead.

1 argument
  • workspace_id stringrequiredWorkspace ID or exact name from list-workspaces.
create-workspaceCreatefullOAuth only

Create a new workspace, give this connection access to it, and switch to it.

1 argument
  • name stringrequiredWorkspace name.

Emails emails

send-emailSendsending

Send a transactional email from a verified sending domain. Supports HTML, plain text, templates with variables, attachments, CC/BCC, scheduling, and open/click tracking. Delivers to real recipients, so confirm recipients and content with the user first.

15 arguments
  • from stringSender in RFC format, e.g. "Acme <hello@mail.acme.com>". Must use a verified domain.
  • to string | string[]requiredRecipient email address(es).
  • subject stringSubject line. Optional when a template provides it.
  • html stringHTML body.
  • text stringPlain-text body.
  • reply_to string | string[]
  • cc string | string[]
  • bcc string | string[]
  • template stringTemplate ID (tem_xxx) or alias.
  • variables objectTemplate variables.
  • attachments object[]
  • headers object
  • meta objectCustom metadata returned in events and webhooks.
  • scheduled_at stringISO 8601 time or natural language like "tomorrow at 9am".
  • tracking boolean | object
list-emailsReadfull

List sent and received emails with pagination, status, recipient, sender, subject, domain, API key, and date filters.

16 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: to, from, subject, status, tag, created_at, updated_at, spam_score, api_key_id, sending_domain_id.
  • order "asc" | "desc"Sort direction.
  • type "inbound" | "outbound"
  • status "accepted" | "scheduled" | "clicked" | "loaded" | "delivered" | "bounced" | "attempted" | "failed" | "rejected" | "suppressed" | "received" | "complained" | "canceled" | "held"
  • rcpt_to stringRecipient address contains.
  • mail_from stringSender address contains.
  • subject stringSubject contains.
  • api_key_id string
  • sending_domain_id string
  • date_from stringISO date, inclusive.
  • date_to stringISO date, inclusive.
get-emailReadfull

Retrieve a single email with its status and delivery details.

1 argument
  • id stringrequiredEmail ID (em_xxx).
get-email-rawReadfull

Return the full raw MIME message of an email.

1 argument
  • id stringrequiredEmail ID (em_xxx).
get-email-bodyReadfull

Return the parsed text and HTML body of an email.

1 argument
  • id stringrequiredEmail ID (em_xxx).
get-email-attachmentsReadfull

Return the attachments of an email.

1 argument
  • id stringrequiredEmail ID (em_xxx).
get-email-metaReadfull

Return email metadata and headers without attachment content.

1 argument
  • id stringrequiredEmail ID (em_xxx).
update-emailUpdatesending

Change the send time of a scheduled email.

2 arguments
  • id stringrequiredEmail ID (em_xxx).
  • scheduled_at stringrequiredNew send time, ISO 8601.
cancel-emailDestructivesending

Best-effort cancel of a scheduled, accepted, or attempted email. Pulls it from the send queue; not guaranteed if delivery already started.

1 argument
  • id stringrequiredEmail ID (em_xxx).
retry-emailSendsending

Retry delivery of a failed, errored, or held email to its original recipients.

1 argument
  • id stringrequiredEmail ID (em_xxx).
forward-emailSendsending

Forward an outgoing email to a new recipient. Default is a plain resend. Set include_headers to add forwarded headers and an optional comment. Limited to 3 forwards per hour per workspace.

9 arguments
  • id stringrequiredEmail ID (em_xxx).
  • to string | string[]requiredNew recipient email address(es).
  • include_headers booleanAdd forwarded headers and an optional comment. Default is a plain resend.
  • comment stringNote prepended when include_headers is true.
  • body stringAlias for comment.
  • html string
  • text string
  • from string
  • subject string

Domains domains

create-domainCreatefull

Add a sending domain. Returns the SPF, DKIM, return-path, and DMARC DNS records to publish before verifying.

7 arguments
  • name stringrequiredDomain or subdomain, e.g. mail.acme.com.
  • outgoing booleanAllow sending from this domain.
  • incoming booleanAccept inbound email for this domain.
  • use_for_any boolean
  • track_loads booleanTrack opens.
  • track_clicks booleanTrack link clicks.
  • dmarc_reports booleanCollect DMARC aggregate reports.
get-domainReadfull

Retrieve a domain with its DNS records and per-record verification status.

1 argument
  • id stringrequiredDomain ID.
list-domainsReadfull

List sending domains in the workspace.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: name, created_at, spf_status, dkim_status, return_path_status.
  • order "asc" | "desc"Sort direction.
update-domainUpdatefull

Update domain settings such as open/click tracking, inbound, or DMARC report collection.

9 arguments
  • id stringrequiredDomain ID.
  • outgoing booleanAllow sending from this domain.
  • incoming booleanAccept inbound email for this domain.
  • use_for_any boolean
  • track_loads booleanTrack opens.
  • track_clicks booleanTrack link clicks.
  • dmarc_reports booleanCollect DMARC aggregate reports.
  • tracking_key string | nullCustom tracking CNAME label.
  • inbound_key string | null
delete-domainDeletefullAdmin role

Permanently delete a domain. Sending from it stops immediately.

1 argument
  • id stringrequiredDomain ID.
verify-domainActionfull

Run a DNS check now and update the verification status of each record.

1 argument
  • id stringrequiredDomain ID.

DMARC dmarc

list-dmarc-reportsReadfull

List DMARC aggregate or forensic reports received for a domain.

11 arguments
  • id stringrequiredDomain ID.
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • type "aggregate" | "forensic"
  • status string
  • org_name stringReporting organization, e.g. google.com.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
  • offset number
get-dmarc-reportReadfull

Retrieve one DMARC aggregate report with its records.

2 arguments
  • id stringrequiredDomain ID.
  • report_id stringrequiredDMARC report ID.
list-dmarc-forensic-reportsReadfull

List DMARC forensic (failure) reports for a domain.

5 arguments
  • id stringrequiredDomain ID.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
  • limit number
  • offset number
get-dmarc-forensic-reportReadfull

Retrieve one DMARC forensic report.

2 arguments
  • id stringrequiredDomain ID.
  • report_id stringrequiredForensic report ID.
get-dmarc-statsReadfull

DMARC pass/fail totals and alignment rates for a domain over a date range.

3 arguments
  • id stringrequiredDomain ID.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
list-dmarc-sourcesReadfull

Sending sources (IPs and hostnames) seen in DMARC reports, with pass/fail counts.

3 arguments
  • id stringrequiredDomain ID.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
list-dmarc-countriesReadfull

DMARC message volume by sending country.

3 arguments
  • id stringrequiredDomain ID.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
list-dmarc-asnsReadfull

DMARC message volume by sending network (ASN).

3 arguments
  • id stringrequiredDomain ID.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
list-dmarc-reportersReadfull

Organizations that sent DMARC reports for the domain.

3 arguments
  • id stringrequiredDomain ID.
  • from stringStart date, ISO 8601.
  • to stringEnd date, ISO 8601.
upload-dmarc-reportCreatefull

Import a DMARC aggregate report (XML, or base64 of a .xml/.gz/.zip file) for a domain.

4 arguments
  • id stringrequiredDomain ID.
  • content stringRaw report XML.
  • content_base64 stringBase64 of the report file.
  • filename string

Templates templates

create-templateCreatefull

Create an email template. Reference it from send-email by ID or alias; publish it before use.

8 arguments
  • name stringrequired
  • alias stringrequiredUnique slug used by send-email.
  • from stringDefault sender.
  • subject stringSubject; supports {{variables}}.
  • reply_to string | string[]
  • html stringHTML body; supports {{variables}}.
  • text string
  • editor "html" | "text" | "dragit" | "tiptap"
get-templateReadfull

Retrieve a template with its content.

1 argument
  • id stringrequiredTemplate ID (tem_xxx).
list-templatesReadfull

List templates in the workspace.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: name, alias, editor, subject, created_at.
  • order "asc" | "desc"Sort direction.
  • include_content booleanInclude HTML and text bodies.
update-templateUpdatefull

Update a template draft. Publish it to make the change live.

9 arguments
  • id stringrequiredTemplate ID (tem_xxx).
  • name string
  • alias string
  • from stringDefault sender.
  • subject stringSubject; supports {{variables}}.
  • reply_to string | string[]
  • html stringHTML body; supports {{variables}}.
  • text string
  • editor "html" | "text" | "dragit" | "tiptap"
delete-templateDeletefull

Permanently delete a template.

1 argument
  • id stringrequiredTemplate ID (tem_xxx).
publish-templateActionfull

Publish the current template draft so new sends use it.

1 argument
  • id stringrequiredTemplate ID (tem_xxx).

API keys api_keys

create-api-keyCreatefullAdmin role

Create an API key. The secret is returned only once; tell the user to store it securely.

3 arguments
  • name stringrequired
  • scope "full" | "sending"sending = send-only, full = every endpoint.
  • sending_domain_id string | nullLock a sending key to one domain.
get-api-keyReadfull

Retrieve an API key (without its secret).

1 argument
  • id stringrequiredAPI key ID.
list-api-keysReadfull

List API keys in the workspace.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: name, type, scope, created_at.
  • order "asc" | "desc"Sort direction.
update-api-keyUpdatefullAdmin role

Rename an API key.

2 arguments
  • id stringrequiredAPI key ID.
  • name stringrequired
delete-api-keyDeletefullAdmin role

Permanently revoke an API key. Apps using it stop working immediately.

1 argument
  • id stringrequiredAPI key ID.
regenerate-api-keyDestructivefullAdmin role

Issue a new secret for an API key and invalidate the old one immediately. The new secret is returned only once.

1 argument
  • id stringrequiredAPI key ID.

Audiences and subscribers audiences

create-audienceCreatefull

Create an audience (mailing list) for campaigns and automations.

1 argument
  • name stringrequired
get-audienceReadfull

Retrieve an audience with subscriber counts.

1 argument
  • id stringrequiredAudience ID.
list-audiencesReadfull

List audiences in the workspace.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: name, created_at.
  • order "asc" | "desc"Sort direction.
update-audienceUpdatefull

Rename an audience.

2 arguments
  • id stringrequiredAudience ID.
  • name stringrequired
delete-audienceDeletefull

Permanently delete an audience and its subscriber records. Contacts are kept.

1 argument
  • id stringrequiredAudience ID.
list-audience-subscribersReadfull

List subscribers of an audience, optionally only subscribed or unsubscribed.

9 arguments
  • id stringrequiredAudience ID.
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: email, first_name, last_name, subscribed, created_at.
  • order "asc" | "desc"Sort direction.
  • subscribed boolean
get-audience-subscriberReadfull

Retrieve one subscriber of an audience.

2 arguments
  • id stringrequiredAudience ID.
  • subscriber_id stringrequiredSubscriber ID.
add-audience-subscriberCreatefull

Add an email address to an audience. Creates the contact if it does not exist.

5 arguments
  • id stringrequiredAudience ID.
  • email stringrequired
  • first_name string
  • last_name string
  • custom_fields object
update-audience-subscriberUpdatefull

Update a subscriber, including subscribing or unsubscribing them from the audience.

7 arguments
  • id stringrequiredAudience ID.
  • subscriber_id stringrequiredSubscriber ID.
  • email string
  • first_name string
  • last_name string
  • custom_fields object
  • subscribed boolean
remove-audience-subscriberDeletefull

Remove a subscriber from an audience. The contact is kept.

2 arguments
  • id stringrequiredAudience ID.
  • subscriber_id stringrequiredSubscriber ID.

Contacts contacts

create-contactCreatefull

Create a contact, optionally subscribing it to audiences and setting custom fields.

6 arguments
  • email stringrequired
  • first_name string
  • last_name string
  • custom_fields object
  • audiences string[]Audience IDs to subscribe to.
  • unsubscribed boolean
get-contactReadfull

Retrieve a contact by ID or email address.

1 argument
  • id stringrequiredContact ID (con_xxx) or email address.
list-contactsReadfull

List contacts with search, audience, subscription, and custom-field filters.

9 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: email, first_name, last_name, name, audiences, created_at, updated_at, unsubscribed, audience_id, custom_fields.<key>.
  • order "asc" | "desc"Sort direction.
  • audience_id stringOnly contacts in this audience.
  • unsubscribed boolean
update-contactUpdatefull

Update a contact. Passing audiences replaces its audience memberships.

7 arguments
  • id stringrequiredContact ID (con_xxx) or email address.
  • email string
  • first_name string
  • last_name string
  • custom_fields object
  • audiences string[]
  • unsubscribed boolean
delete-contactDeletefull

Permanently delete a contact and its audience memberships.

1 argument
  • id stringrequiredContact ID (con_xxx) or email address.
bulk-update-contactsDestructivefull

Apply one action to up to 100 contacts: delete, add_to_audience, remove_from_audience, unsubscribe, or resubscribe.

3 arguments
  • action "delete" | "add_to_audience" | "remove_from_audience" | "unsubscribe" | "resubscribe"required
  • ids string[]requiredContact IDs (con_xxx).
  • audience_id stringRequired for add_to_audience and remove_from_audience.
export-contactsReadfull

Export contacts matching the filters as CSV text (email, names, subscription, audiences, custom fields).

9 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: email, first_name, last_name, name, audiences, created_at, updated_at, unsubscribed, audience_id, custom_fields.<key>.
  • order "asc" | "desc"Sort direction.
  • audience_id stringOnly contacts in this audience.
  • unsubscribed boolean

Suppressions suppressions

create-suppressionCreatefull

Add an email address to the suppression list so Emailit never sends to it.

4 arguments
  • email stringrequired
  • type "recipient" | "bounce" | "complaint" | "unsubscribe"
  • reason string
  • keep_until string | number | nullExpiry as ISO 8601, Unix timestamp, or natural language like "in 30 days". Null keeps it forever.
get-suppressionReadfull

Retrieve a suppression by ID or email address.

1 argument
  • id stringrequiredSuppression ID (sup_xxx) or email address.
list-suppressionsReadfull

List suppressed addresses with search, type, reason, and expiry filters.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: email, reason, type, created_at, keep_until.
  • order "asc" | "desc"Sort direction.
update-suppressionUpdatefull

Change the type, reason, or expiry of a suppression.

4 arguments
  • id stringrequiredSuppression ID (sup_xxx) or email address.
  • type "recipient" | "bounce" | "complaint" | "unsubscribe"
  • reason string
  • keep_until string | number | nullExpiry as ISO 8601, Unix timestamp, or natural language like "in 30 days". Null keeps it forever.
delete-suppressionDeletefull

Remove an address from the suppression list so it can receive email again.

1 argument
  • id stringrequiredSuppression ID (sup_xxx) or email address.

Webhooks webhooks

create-webhookCreatefull

Create a webhook endpoint for email, domain, contact, and campaign events. The response includes the signing secret.

6 arguments
  • name stringrequired
  • url stringrequiredHTTPS endpoint that receives event POSTs.
  • all_events booleanSubscribe to every event type.
  • enabled boolean
  • events "email.accepted" | "email.scheduled" | "email.delivered" | "email.bounced" | "email.attempted" | "email.failed" | "email.rejected" | "email.clicked" | "email.loaded" | "email.complained" | "email.received" | "email.suppressed" | "email.canceled" | "email.unsubscribed" | "email.resubscribed" | "domain.created" | "domain.updated" | "domain.deleted" | "audience.created" | "audience.updated" | "audience.deleted" | "subscriber.created" | "subscriber.updated" | "subscriber.deleted" | "contact.created" | "contact.updated" | "contact.deleted" | "template.created" | "template.updated" | "template.deleted" | "suppression.created" | "suppression.updated" | "suppression.deleted" | "email_verification.created" | "email_verification.updated" | "email_verification_list.created" | "email_verification_list.updated" | "campaign.created" | "campaign.updated" | "campaign.deleted" | "campaign.scheduled" | "campaign.queued" | "campaign.sending" | "campaign.testing" | "campaign.sent" | "campaign.canceled" | "campaign.archived"[]Event types to subscribe to when all_events is false.
  • filter object | nullOnly deliver events matching these rules. Null clears the filter.
get-webhookReadfull

Retrieve a webhook with its subscribed events and filter.

1 argument
  • id stringrequiredWebhook ID (wh_xxx).
list-webhooksReadfull

List webhooks in the workspace.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: name, url, enabled, created_at.
  • order "asc" | "desc"Sort direction.
update-webhookUpdatefull

Update a webhook URL, name, events, filter, or enable it again.

7 arguments
  • id stringrequiredWebhook ID (wh_xxx).
  • name string
  • url stringHTTPS endpoint that receives event POSTs.
  • all_events booleanSubscribe to every event type.
  • enabled boolean
  • events "email.accepted" | "email.scheduled" | "email.delivered" | "email.bounced" | "email.attempted" | "email.failed" | "email.rejected" | "email.clicked" | "email.loaded" | "email.complained" | "email.received" | "email.suppressed" | "email.canceled" | "email.unsubscribed" | "email.resubscribed" | "domain.created" | "domain.updated" | "domain.deleted" | "audience.created" | "audience.updated" | "audience.deleted" | "subscriber.created" | "subscriber.updated" | "subscriber.deleted" | "contact.created" | "contact.updated" | "contact.deleted" | "template.created" | "template.updated" | "template.deleted" | "suppression.created" | "suppression.updated" | "suppression.deleted" | "email_verification.created" | "email_verification.updated" | "email_verification_list.created" | "email_verification_list.updated" | "campaign.created" | "campaign.updated" | "campaign.deleted" | "campaign.scheduled" | "campaign.queued" | "campaign.sending" | "campaign.testing" | "campaign.sent" | "campaign.canceled" | "campaign.archived"[]Event types to subscribe to when all_events is false.
  • filter object | nullOnly deliver events matching these rules. Null clears the filter.
delete-webhookDeletefull

Permanently delete a webhook. Pending deliveries are dropped.

1 argument
  • id stringrequiredWebhook ID (wh_xxx).
test-webhookExternalfull

Send a sample event of the given type to the webhook URL and return the response. Limited to 5 per minute.

2 arguments
  • id stringrequiredWebhook ID (wh_xxx).
  • type "email.accepted" | "email.scheduled" | "email.delivered" | "email.bounced" | "email.attempted" | "email.failed" | "email.rejected" | "email.clicked" | "email.loaded" | "email.complained" | "email.received" | "email.suppressed" | "email.canceled" | "email.unsubscribed" | "email.resubscribed" | "domain.created" | "domain.updated" | "domain.deleted" | "audience.created" | "audience.updated" | "audience.deleted" | "subscriber.created" | "subscriber.updated" | "subscriber.deleted" | "contact.created" | "contact.updated" | "contact.deleted" | "template.created" | "template.updated" | "template.deleted" | "suppression.created" | "suppression.updated" | "suppression.deleted" | "email_verification.created" | "email_verification.updated" | "email_verification_list.created" | "email_verification_list.updated" | "campaign.created" | "campaign.updated" | "campaign.deleted" | "campaign.scheduled" | "campaign.queued" | "campaign.sending" | "campaign.testing" | "campaign.sent" | "campaign.canceled" | "campaign.archived"requiredEvent type to send, e.g. email.delivered.
reset-webhook-secretDestructivefull

Rotate the webhook signing secret. The old secret stops working immediately; the new one is returned once.

1 argument
  • id stringrequiredWebhook ID (wh_xxx).
retry-failed-webhook-requestsActionfull

Queue every failed delivery of a webhook for retry and re-enable the webhook.

1 argument
  • id stringrequiredWebhook ID (wh_xxx).
retry-webhook-requestActionfull

Queue one webhook delivery for retry.

2 arguments
  • id stringrequiredWebhook ID (wh_xxx).
  • request_id stringrequiredWebhook request ID.

Campaigns campaigns

list-campaignsReadfull

List marketing campaigns, optionally by status.

4 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringSearch by name or subject.
  • status "all" | "draft" | "scheduled" | "sending" | "sent" | "archived"
get-campaignReadfull

Retrieve a campaign with its content, recipients, and stats.

1 argument
  • id stringrequiredCampaign ID (cmp_xxx) or name.
create-campaignCreatefull

Create a draft campaign. Add recipients with update-campaign, then send with send-campaign.

8 arguments
  • name stringrequired
  • subject string
  • from_email stringSender address on a verified domain.
  • from_name string
  • reply_to string
  • preview_text stringInbox preview text.
  • content stringCampaign body in content_type format.
  • content_type "html" | "text" | "mjml"
update-campaignUpdatefull

Update a draft campaign. Passing recipients replaces the audience list; at least one audience must be included.

10 arguments
  • id stringrequiredCampaign ID (cmp_xxx) or name.
  • name string
  • subject string
  • from_email stringSender address on a verified domain.
  • from_name string
  • reply_to string
  • preview_text stringInbox preview text.
  • content stringCampaign body in content_type format.
  • content_type "html" | "text" | "mjml"
  • recipients object[]
delete-campaignDeletefull

Permanently delete a campaign that has not been sent.

1 argument
  • id stringrequiredCampaign ID (cmp_xxx) or name.
send-campaignSendfull

Send a campaign to its audiences now, or schedule it with scheduled_at. Delivers to real subscribers, so confirm with the user first.

2 arguments
  • id stringrequiredCampaign ID (cmp_xxx) or name.
  • scheduled_at stringFuture send time, ISO 8601 or natural language.
cancel-campaignDestructivefull

Cancel a draft or sending campaign. Scheduled campaigns cannot be canceled; delete them to stop the send. Emails already delivered are not recalled.

1 argument
  • id stringrequiredCampaign ID (cmp_xxx) or name.

Automations automations

list-automationsReadfull

List automations with context, status, and name filters.

7 arguments
  • page numberPage number (default: 1).
  • per_page numberResults per page (max: 100).
  • context "contact" | "email" | "event"
  • status "draft" | "running" | "paused" | "stopped" | "archived"
  • name stringName contains.
  • sort "name" | "created_at" | "updated_at" | "last_triggered_at"
  • order "asc" | "desc"
get-automationReadfull

Retrieve an automation with its steps and connections.

1 argument
  • id stringrequiredAutomation ID (aut_xxx).
create-automationCreatefull

Create a draft automation from a trigger step, action steps, and connections between step keys. Start it with start-automation.

6 arguments
  • context "contact" | "email" | "event"requiredWhat the automation runs on.
  • name stringrequired
  • description string | null
  • settings object
  • steps object[]required
  • connections object[]required
update-automationUpdatefull

Update an automation. Passing steps or connections replaces the whole graph.

6 arguments
  • id stringrequiredAutomation ID (aut_xxx).
  • name string
  • description string
  • settings object
  • steps object[]
  • connections object[]
delete-automationDeletefull

Delete an automation and stop any runs in progress.

1 argument
  • id stringrequiredAutomation ID (aut_xxx).
start-automationActionfull

Start or resume an automation so new triggers enroll contacts.

1 argument
  • id stringrequiredAutomation ID (aut_xxx).
pause-automationActionfull

Pause an automation. Runs in progress wait until it is started again.

1 argument
  • id stringrequiredAutomation ID (aut_xxx).
stop-automationActionfull

Stop an automation and cancel runs in progress.

1 argument
  • id stringrequiredAutomation ID (aut_xxx).
trigger-automationSendfull

Manually trigger a running automation with an optional payload. Its steps may send real emails.

2 arguments
  • id stringrequiredAutomation ID (aut_xxx).
  • payload objectTrigger data, e.g. { "email": "jane@example.com" }.
list-automation-runsReadfull

List runs of an automation, optionally by status.

4 arguments
  • id stringrequiredAutomation ID (aut_xxx).
  • page numberPage number (default: 1).
  • per_page numberResults per page (max: 100).
  • status "running" | "completed" | "failed" | "skipped" | "canceled" | "paused"
get-automation-runReadfull

Retrieve one automation run with its step history.

2 arguments
  • id stringrequiredAutomation ID (aut_xxx).
  • run_id stringrequiredAutomation run ID.
get-automation-statsReadfull

Return run totals by status and outcome for an automation.

3 arguments
  • id stringrequiredAutomation ID (aut_xxx).
  • since stringISO 8601 start time.
  • until stringISO 8601 end time.
get-automation-step-statsReadfull

Return totals for one step, including the delivery funnel for send_email steps.

4 arguments
  • id stringrequiredAutomation ID (aut_xxx).
  • step_key stringrequiredStep key from the automation definition.
  • since stringISO 8601 start time.
  • until stringISO 8601 end time.

Forms forms

list-formsReadfull

List signup forms with name, type, and status filters.

7 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • search stringFree-text search.
  • filters object[]Structured filters, combined with AND unless match is "or".
  • match "all" | "or"Combine filters with AND (all, default) or OR.
  • sort stringSort column: name, type, status, created_at.
  • order "asc" | "desc"Sort direction.
get-formReadfull

Retrieve a signup form with its definition and settings.

1 argument
  • id stringrequiredForm ID (frm_xxx).
create-formCreatefull

Create a draft signup form (popup, full page, flyout, embed, or banner).

4 arguments
  • name stringrequired
  • type "popup" | "full_page" | "flyout" | "embed" | "banner"
  • definition objectForm steps and fields. Omit on create to start from the default template.
  • settings objectDisplay and audience settings.
update-formUpdatefull

Update a form name, type, definition, or settings.

5 arguments
  • id stringrequiredForm ID (frm_xxx).
  • name string
  • type "popup" | "full_page" | "flyout" | "embed" | "banner"
  • definition objectForm steps and fields. Omit on create to start from the default template.
  • settings objectDisplay and audience settings.
delete-formDeletefull

Permanently delete a form. Embedded copies stop working.

1 argument
  • id stringrequiredForm ID (frm_xxx).
publish-formActionfull

Publish a form so it starts collecting signups.

1 argument
  • id stringrequiredForm ID (frm_xxx).
unpublish-formActionfull

Take a form offline. It stops collecting signups.

1 argument
  • id stringrequiredForm ID (frm_xxx).
reset-form-tokenDestructivefull

Rotate the public form token. Existing embed codes stop working until updated.

1 argument
  • id stringrequiredForm ID (frm_xxx).

Email verification verification

verify-emailCreatefull

Check whether one address is deliverable (syntax, MX, disposable, role, and optional SMTP checks). Uses verification credits.

2 arguments
  • email stringrequired
  • mode "fast" | "full"fast: DNS and syntax checks. full: adds an SMTP mailbox check.
create-verification-listCreatefull

Verify up to 10,000 addresses in the background. Uses one verification credit per address; poll get-verification-list for progress.

2 arguments
  • name stringrequired
  • emails string[]required
list-verification-listsReadfull

List bulk verification lists with their progress.

4 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • status "pending" | "processing" | "completed" | "failed" | "canceled"
  • search string
get-verification-listReadfull

Retrieve a verification list with progress and result counts.

1 argument
  • id stringrequiredVerification list ID (evl_xxx).
get-verification-list-resultsReadfull

Return per-address results of a verification list, optionally by status or result.

5 arguments
  • id stringrequiredVerification list ID (evl_xxx).
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • status "pending" | "processing" | "completed" | "failed" | "canceled"
  • result "safe" | "invalid" | "disposable" | "disabled" | "inbox_full" | "unknown"

Events events

list-eventsReadfull

List workspace events (email delivered, bounced, clicked, contact created, and more), newest first.

4 arguments
  • page numberPage number (default: 1).
  • limit numberResults per page (max: 100).
  • type stringEvent type or comma-separated types, e.g. "email.bounced,email.complained".
  • include_data booleanInclude the full event payload. Default false.
get-eventReadfull

Retrieve one event with its full payload.

1 argument
  • id stringrequiredEvent ID (evt_xxx).

Was this page helpful?

Thanks for the feedback.

Thanks, we read every message.