Sign inStart your trial

Postmark

Reference

8 triggers and 84 actions for Postmark workflows.

01. Triggers

Start a workflow when something happens in Postmark

Each trigger lists the event it fires on, the data it sends, and a template you can use it in.

Webhook

8 triggers

Real-time push from the source.

Webhook★ Featured

bounce

Fires when an email bounces and cannot be delivered to the recipient. This includes both permanent failures (invalid addresses) and temporary issues (mailbox full).

Webhook★ Featured

click

Fires when a recipient clicks a link within an email message. Use this to track engagement with specific content.

Webhook★ Featured

inbound

Fires when an email is received at one of your inbound email addresses. Use this to process incoming messages automatically.

Webhook★ Featured

open

Fires when a recipient opens an email message. This provides visibility into email engagement and reader activity.

Webhook★ Featured

spam-complaint

Fires when a recipient marks your email as spam or junk. Monitor these to maintain your sender reputation and mailing list health.

Webhook★ Featured

subscription-change

Fires when a recipient's subscription status changes, such as when they opt in or opt out of mailing lists. Use this to keep your audience preferences synchronized.

Webhook

delivery

Fires when an email is successfully delivered to the recipient's mail server. This confirms the message reached its destination.

Webhook

smtp-api-error

Fires when there's an error processing your email through the SMTP API. This helps identify issues with your integration or email configuration.

02. Operations

Act on Postmark from a workflow

Operations are the actions a workflow can take in Postmark, grouped by category. Each lists its method, parameters, and a template you can drop it into.

Bounces

5 operations

Track and manage bounced emails in your sending pipeline. Use these operations to retrieve bounce details, understand delivery failures through SMTP dumps, search for bounced addresses, and reactivate them when ready to retry.

GET★ Featured

Search bounces

/bounces

Find and analyze bounced emails from your campaigns to identify delivery failures and problematic recipient addresses. Use filters like bounce type, email address, and date range to quickly diagnose why messages aren't reaching customers.

10 input · 3 query
GET

Get a single bounce

/bounces/{bounceid}

Retrieves detailed information about a specific email bounce, including the reason it failed and when it occurred, so you can understand delivery issues and manage your contact list more effectively.

1 input · 3 path
GET

Get bounce SMTP dump

/bounces/{bounceid}/dump

Retrieve the complete SMTP server conversation for a specific bounce to understand exactly why an email failed to deliver. This raw technical data is essential for diagnosing complex delivery issues that aren't obvious from standard bounce reports.

1 input · 3 path
GET

Get delivery statistics overview

/deliverystats

Get a quick overview of your email delivery health, including bounce rates and deactivated addresses to monitor whether your emails are reaching customers effectively.

PUT

Reactivate a bounced email address

/bounces/{bounceid}/activate

Resume sending emails to an address that was previously bounced after confirming the recipient's mailbox issue is resolved. This helps you re-engage with contacts who had temporary delivery problems.

1 input · 3 path

Bulk Email

2 operations

Send large volumes of emails efficiently to multiple recipients in a single request. Monitor the status of bulk email jobs to track completion and delivery metrics across your campaigns.

GET

Get bulk email request status

/email/bulk/{bulkRequestId}

Monitor the processing status and delivery progress of a bulk email campaign, including completion percentage and confirmation of all messages being processed.

1 input · 3 path
POST

Send bulk email to multiple recipients

/email/bulk

Send the same email message to multiple recipients at once with customizable content for each person, perfect for newsletters and announcements. Track opens and clicks for each recipient individually to measure engagement.

Data Removal

2 operations

Initiate and monitor GDPR and privacy compliance requests to remove customer data from Postmark. Track the status of removal requests to ensure proper handling of personal information.

POST

Create a data removal request

/data-removals

Submit a request to permanently remove all stored data associated with a specific email address to comply with data privacy regulations like GDPR and CCPA.

3 input
GET

Get data removal request status

/data-removals/{id}

Check the progress and completion status of a data removal request you've submitted. This helps you verify that customer data has been successfully deleted to maintain compliance and customer trust.

1 input · 3 path

Domains

9 operations

Set up and manage sending domains for your email account, including DNS verification for DKIM, SPF, and Return-Path records. Configure domain settings and maintain deliverability compliance across your infrastructure.

POST

Add a sending domain

/domains

Register a new domain with your Postmark account to start sending emails from that domain. You'll need to configure DNS records afterward to authenticate the domain and ensure your emails reach inboxes reliably.

2 input
DELETE

Delete a sending domain

/domains/{domainid}

Remove a sending domain from your Postmark account so emails from that domain will no longer be processed through Postmark's authentication system.

1 input · 3 path
GET

Get domain details

/domains/{domainid}

Retrieve detailed information about a sending domain including its authentication setup (DKIM, SPF, Return-Path) and verification status to ensure your emails are properly configured to reach inboxes.

1 input · 3 path
GET

List sending domains

/domains

Retrieve all sending domains configured in your account and verify their authentication status. This helps you ensure your emails are properly authenticated and have the best chance of reaching your customers' inboxes.

2 input · 3 query
POST

Rotate domain DKIM key

/domains/{domainid}/rotatedkim

Generate a new DKIM authentication key pair for your email domain to replace the current one, then update your DNS records with the new key. Use this operation to maintain email security best practices and reduce the risk of key compromise.

1 input · 3 path
PUT

Update domain configuration

/domains/{domainid}

Modify a domain's configuration, specifically the custom Return-Path domain. Use this to set up a branded bounce address (e.g., bounces.yourdomain.com) for improved deliverability and professional appearance.

2 input · 3 path
PUT

Verify domain DKIM records

/domains/{domainid}/verifyDkim

Verify that your DKIM records are properly set up in your DNS by triggering a lookup, which improves your email deliverability and inbox placement.

1 input · 3 path
PUT

Verify domain Return-Path DNS

/domains/{domainid}/verifyReturnPath

Verify that your Return-Path CNAME record is correctly configured in DNS to improve email deliverability and ensure bounces are properly attributed to your domain.

1 input · 3 path
POST

Verify domain SPF records (deprecated)

/domains/{domainid}/verifyspf

Checks your domain's DNS settings to confirm SPF records are correctly configured for email authentication. Note: This endpoint is deprecated; DKIM verification is now recommended for stronger security.

1 input · 3 path

Email

4 operations

Send individual and batch emails with or without templates in your workflows. Choose between simple sends and template-driven emails depending on your message complexity and personalization needs.

POST★ Featured

Send a batch of emails

/email/batch

Send up to 500 emails at once with different recipients, subjects, and content in a single request, making it efficient for sending notifications to multiple users simultaneously.

POST★ Featured

Send a single email

/email

Send a transactional email to one or more recipients with support for HTML formatting, attachments, and tracking. Use this for automated messages triggered by specific user actions.

POST★ Featured

Send an email using a template

/email/withTemplate

Send personalized emails using pre-built templates that automatically fill in dynamic content like customer names, order details, or custom messages. This ensures consistent, professional email designs while keeping the content relevant to each recipient.

POST

Send batch emails using templates

/email/batchWithTemplates

Send up to 500 personalized emails at once by combining different templates and custom data for each recipient. This lets you efficiently deliver tailored messages like notifications, newsletters, or reports to large groups without making individual API calls.

1 input

Inbound Rules

3 operations

Define rules to automatically block unwanted inbound emails at the server level. Manage inbound filtering by creating, deleting, and configuring blocking rules based on trigger conditions.

POST

Create an inbound blocking rule

/triggers/inboundrules

Block unwanted emails from specific addresses or entire domains to keep your inbox clean and reduce spam processing. This helps you automatically filter out problematic senders without manual intervention.

1 input
DELETE

Delete an inbound blocking rule

/triggers/inboundrules/{triggerid}

Remove an inbound blocking rule to stop filtering out messages from a specific sender or domain. Use this when you want to resume receiving emails from a previously blocked address.

1 input · 3 path
GET

List inbound rule triggers

/triggers/inboundrules

Retrieve all inbound rule triggers that currently block incoming emails from specific senders, allowing you to review and audit your email filtering rules.

2 input · 3 query

Message Streams

6 operations

Organize and manage separate email streams for different purposes like transactional notifications or marketing campaigns. Create, update, archive, and restore message streams to segment your sending behavior.

POST

Archive a message stream

/message-streams/{streamId}/archive

Disable a message stream from sending while keeping it available for recovery within 45 days, useful when you want to retire a communication channel without permanently deleting its history.

1 input · 3 path
POST

Create a message stream

/message-streams

Create a new message stream to organize and separate different types of email traffic, helping you maintain distinct sending reputations for different email categories.

GET

Get a message stream

/message-streams/{streamId}

Retrieve detailed configuration settings for a specific message stream, including its type and subscription management rules. Use this to verify how your emails are organized and ensure unsubscribe options are properly configured.

1 input · 3 path
GET

List message streams

/message-streams

Retrieve all email message streams configured for your server to see how your email traffic is organized by category. Use this to understand your current setup or dynamically populate stream options in your application.

2 input · 3 query
POST

Restore an archived message stream

/message-streams/{streamId}/unarchive

Restore a previously archived message stream so you can resume sending emails through it. This is useful when you archived a stream by mistake or need to reactivate it for a new campaign or customer segment.

1 input · 3 path
PATCH

Update a message stream

/message-streams/{streamId}

Update a message stream's name, description, or unsubscribe handling settings to reflect changes in your email program as it grows.

1 input · 3 path

Messages

11 operations

Search, retrieve, and analyze email messages across your account including delivery details, opens, clicks, and inbound activity. Access SMTP dumps, retry failed messages, and bypass rules for blocked inbound emails when needed.

GET★ Featured

Search outbound messages

/messages/outbound

Find and review emails you've sent by filtering by recipient, sender, subject, date, and delivery status to verify messages were delivered and investigate any issues.

10 input · 3 query
PUT

Bypass rules for a blocked inbound message

/messages/inbound/{messageid}/bypass

Override filtering rules to deliver a legitimate email that was incorrectly blocked by your inbound filters, ensuring important messages reach your webhook endpoint.

1 input · 3 path
GET

Get clicks for a specific message

/messages/outbound/clicks/{messageid}

Retrieve detailed click tracking data for all links in a sent email message, including click counts, devices, and geographic locations. Use this to understand which content resonated with your recipients and measure email engagement.

3 input · 3 path · 3 query
GET

Get inbound message details

/messages/inbound/{messageid}/details

Retrieve the complete details of an inbound email including headers, body content, and attachments to inspect received messages and extract information from them.

1 input · 3 path
GET

Get opens for a specific message

/messages/outbound/opens/{messageid}

Track when and how many times a specific email was opened, including details about the client and location for each open event. This helps you understand recipient engagement with individual messages.

3 input · 3 path · 3 query
GET

Get outbound message details

/messages/outbound/{messageid}/details

Retrieve complete details about a sent email including its content, attachments, and full delivery history from opens to bounces. Use this to verify what was delivered and understand how recipients interacted with your message.

1 input · 3 path
GET

Get outbound message SMTP dump

/messages/outbound/{messageid}/dump

Retrieve the complete raw SMTP conversation for an outbound message, including all headers and content sent to the recipient's mail server, to investigate delivery issues or email content problems.

1 input · 3 path
PUT

Retry a failed inbound message

/messages/inbound/{messageid}/retry

Reschedule a failed inbound message for reprocessing so you can receive and process it again at your webhook endpoint. Use this when your server was temporarily down or unable to accept the initial delivery.

1 input · 3 path
GET

Search email open events

/messages/outbound/opens

Track and analyze which recipients have opened your emails, along with details about when, where, and what device they used to open them. This helps you understand email engagement and identify your most active audience.

15 input · 3 query
GET

Search inbound messages

/messages/inbound

Find specific incoming emails across your mailbox using filters like sender, recipient, subject, and date range to locate messages you need to review or take action on.

10 input · 3 query
GET

Search link click events

/messages/outbound/clicks

Retrieve click tracking data from your outbound emails to see which links recipients are clicking and how they're engaging with your content. Filter results by recipient, tag, client, platform, or location to understand what resonates with your audience.

15 input · 3 query

Sender Signatures

8 operations

Configure and verify sender email addresses and domains in your Postmark account. Manage sender authentication, resend confirmation emails, and maintain SPF verification for email authenticity.

POST

Create a sender signature

/senders

Register a new email address with Postmark that you can use to send emails from your account. A verification email will be sent to confirm ownership before the address becomes active.

DELETE

Delete a sender signature

/senders/{signatureid}

Remove a sender email address from your account so you can no longer send emails from that address. Use this when you've switched email addresses or no longer need a particular sender identity.

1 input · 3 path
GET

Get sender signature details

/senders/{signatureid}

Retrieve complete authentication details for a sender signature, including DKIM status, SPF verification, and confirmation status. Use this to verify that a sender address is fully set up and ready to send emails reliably.

1 input · 3 path
GET

List sender signatures

/senders

Retrieve all email sender addresses you've configured in your Postmark account so you can see which addresses are approved and ready to send from.

2 input · 3 query
POST

Request new DKIM for sender (deprecated)

/senders/{signatureid}/requestnewdkim

Generates a new DKIM key for a sender signature to improve email deliverability and authentication, though this functionality has been superseded by the Domains API for more centralized management.

1 input · 3 path
POST

Resend sender confirmation email

/senders/{signatureid}/resend

Resend a confirmation email to verify ownership of a sender address when the original confirmation message wasn't received or has expired.

1 input · 3 path
PUT

Update a sender signature

/senders/{signatureid}

Update an existing sender signature's properties such as display name, reply-to address, and Return-Path domain without needing to create a new one. Use this to keep your email sender information current as your business evolves.

1 input · 3 path
POST

Verify sender SPF records (deprecated)

/senders/{signatureid}/verifyspf

Checks whether your sender's SPF record is properly configured to authenticate emails and prevent spoofing. This endpoint is deprecated; use the Domains API for more comprehensive authentication verification instead.

1 input · 3 path

Server

2 operations

Configure and monitor global server-level settings that apply to your sending account. Retrieve and update server configuration options that control default sending behavior.

GET

Get current server configuration

/server

Retrieve your Postmark server's complete configuration settings, including tracking options, inbound mail setup, and delivery preferences to verify your current setup or troubleshoot email delivery issues.

PUT

Update server configuration

/server

Adjust your email server settings to control tracking features, webhook endpoints, spam filtering, and delivery behavior. Use this when you need to enable message tracking, set up event notifications, or modify how your server processes incoming emails.

Servers

5 operations

Create and manage multiple servers within your Postmark account for organizing different sending contexts or applications. List, update, and delete servers to structure your email infrastructure.

POST

Create a new server

/servers

Set up a new isolated email server with its own API credentials and configuration settings. This allows you to manage email sending and receiving separately for different projects, clients, or business needs.

DELETE

Delete a server

/servers/{serverid}

Permanently remove a server and all its associated data from your Postmark account. This irreversible action deletes all message history, templates, and configuration for that server.

1 input · 3 path
GET

Get a server by ID

/servers/{serverid}

Retrieve the complete configuration details of a specific server, including all settings and metadata. This helps you audit server setups, verify configurations, or gather information about servers you manage.

1 input · 3 path
GET

List all servers in the account

/servers

Retrieve all Postmark servers set up in your account, with optional filtering by name, so you can see and manage your sending infrastructure across different projects or environments.

3 input · 3 query
PUT

Update a server by ID

/servers/{serverid}

Update configuration settings for a specific email server in your Postmark account, such as changing bounce handling, reply-to addresses, or delivery settings without affecting other servers.

1 input · 3 path

Stats

12 operations

Retrieve comprehensive analytics and performance metrics for your email sending activity. Query statistics on bounces, opens, clicks, spam complaints, and delivery by various dimensions like time, client, or platform.

GET★ Featured

Get outbound statistics overview

/stats/outbound

Get a quick overview of your email sending performance across all key metrics like delivery rates, bounces, opens, and clicks to monitor the health of your email campaigns.

GET

Get bounce counts by type

/stats/outbound/bounces

View your email bounce statistics broken down by type (hard bounces, soft bounces, and SMTP errors) to monitor email deliverability health and identify list quality problems.

GET

Get clicks by browser family

/stats/outbound/clicks/browserfamilies

Analyze which web browsers your email recipients use when clicking links, helping you understand audience behavior and optimize your landing page compatibility.

GET

Get clicks by content location

/stats/outbound/clicks/location

View where recipients clicked links in your emails (HTML vs plain text content) to understand which email format drives the most engagement. This helps you optimize your email template strategy and ensure both versions have effective calls-to-action.

GET

Get clicks by platform

/stats/outbound/clicks/platforms

View how many clicks your emails received on different device platforms like mobile and desktop. This helps you understand which devices your audience uses to engage with your content.

GET

Get daily sent email counts

/stats/outbound/sends

Track the number of emails sent each day over a specific time period to monitor your email marketing volume and identify sending patterns. This helps you understand campaign effectiveness and ensure steady communication with your audience.

GET

Get email open counts

/stats/outbound/opens

Get a breakdown of how many times your emails have been opened by recipients, including daily totals and unique opens. Use this data to measure email campaign effectiveness and understand which messages are resonating with your audience.

GET

Get email opens by email client

/stats/outbound/opens/emailclients

View which email clients your recipients are using to open your messages, helping you understand your audience and optimize email design accordingly. This data breaks down opens by client type (Gmail, Outlook, Apple Mail, etc.) so you can see where your emails are being read.

GET

Get email opens by platform

/stats/outbound/opens/platforms

View how your recipients open emails across different devices like desktop, mobile, and webmail to understand which platforms your audience prefers. This helps you optimize email designs and ensure they render perfectly on the devices your readers actually use.

GET

Get link click counts

/stats/outbound/clicks

Retrieve daily click counts for links in your emails over a specified date range to measure how much engagement your messages are generating. This helps you understand which content resonates with your audience and track the effectiveness of your campaigns.

GET

Get spam complaint counts

/stats/outbound/spam

Monitor how many recipients are marking your emails as spam over a specific time period to protect your sender reputation and email deliverability. Tracking complaint rates helps you identify problematic email campaigns and maintain inbox placement.

GET

Get tracked email counts

/stats/outbound/tracked

Get daily statistics on how many of your emails have open and link tracking enabled, helping you monitor tracking coverage across your email campaigns.

Suppressions

3 operations

Maintain a suppression list to prevent sending emails to addresses that should not receive messages. Add and remove addresses from your suppression list to control who receives your outgoing emails.

POST

Add addresses to suppression list

/message-streams/{streamId}/suppressions

Prevent up to 50 email addresses from receiving future messages on a specific stream, allowing you to honor unsubscribe requests and maintain list quality without archiving contacts.

2 input · 3 path
GET

List suppressed email addresses

/message-streams/{streamId}/suppressions/dump

View all email addresses that are blocked from receiving messages in a specific message stream, with options to filter by reason, origin, or date range. This helps you understand why emails aren't being delivered and maintain a healthy sender reputation.

6 input · 3 path · 3 query
POST

Remove addresses from suppression list

/message-streams/{streamId}/suppressions/delete

Remove email addresses from your suppression list to re-enable sending to contacts that were previously blocked due to bounces or manual suppression, allowing you to reconnect with customers who are now ready to receive your messages.

2 input · 3 path

Templates

7 operations

Create, manage, and validate reusable email templates for consistent messaging across your workflows. Push templates between servers, update content, and organize templates by ID or alias for easy access.

POST★ Featured

Create an email template

/templates

Create a reusable email template with subject line, HTML body, and plain text content that can be personalized with dynamic data for consistent branding across your email communications.

GET★ Featured

List email templates

/templates

Retrieve all your email templates with optional filtering to browse, organize, and manage your template library. This helps you audit what templates you have available and find the right one for your needs.

4 input · 3 query
DELETE

Delete an email template

/templates/{templateIdOrAlias}

Permanently remove an email template from your Postmark account when you no longer need it. Once deleted, the template cannot be recovered, so ensure no active campaigns or workflows are using it first.

1 input · 3 path
GET

Get a template by ID or alias

/templates/{templateIdOrAlias}

Retrieve the complete details of a specific email template, including subject line, HTML content, text version, and layout configuration. Use this to view template structure, verify content before sending campaigns, or load templates into your application for editing.

1 input · 3 path
PUT

Push templates between servers

/templates/push

Transfer email templates from one server to another to sync changes across your development and production environments, with an optional preview mode to see what will change before making updates.

3 input
PUT

Update an email template

/templates/{templateIdOrAlias}

Update an existing email template's subject line, body content, variables, or layout to keep your email designs current and aligned with your brand. This lets you refine template content and fix issues without recreating templates from scratch.

1 input · 3 path
POST

Validate template content

/templates/validate

Test your email template's syntax and preview how it will look with sample data before saving or deploying it. This helps catch formatting issues and errors early in your development process.

Webhooks

5 operations

Set up and manage webhooks to receive real-time notifications about email events like bounces, opens, and clicks. Configure webhook endpoints, test connections, and update settings to integrate Postmark events into your systems.

POST

Create a webhook configuration

/webhooks

Set up a webhook to automatically receive real-time notifications whenever emails are delivered, bounced, opened, clicked, or marked as spam, allowing you to respond immediately to email events.

DELETE

Delete a webhook configuration

/webhooks/{webhookid}

Removes a webhook from your Postmark account so events stop being sent to that endpoint. Use this when you no longer need notifications at a specific URL or when replacing it with an updated webhook.

1 input · 3 path
GET

Get webhook configuration details

/webhooks/{webhookid}

Retrieves the complete configuration details of a specific webhook, including its target URL, triggered events, and message stream settings. Use this to verify your webhook is set up correctly or troubleshoot why events aren't being delivered to your application.

1 input · 3 path
GET

List webhook configurations

/webhooks

Retrieve all configured webhooks for your email server to see which events are being sent to your endpoints and verify their setup.

1 input · 3 query
PUT

Update a webhook configuration

/webhooks/{webhookid}

Modify an existing webhook's configuration such as its URL, authentication headers, or which events it listens to without recreating it. Use this to adapt your webhook settings as your email infrastructure or integrations evolve.

1 input · 3 path
What now

Use Postmark in a workflow

Drop a trigger and an action into a template; approve from your phone; the workflow runs.