Postmark Integration

Postmark API Operations

Browse all 84 operations available for Postmark workflow automation.

Bounces

5 operations
GET/bounces/{bounceid}

Get a single bounce

Retrieve complete details for a specific bounce record, including the bounce type, recipient address, timestamp, and error description. Use this to investigate why a particular email failed to deliver and determine whether the address can be reactivated.

1 path params
GET/bounces/{bounceid}/dump

Get bounce SMTP dump

Retrieve the raw SMTP conversation for a specific bounce. Contains the full server response that caused the delivery failure. Available for 30 days after the bounce occurs. Use this for advanced troubleshooting when the bounce description alone is not enough to diagnose the issue.

1 path params
GET/deliverystats

Get delivery statistics overview

Retrieve a high-level summary of your email delivery health, including the count of deactivated addresses and a breakdown of bounce types. Use this to monitor sender reputation and spot deliverability issues before they become critical.

PUT/bounces/{bounceid}/activate

Reactivate a bounced email address

Reactivate a bounced email address for sending

1 path params
GET/bounces

Search bounces

Search bounced emails by type, date, or recipient

10 query params

Bulk Email

2 operations
GET/email/bulk/{bulkRequestId}

Get bulk email request status

Check the processing status of a previously submitted bulk email request. Use this to monitor delivery progress, verify completion percentage, and confirm all messages in the batch have been processed before triggering follow-up actions.

1 path params
POST/email/bulk

Send bulk email to multiple recipients

Send bulk email broadcasts to many recipients

Data Removal

2 operations
POST/data-removals

Create a data removal request

Submit a request to remove all stored data for a specific recipient's email address in compliance with GDPR, CCPA, or other data privacy regulations. This feature is available by request only. Use this to fulfill right-to-erasure requests from your customers.

GET/data-removals/{id}

Get data removal request status

Check the progress of a previously submitted data removal request. Returns whether the removal is still pending or has been completed. Use this to confirm compliance actions have been fulfilled and report status back to the requesting party.

1 path params

Domains

9 operations
POST/domains

Add a sending domain

Register a new sending domain with your Postmark account. After adding the domain, you will need to configure DKIM and Return-Path DNS records to authenticate it. Proper domain authentication improves deliverability and protects against spoofing.

DELETE/domains/{domainid}

Delete a sending domain

Remove a sending domain from your account. Any emails sent from this domain will no longer be authenticated through Postmark. Make sure no active senders or workflows depend on this domain before removing it.

1 path params
GET/domains/{domainid}

Get domain details

Retrieve complete details for a sending domain, including DKIM keys, SPF records, Return-Path configuration, and verification status. Use this to check which DNS records need to be configured or to verify that authentication is set up correctly.

1 path params
GET/domains

List sending domains

Retrieve all sending domains configured in your account with their authentication status. Use this to audit which domains have verified DKIM and Return-Path records, ensuring optimal deliverability across all your sending domains.

2 query params
POST/domains/{domainid}/rotatedkim

Rotate domain DKIM key

Generate a new DKIM key pair to replace the current key. After rotation, update the DNS TXT record with the new key value and verify it. Use this as a security best practice to periodically rotate cryptographic keys.

1 path params
PUT/domains/{domainid}

Update domain configuration

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.

1 path params
PUT/domains/{domainid}/verifyDkim

Verify domain DKIM records

Trigger a DNS lookup to verify that your DKIM records are correctly configured. Run this after adding the required TXT records to your DNS. Verified DKIM authentication significantly improves email deliverability and inbox placement.

1 path params
PUT/domains/{domainid}/verifyReturnPath

Verify domain Return-Path DNS

Trigger a DNS lookup to verify that your Return-Path CNAME record is correctly configured. A verified Return-Path improves deliverability by aligning the bounce address with your sending domain.

1 path params
POST/domains/{domainid}/verifyspf

Verify domain SPF records (deprecated)

Query DNS to verify SPF record configuration for the domain. This endpoint is deprecated. Use DKIM verification instead, which provides stronger authentication and is the recommended approach for domain verification.

1 path params

Email

4 operations
POST/email/batch

Send a batch of emails

Send up to 500 emails in a single API call

POST/email

Send a single email

Send a transactional email to one or more recipients

POST/email/withTemplate

Send an email using a template

Send a templated email with dynamic variables

POST/email/batchWithTemplates

Send batch emails using templates

Send up to 500 template-based emails in a single batch request. Each message can use a different template and model data for full personalization at scale. Perfect for sending personalized notifications, digests, or reports to many users at once.

Inbound Rules

3 operations
POST/triggers/inboundrules

Create an inbound blocking rule

Create a rule to block inbound messages from a specific email address or entire domain. Use this to automatically filter out unwanted senders, reduce spam processing, or block known problematic addresses.

DELETE/triggers/inboundrules/{triggerid}

Delete an inbound blocking rule

Remove an inbound rule trigger to stop blocking messages from the specified sender or domain. Use this when you want to start receiving emails from a previously blocked address.

1 path params
GET/triggers/inboundrules

List inbound rule triggers

Retrieve all inbound rule triggers that block messages from specific senders. Use this to review your current block list, audit filtering rules, or build a management interface for inbound email filtering.

2 query params

Message Streams

6 operations
POST/message-streams/{streamId}/archive

Archive a message stream

Archive an active message stream to stop all sending through it. Archived streams are retained for 45 days before permanent deletion. Use this when decommissioning a stream while preserving the option to restore it.

1 path params
POST/message-streams

Create a message stream

Create a new message stream to separate different types of email traffic. Servers support up to 10 streams. Use separate streams for transactional emails and marketing broadcasts to maintain clean sending reputation and comply with email regulations.

GET/message-streams/{streamId}

Get a message stream

Retrieve the full details of a specific message stream, including its type, description, and subscription management settings. Use this to check stream configuration or verify unsubscribe handling is set up correctly.

1 path params
GET/message-streams

List message streams

Retrieve all message streams configured for your server. Message streams organize your email traffic into categories like transactional, broadcast, and inbound. Use this to review your stream setup or build a stream selector in your application.

2 query params
POST/message-streams/{streamId}/unarchive

Restore an archived message stream

Restore a previously archived message stream within the 45-day retention window. Use this to reactivate a stream that was archived by mistake or is needed again for a new campaign.

1 path params
PATCH/message-streams/{streamId}

Update a message stream

Modify a message stream's name, description, or subscription management configuration. Use this to update unsubscribe handling settings or rename streams as your email program evolves.

1 path params

Messages

11 operations
PUT/messages/inbound/{messageid}/bypass

Bypass rules for a blocked inbound message

Allow a blocked inbound message to bypass your filtering rules and be processed normally. Use this when a legitimate email was incorrectly blocked by an inbound rule and needs to be delivered to your webhook endpoint.

1 path params
GET/messages/outbound/clicks/{messageid}

Get clicks for a specific message

Retrieve all click events for links in a single outbound message. Use this to see which links were clicked, how many times, and from what devices and locations.

1 path, 2 query params
GET/messages/inbound/{messageid}/details

Get inbound message details

Retrieve the complete details of an inbound email, including headers, HTML and text body content, attachments, and blocking reasons. Use this to inspect received emails, debug inbound processing issues, or extract content from specific messages.

1 path params
GET/messages/outbound/opens/{messageid}

Get opens for a specific message

Retrieve all open events for a single outbound message. Use this to see exactly when and how many times a specific email was opened, along with client and location details for each open event.

1 path, 2 query params
GET/messages/outbound/{messageid}/dump

Get outbound message SMTP dump

Retrieve the raw SMTP conversation for a specific outbound message. Use this for advanced debugging when you need to inspect the exact headers and content that were transmitted to the receiving mail server.

1 path params
GET/messages/outbound/{messageid}/details

Get outbound message details

Retrieve the full details of a sent email, including the HTML/text body, attachments, and complete event history (delivery, opens, clicks, bounces). Use this to inspect exactly what was sent and track the full lifecycle of a specific message.

1 path params
PUT/messages/inbound/{messageid}/retry

Retry a failed inbound message

Reschedule a failed inbound message for reprocessing. Use this when your inbound webhook was temporarily unavailable and you need Postmark to re-deliver the message to your endpoint.

1 path params
GET/messages/outbound/opens

Search email open events

Retrieve open tracking events across all outbound messages with filters for recipient, tag, date range, client, platform, and geographic location. Use this to analyze email engagement patterns, identify which recipients are reading your emails, and understand device and location trends.

15 query params
GET/messages/inbound

Search inbound messages

Search through received inbound emails with filters for sender, recipient, subject, tag, status, and date range. Returns up to 10,000 results. Use this to find specific incoming messages, monitor inbound processing status, or audit blocked messages.

10 query params
GET/messages/outbound/clicks

Search link click events

Retrieve click tracking events across all outbound messages with filters for recipient, tag, client, platform, and geographic location. Use this to measure link engagement, identify popular content, and understand how recipients interact with your emails.

15 query params
GET/messages/outbound

Search outbound messages

Search sent emails by recipient, tag, or status

10 query params

Sender Signatures

8 operations
POST/senders

Create a sender signature

Register a new sender email address with Postmark. A confirmation email will be sent to the address for verification. Once confirmed, this address can be used as the From address when sending emails.

DELETE/senders/{signatureid}

Delete a sender signature

Remove a sender signature from your account. Emails can no longer be sent from this address after deletion. Make sure no active workflows use this sender address before removing it.

1 path params
GET/senders/{signatureid}

Get sender signature details

Retrieve complete details for a sender signature, including DKIM status, SPF verification, Return-Path configuration, and confirmation status. Use this to check whether a sender address is fully authenticated and ready to use.

1 path params
GET/senders

List sender signatures

Retrieve all sender signatures configured in your account. Sender signatures authorize specific email addresses to send through Postmark. Use this to audit which sender addresses are available and their confirmation status.

2 query params
POST/senders/{signatureid}/requestnewdkim

Request new DKIM for sender (deprecated)

Request generation of a new DKIM key for a sender signature. This endpoint is deprecated. Use the Domains API to manage DKIM keys at the domain level instead, which provides centralized key management.

1 path params
POST/senders/{signatureid}/resend

Resend sender confirmation email

Resend the confirmation email for an unconfirmed sender signature. Use this when the original confirmation email was lost, expired, or not received by the address owner.

1 path params
PUT/senders/{signatureid}

Update a sender signature

Modify properties of a sender signature, including the display name, reply-to address, Return-Path domain, and confirmation note. Use this to update sender details without creating a new signature.

1 path params
POST/senders/{signatureid}/verifyspf

Verify sender SPF records (deprecated)

Verify SPF record configuration for a sender signature. This endpoint is deprecated. Use the Domains API for domain-level DKIM verification instead, which provides stronger authentication.

1 path params

Server

2 operations
GET/server

Get current server configuration

Retrieve the full configuration of your current Postmark server, including tracking settings, inbound configuration, webhook URLs, and delivery preferences. Use this to audit server settings or display configuration details in your admin interface.

PUT/server

Update server configuration

Modify your current server's settings including tracking preferences, webhook URLs, inbound spam threshold, and delivery options. Use this to enable open/click tracking, configure inbound email processing, or update webhook endpoints.

Servers

5 operations
POST/servers

Create a new server

Provision a new Postmark server for sending and receiving email. Each server gets its own API token, tracking settings, and message streams. Use this to set up isolated environments for different projects or clients. Requires account-level authentication.

DELETE/servers/{serverid}

Delete a server

Permanently remove a server and all its associated data. This action cannot be undone and is not available for all accounts. Use with extreme caution, as all message history, templates, and configuration will be lost.

1 path params
GET/servers/{serverid}

Get a server by ID

Retrieve the full configuration of a specific server by its numeric ID. Requires account-level authentication. Use this to inspect settings for any server in your account without needing its server token.

1 path params
GET/servers

List all servers in the account

Retrieve a paginated list of all Postmark servers configured under your account. Optionally filter by server name. Use this to manage multiple environments or projects that each have their own sending server. Requires account-level authentication.

3 query params
PUT/servers/{serverid}

Update a server by ID

Modify settings for a specific server using account-level authentication. Use this for centralized server management when administering multiple servers from a single integration.

1 path params

Stats

12 operations
GET/stats/outbound/bounces

Get bounce counts by type

Retrieve bounce statistics broken down by type (hard bounce, soft bounce, transient, SMTP API error) with daily granularity. Use this to monitor deliverability trends, detect list quality issues, and identify when bounce rates exceed acceptable thresholds.

4 query params
GET/stats/outbound/clicks/browserfamilies

Get clicks by browser family

Retrieve click statistics broken down by browser type. Use this to understand which browsers your recipients use when clicking links, helping you optimize landing pages for the most common browsers.

4 query params
GET/stats/outbound/clicks/location

Get clicks by content location

Retrieve click statistics showing whether clicks came from HTML or plain text email content. Use this to understand how many recipients rely on the text version of your emails and ensure both versions contain proper links.

4 query params
GET/stats/outbound/clicks/platforms

Get clicks by platform

Retrieve click statistics broken down by device platform (desktop, mobile). Use this to understand whether recipients engage with links more on mobile or desktop, informing your landing page design decisions.

4 query params
GET/stats/outbound/sends

Get daily sent email counts

Retrieve day-by-day counts of sent emails over a date range. Use this to track sending volume trends, identify spikes or drops, and correlate email activity with business events.

4 query params
GET/stats/outbound/opens

Get email open counts

Retrieve daily total and unique email open counts over a date range. Use this to measure email engagement, calculate open rates, and track how engagement trends change over time.

4 query params
GET/stats/outbound/opens/emailclients

Get email opens by email client

Retrieve open statistics broken down by email client (Gmail, Outlook, Apple Mail, etc.). Use this to identify which email clients your recipients use and prioritize compatibility testing for the most popular ones.

4 query params
GET/stats/outbound/opens/platforms

Get email opens by platform

Retrieve open statistics broken down by device platform (desktop, mobile, webmail). Use this to understand how your audience reads email and optimize your templates for the most common platforms.

4 query params
GET/stats/outbound/clicks

Get link click counts

Retrieve daily total and unique click counts over a date range. Use this to measure link engagement, calculate click-through rates, and identify which campaigns drive the most recipient interaction.

4 query params
GET/stats/outbound

Get outbound statistics overview

Get delivery statistics overview for your server

4 query params
GET/stats/outbound/spam

Get spam complaint counts

Retrieve daily spam complaint statistics over a date range. Use this to monitor complaint rates, which directly impact your sender reputation. High complaint rates can lead to deliverability issues and should be addressed promptly.

4 query params
GET/stats/outbound/tracked

Get tracked email counts

Retrieve daily counts of emails sent with open or link tracking enabled. Use this to verify that tracking is being applied consistently and to understand what portion of your email volume is being tracked.

4 query params

Suppressions

3 operations
POST/message-streams/{streamId}/suppressions

Add addresses to suppression list

Suppress email addresses to stop sending

1 path params
GET/message-streams/{streamId}/suppressions/dump

List suppressed email addresses

Retrieve email addresses that are suppressed (blocked from sending) for a specific message stream. Filter by suppression reason, origin, date range, or specific address. Use this to audit your suppression list, comply with deliverability best practices, or investigate why a specific recipient is not receiving emails.

1 path, 5 query params
POST/message-streams/{streamId}/suppressions/delete

Remove addresses from suppression list

Remove up to 50 email addresses from the suppression list for a specific message stream. Note that spam complaint suppressions cannot be deleted. Use this to re-enable sending to addresses that were manually suppressed or had temporary bounce issues that have been resolved.

1 path params

Templates

7 operations
POST/templates

Create an email template

Create a reusable email template

DELETE/templates/{templateIdOrAlias}

Delete an email template

Permanently remove a template from your server. This action cannot be undone. Make sure no active workflows depend on this template before deleting it.

1 path params
GET/templates/{templateIdOrAlias}

Get a template by ID or alias

Fetch the full details of a specific template, including its subject, HTML body, text body, and layout assignment. Look up templates by numeric ID or string alias. Use this to review template content or populate an editing interface.

1 path params
GET/templates

List email templates

Retrieve a paginated list of your email templates with optional filtering by type and layout. Use this to browse available templates, audit your template library, or build a template picker in your application.

4 query params
PUT/templates/push

Push templates between servers

Transfer all templates from one server to another, syncing changes across environments. Supports a dry-run mode to preview what would change before committing. Requires account-level authentication. Use this to promote templates from staging to production.

PUT/templates/{templateIdOrAlias}

Update an email template

Modify an existing template's subject, HTML body, text body, alias, or layout assignment. Use this to update email designs, fix content issues, or adjust template variables without creating a new template.

1 path params
POST/templates/validate

Validate template content

Test a template's syntax and preview its rendered output using sample model data. Catches Mustache parsing errors before you save the template. Use this to validate templates during development or before deploying content changes.

Webhooks

5 operations
POST/webhooks

Create a webhook configuration

Set up a new webhook to receive real-time notifications for email events like deliveries, bounces, opens, clicks, and spam complaints. Supports HTTP Basic Auth and custom headers for secure webhook delivery. Each webhook can be scoped to a specific message stream.

DELETE/webhooks/{webhookid}

Delete a webhook configuration

Remove a webhook from your server. Postmark will immediately stop sending events to the webhook URL. Use this when decommissioning an endpoint or replacing it with a new webhook configuration.

1 path params
GET/webhooks/{webhookid}

Get webhook configuration details

Retrieve the full configuration of a specific webhook, including its URL, authentication settings, enabled triggers, and associated message stream. Use this to verify webhook setup or debug event delivery issues.

1 path params
GET/webhooks

List webhook configurations

Retrieve all webhook configurations for your server, optionally filtered by message stream. Use this to audit which events are being forwarded to your endpoints and verify webhook URLs are correctly configured.

1 query params
PUT/webhooks/{webhookid}

Update a webhook configuration

Modify an existing webhook's URL, authentication, headers, or trigger settings. Only the fields you provide will be updated. Use this to change webhook endpoints, enable additional event types, or update authentication credentials.

1 path params