tools/integrations/postmark.md
Transactional email delivery service with fast delivery, templates, bounce management, and detailed analytics.
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | REST API for email sending, templates, bounces, stats |
| MCP | - | Not available |
| CLI | ✓ | postmark.js |
| SDK | ✓ | Node.js, Ruby, Python, PHP, Java, .NET, Go |
X-Postmark-Server-Token: {server_token} (server-level)X-Postmark-Account-Token: {account_token} (account-level)POST https://api.postmarkapp.com/email
{
"From": "[email protected]",
"To": "[email protected]",
"Subject": "Welcome!",
"HtmlBody": "<html><body><p>Hello!</p></body></html>",
"TextBody": "Hello!",
"MessageStream": "outbound",
"TrackOpens": true,
"TrackLinks": "HtmlAndText"
}
POST https://api.postmarkapp.com/email/withTemplate
{
"From": "[email protected]",
"To": "[email protected]",
"TemplateId": 12345,
"TemplateModel": {
"name": "Jane",
"action_url": "https://example.com/verify"
},
"MessageStream": "outbound"
}
POST https://api.postmarkapp.com/email/batch
[
{
"From": "[email protected]",
"To": "[email protected]",
"Subject": "Notification",
"TextBody": "Hello user 1"
},
{
"From": "[email protected]",
"To": "[email protected]",
"Subject": "Notification",
"TextBody": "Hello user 2"
}
]
GET https://api.postmarkapp.com/templates?Count=100&Offset=0
GET https://api.postmarkapp.com/templates/{templateIdOrAlias}
POST https://api.postmarkapp.com/templates
{
"Name": "Welcome Email",
"Alias": "welcome",
"Subject": "Welcome {{name}}!",
"HtmlBody": "<html><body><p>Hello {{name}}</p></body></html>",
"TextBody": "Hello {{name}}"
}
GET https://api.postmarkapp.com/deliverystats
GET https://api.postmarkapp.com/bounces?count=50&offset=0&type=HardBounce
PUT https://api.postmarkapp.com/bounces/{bounceId}/activate
GET https://api.postmarkapp.com/messages/outbound?count=50&offset=0&[email protected]
GET https://api.postmarkapp.com/stats/outbound?fromdate=2025-01-01&todate=2025-01-31
GET https://api.postmarkapp.com/stats/outbound/opens?fromdate=2025-01-01&todate=2025-01-31
GET https://api.postmarkapp.com/stats/outbound/clicks?fromdate=2025-01-01&todate=2025-01-31
GET https://api.postmarkapp.com/server
GET https://api.postmarkapp.com/message-streams/outbound/suppressions/dump
POST https://api.postmarkapp.com/message-streams/outbound/suppressions
{
"Suppressions": [
{ "EmailAddress": "[email protected]" }
]
}
Postmark uses simple REST endpoints with PascalCase field names in request/response bodies. Authentication is via custom headers rather than Authorization. Pagination uses Count and Offset parameters. Email sending is synchronous with immediate delivery confirmation.
Sent - Total emails sentBounced - Bounce count by type (hard, soft, transient)SpamComplaints - Spam complaint countOpens - Open count and unique opensClicks - Click count and unique clicksHardBounce - Permanent delivery failureSoftBounce - Temporary delivery failureTransient - Temporary issue (retry)SpamNotification - Marked as spamMessageID - Unique message identifierSubmittedAt - Submission timestampStatus - Delivery statusRecipients - Recipient listFrom - Sender address (must be verified)To - Recipient (comma-separated for multiple)Subject - Email subjectHtmlBody / TextBody - Email contentMessageStream - outbound (transactional) or broadcastTrackOpens - Enable open tracking (boolean)TrackLinks - None, HtmlAndText, HtmlOnly, TextOnlyTag - Custom tag for categorizationfromdate - Start date (YYYY-MM-DD)todate - End date (YYYY-MM-DD)tag - Filter by tag