Query structured spec data via REST or MCP. Get exactly what your agent needs.
api.postmarkapp.com
/bounces
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| count | query | required | integer | Number of bounces to return per request. Max 500. |
| offset | query | required | integer | Number of bounces to skip. |
| type | query | optional | string | Filter by type of bounce |
| inactive | query | optional | boolean | Filter by emails that were deactivated by Postmark due to the bounce. Set to true or false. If this isn't specified it will return both active and inactive. |
| emailFilter | query | optional | string | Filter by email address |
| messageID | query | optional | string | Filter by messageID |
| tag | query | optional | string | Filter by tag |
| todate | query | optional | string | Filter messages up to the date specified. e.g. `2014-02-01` |
| fromdate | query | optional | string | Filter messages starting from the date specified. e.g. `2014-02-01` |
GET /bounces
/bounces/{bounceid}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| bounceid | path | required | integer | The ID of the bounce to retrieve. |
GET /bounces/{bounceid}
/bounces/{bounceid}/activate
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| bounceid | path | required | integer | The ID of the Bounce to activate. |
PUT /bounces/{bounceid}/activate
/bounces/{bounceid}/dump
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| bounceid | path | required | integer | The ID for the bounce dump to retrieve. |
GET /bounces/{bounceid}/dump
/deliverystats
GET /deliverystats
/triggers/inboundrules
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| count | query | required | integer | Number of records to return per request. |
| offset | query | required | integer | Number of records to skip. |
GET /triggers/inboundrules
/triggers/inboundrules
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInboundRuleRequest"
}
}
}
}
POST /triggers/inboundrules
/triggers/inboundrules/{triggerid}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| triggerid | path | required | integer | The ID of the Inbound Rule that should be deleted. |
DELETE /triggers/inboundrules/{triggerid}
/messages/inbound
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| count | query | required | integer | Number of messages to return per request. Max 500. |
| offset | query | required | integer | Number of messages to skip |
| recipient | query | optional | string | Filter by the user who was receiving the email |
| fromemail | query | optional | string | Filter by the sender email address |
| subject | query | optional | string | Filter by email subject |
| mailboxhash | query | optional | string | Filter by mailboxhash |
| tag | query | optional | string | Filter by tag |
| status | query | optional | string | Filter by status (`blocked`, `processed`, `queued`, `failed`, `scheduled`) |
| todate | query | optional | string | Filter messages up to the date specified. e.g. `2014-02-01` |
| fromdate | query | optional | string | Filter messages starting from the date specified. e.g. `2014-02-01` |
GET /messages/inbound
/messages/inbound/{messageid}/bypass
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the message which should bypass inbound rules. |
PUT /messages/inbound/{messageid}/bypass
/messages/inbound/{messageid}/details
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the message for which to details will be retrieved. |
GET /messages/inbound/{messageid}/details
/messages/inbound/{messageid}/retry
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the inbound message on which we should retry processing. |
PUT /messages/inbound/{messageid}/retry
/messages/outbound
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| count | query | required | integer | Number of messages to return per request. Max 500. |
| offset | query | required | integer | Number of messages to skip |
| recipient | query | optional | string | Filter by the user who was receiving the email |
| fromemail | query | optional | string | Filter by the sender email address |
| tag | query | optional | string | Filter by tag |
| status | query | optional | string | Filter by status (`queued` or `sent`) |
| todate | query | optional | string | Filter messages up to the date specified. e.g. `2014-02-01` |
| fromdate | query | optional | string | Filter messages starting from the date specified. e.g. `2014-02-01` |
GET /messages/outbound
/messages/outbound/clicks
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| count | query | required | integer | Number of message clicks to return per request. Max 500. |
| offset | query | required | integer | Number of messages to skip |
| recipient | query | optional | string | Filter by To, Cc, Bcc |
| tag | query | optional | string | Filter by tag |
| client_name | query | optional | string | Filter by client name, i.e. Outlook, Gmail |
| client_company | query | optional | string | Filter by company, i.e. Microsoft, Apple, Google |
| client_family | query | optional | string | Filter by client family, i.e. OS X, Chrome |
| os_name | query | optional | string | Filter by full OS name and specific version, i.e. OS X 10.9 Mavericks, Windows 7 |
| os_family | query | optional | string | Filter by kind of OS used without specific version, i.e. OS X, Windows |
| os_company | query | optional | string | Filter by company which produced the OS, i.e. Apple Computer, Inc., Microsoft Corporation |
| platform | query | optional | string | Filter by platform, i.e. webmail, desktop, mobile |
| country | query | optional | string | Filter by country messages were opened in, i.e. Denmark, Russia |
| region | query | optional | string | Filter by full name of region messages were opened in, i.e. Moscow, New York |
| city | query | optional | string | Filter by full name of region messages were opened in, i.e. Moscow, New York |
GET /messages/outbound/clicks
/messages/outbound/clicks/{messageid}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the Outbound Message for which click statistics should be retrieved. |
| count | query | required | integer | Number of message clicks to return per request. Max 500. |
| offset | query | required | integer | Number of messages to skip. |
GET /messages/outbound/clicks/{messageid}
/messages/outbound/opens
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| count | query | required | integer | Number of message opens to return per request. Max 500. |
| offset | query | required | integer | Number of messages to skip |
| recipient | query | optional | string | Filter by To, Cc, Bcc |
| tag | query | optional | string | Filter by tag |
| client_name | query | optional | string | Filter by client name, i.e. Outlook, Gmail |
| client_company | query | optional | string | Filter by company, i.e. Microsoft, Apple, Google |
| client_family | query | optional | string | Filter by client family, i.e. OS X, Chrome |
| os_name | query | optional | string | Filter by full OS name and specific version, i.e. OS X 10.9 Mavericks, Windows 7 |
| os_family | query | optional | string | Filter by kind of OS used without specific version, i.e. OS X, Windows |
| os_company | query | optional | string | Filter by company which produced the OS, i.e. Apple Computer, Inc., Microsoft Corporation |
| platform | query | optional | string | Filter by platform, i.e. webmail, desktop, mobile |
| country | query | optional | string | Filter by country messages were opened in, i.e. Denmark, Russia |
| region | query | optional | string | Filter by full name of region messages were opened in, i.e. Moscow, New York |
| city | query | optional | string | Filter by full name of region messages were opened in, i.e. Moscow, New York |
GET /messages/outbound/opens
/messages/outbound/opens/{messageid}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the Outbound Message for which open statistics should be retrieved. |
| count | query | required | integer | Number of message opens to return per request. Max 500. |
| offset | query | required | integer | Number of messages to skip. |
GET /messages/outbound/opens/{messageid}
/messages/outbound/{messageid}/details
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the message for which to retrieve details. |
GET /messages/outbound/{messageid}/details
/messages/outbound/{messageid}/dump
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageid | path | required | string | The ID of the message for which to retrieve a dump. |
GET /messages/outbound/{messageid}/dump
/email
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendEmailRequest"
}
}
}
}
POST /email
/email/batch
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendEmailBatchRequest"
}
}
}
}
POST /email/batch
/email/batchWithTemplates
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendEmailTemplatedBatchRequest"
}
}
},
"required": true
}
POST /email/batchWithTemplates
/email/withTemplate
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmailWithTemplateRequest"
}
}
},
"required": true
}
POST /email/withTemplate
/server
GET /server
/server
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EditServerConfigurationRequest"
}
}
},
"description": "The settings that should be modified for the current server."
}
PUT /server
/stats/outbound
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound
/stats/outbound/bounces
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/bounces
/stats/outbound/clicks
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/clicks
/stats/outbound/clicks/browserfamilies
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/clicks/browserfamilies
/stats/outbound/clicks/location
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/clicks/location
/stats/outbound/clicks/platforms
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/clicks/platforms
/stats/outbound/opens
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/opens
/stats/outbound/opens/emailclients
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/opens/emailclients
/stats/outbound/opens/platforms
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/opens/platforms
/stats/outbound/sends
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/sends
/stats/outbound/spam
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats up to the date specified. e.g. `2014-02-01` |
GET /stats/outbound/spam
/stats/outbound/tracked
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tag | query | optional | string | Filter by tag |
| fromdate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
| todate | query | optional | string | Filter stats starting from the date specified. e.g. `2014-01-01` |
GET /stats/outbound/tracked
/templates
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| Count | query | required | number | The number of Templates to return |
| Offset | query | required | number | The number of Templates to "skip" before returning results. |
GET /templates
/templates
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTemplateRequest"
}
}
},
"required": true
}
POST /templates
/templates/validate
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemplateValidationRequest"
}
}
}
}
POST /templates/validate
/templates/{templateIdOrAlias}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateIdOrAlias | path | required | string | The 'TemplateID' or 'Alias' value for the Template you wish to delete. |
DELETE /templates/{templateIdOrAlias}
/templates/{templateIdOrAlias}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateIdOrAlias | path | required | string | The 'TemplateID' or 'Alias' value for the Template you wish to retrieve. |
GET /templates/{templateIdOrAlias}
/templates/{templateIdOrAlias}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| templateIdOrAlias | path | required | string | The 'TemplateID' or 'Alias' value for the Template you wish to update. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EditTemplateRequest"
}
}
},
"required": true
}
PUT /templates/{templateIdOrAlias}
Attachment
{
"properties": {
"Name": {
"type": "string"
},
"Content": {
"type": "string"
},
"ContentID": {
"type": "string"
},
"ContentType": {
"type": "string"
}
},
"description": "An attachment for an email message."
}
AttachmentCollection
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Attachment"
}
}
BounceActivationResponse
{
"properties": {
"Bounce": {
"$ref": "#/components/schemas/BounceInfoResponse"
},
"Message": {
"type": "string"
}
}
}
BounceCountElement
{
"properties": {
"Name": {
"type": "string"
},
"Type": {
"type": "string"
},
"Count": {
"type": "integer"
}
}
}
BounceDumpResponse
{
"properties": {
"Body": {
"type": "string",
"description": "Raw source of bounce. If no dump is available this will return an empty string."
}
}
}
BounceInfoResponse
{
"properties": {
"ID": {
"type": "string"
},
"Tag": {
"type": "string"
},
"Name": {
"type": "string"
},
"Type": {
"type": "string"
},
"Email": {
"type": "string",
"format": "email"
},
"Content": {
"type": "string"
},
"Details": {
"type": "string"
},
"Subject": {
"type": "string"
},
"Inactive": {
"type": "boolean"
},
"TypeCode": {
"type": "integer"
},
"BouncedAt": {
"type": "string",
"format": "date-time"
},
"MessageID": {
"type": "string"
},
"CanActivate": {
"type": "boolean"
},
"Description": {
"type": "string"
},
"DumpAvailable": {
"type": "boolean"
}
}
}
BounceSearchResponse
{
"properties": {
"Bounces": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BounceInfoResponse"
}
},
"TotalCount": {
"type": "integer"
}
},
"description": ""
}
BouncesApiActivateBounceResponse
{
"type": "object",
"example": {},
"properties": {}
}
BouncesApiGetBounceResponse
{
"type": "object",
"example": {},
"properties": {}
}
BouncesApiGetDumpResponse
{
"type": "object",
"example": {},
"properties": {}
}
CreateInboundRuleRequest
{
"properties": {
"Rule": {
"type": "string",
"format": "email"
}
},
"description": ""
}
CreateTemplateRequest
{
"required": [
"Name",
"Subject"
],
"properties": {
"Name": {
"type": "string",
"description": "The friendly display name for the template."
},
"Alias": {
"type": "string",
"description": "The optional string identifier for referring to this Template (numbers, letters, and '.', '-', '_' characters, starts with a letter)."
},
"Subject": {
"type": "string",
"description": "The Subject template definition for this Template."
},
"HtmlBody": {
"type": "string",
"description": "The HTML template definition for this Template."
},
"TextBody": {
"type": "string",
"description": "The Text template definition for this Template."
}
},
"description": "The contents required for creating a new template."
}
DeliveryStatsResponse
{
"properties": {
"Bounces": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BounceCountElement"
}
},
"InactiveMails": {
"type": "integer"
}
},
"description": ""
}
DynamicResponse
{
"description": "The properties of this object will vary based request parameters."
}
EditServerConfigurationRequest
{
"properties": {
"Name": {
"type": "string"
},
"Color": {
"enum": [
"purple",
"blue",
"turqoise",
"green",
"red",
"yellow",
"grey"
],
"type": "string"
},
"TrackLinks": {
"enum": [
"None",
"HtmlAndText",
"HtmlOnly",
"TextOnly"
],
"type": "string"
},
"TrackOpens": {
"type": "boolean"
},
"OpenHookUrl": {
"type": "string"
},
"ClickHookUrl": {
"type": "string",
"description": "Webhook url allowing real-time notification when tracked links are clicked."
},
"BounceHookUrl": {
"type": "string"
},
"InboundDomain": {
"type": "string"
},
"InboundHookUrl": {
"type": "string"
},
"DeliveryHookUrl": {
"type": "string"
},
"RawEmailEnabled": {
"type": "boolean"
},
"SmtpApiActivated": {
"type": "boolean"
},
"PostFirstOpenOnly": {
"type": "boolean"
},
"InboundSpamThreshold": {
"type": "integer"
}
}
}
EditTemplateRequest
{
"required": [
"TemplateId"
],
"properties": {
"Name": {
"type": "string",
"description": "The friendly display name for the template."
},
"Alias": {
"type": "string",
"description": "The optional string identifier for referring to this Template (numbers, letters, and '.', '-', '_' characters, starts with a letter)."
},
"Subject": {
"type": "string",
"description": "The Subject template definition for this Template."
},
"HtmlBody": {
"type": "string",
"description": "The HTML template definition for this Template."
},
"TextBody": {
"type": "string",
"description": "The Text template definition for this Template."
}
},
"description": "The contents required for creating a new template."
}
EmailNameAddressPair
{
"properties": {
"Name": {
"type": "string"
},
"Email": {
"type": "string"
}
},
"description": ""
}
EmailWithTemplateRequest
{
"required": [
"TemplateId",
"TemplateAlias",
"TemplateModel",
"To",
"From"
],
"properties": {
"Cc": {
"type": "string",
"format": "email"
},
"To": {
"type": "string",
"format": "email"
},
"Bcc": {
"type": "string",
"format": "email"
},
"Tag": {
"type": "string"
},
"From": {
"type": "string",
"format": "email"
},
"Headers": {
"$ref": "#/components/schemas/HeaderCollection"
},
"ReplyTo": {
"type": "string"
},
"InlineCss": {
"type": "boolean",
"default": true
},
"TemplateId": {
"type": "integer",
"description": "Required if 'TemplateAlias' is not specified."
},
"TrackLinks": {
"enum": [
"None",
"HtmlAndText",
"HtmlOnly",
"TextOnly"
],
"type": "string",
"description": "Replace links in content to enable \"click tracking\" stats. Default is 'null', which uses the server's LinkTracking setting'."
},
"TrackOpens": {
"type": "boolean",
"description": "Activate open tracking for this email."
},
"Attachments": {
"$ref": "#/components/schemas/AttachmentCollection"
},
"TemplateAlias": {
"type": "string",
"description": "Required if 'TemplateId' is not specified."
},
"TemplateModel": {
"type": "object"
}
}
}
ExtendedMessageClickEventInformation
{
"properties": {
"OS": {
"properties": {
"Name": {
"type": "string"
},
"Family": {
"type": "string"
},
"Company": {
"type": "string"
}
}
},
"Geo": {
"properties": {
"IP": {
"type": "string"
},
"Zip": {
"type": "string"
},
"City": {
"type": "string"
},
"Coords": {
"type": "string"
},
"Region": {
"type": "string"
},
"Country": {
"type": "string"
},
"RegionISOCode": {
"type": "string"
},
"CountryISOCode": {
"type": "string"
}
}
},
"Tag": {
"type": "string"
},
"Client": {
"properties": {
"Name": {
"type": "string"
},
"Family": {
"type": "string"
},
"Company": {
"type": "string"
}
},
"description": ""
},
"Platform": {
"type": "string"
},
"MessageID": {
"type": "string"
},
"Recipient": {
"type": "string",
"format": "email"
},
"UserAgent": {
"type": "string"
},
"ReceivedAt": {
"type": "string",
"format": "date-time"
},
"OriginalLink": {
"type": "string"
},
"ClickLocation": {
"type": "string"
}
},
"description": ""
}
ExtendedMessageOpenEventInformation
{
"properties": {
"OS": {
"properties": {
"Name": {
"type": "string"
},
"Family": {
"type": "string"
},
"Company": {
"type": "string"
}
}
},
"Geo": {
"properties": {
"IP": {
"type": "string"
},
"Zip": {
"type": "string"
},
"City": {
"type": "string"
},
"Coords": {
"type": "string"
},
"Region": {
"type": "string"
},
"Country": {
"type": "string"
},
"RegionISOCode": {
"type": "string"
},
"CountryISOCode": {
"type": "string"
}
}
},
"Tag": {
"type": "string"
},
"Client": {
"properties": {
"Name": {
"type": "string"
},
"Family": {
"type": "string"
},
"Company": {
"type": "string"
}
},
"description": ""
},
"Platform": {
"type": "string"
},
"FirstOpen": {
"type": "boolean"
},
"MessageID": {
"type": "string"
},
"Recipient": {
"type": "string",
"format": "email"
},
"UserAgent": {
"type": "string"
},
"ReceivedAt": {
"type": "string",
"format": "date-time"
}
},
"description": ""
}
HeaderCollection
{
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageHeader"
}
}
InboundMessageDetail
{
"properties": {
"Cc": {
"type": "string"
},
"To": {
"type": "string"
},
"Tag": {
"type": "string"
},
"Date": {
"type": "string"
},
"From": {
"type": "string"
},
"CcFull": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Status": {
"type": "string"
},
"ToFull": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"ReplyTo": {
"type": "string"
},
"Subject": {
"type": "string"
},
"FromFull": {
"properties": {
"Name": {
"type": "string"
},
"Email": {
"type": "string"
}
},
"description": ""
},
"FromName": {
"type": "string"
},
"MessageID": {
"type": "string"
},
"Attachments": {
"$ref": "#/components/schemas/AttachmentCollection"
},
"MailboxHash": {
"type": "string"
},
"OriginalRecipient": {
"type": "string"
}
},
"description": ""
}
InboundMessageFullDetailsResponse
{
"properties": {
"Cc": {
"type": "string"
},
"To": {
"type": "string"
},
"Tag": {
"type": "string"
},
"Date": {
"type": "string"
},
"From": {
"type": "string"
},
"CcFull": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Status": {
"type": "string"
},
"ToFull": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Headers": {
"$ref": "#/components/schemas/HeaderCollection"
},
"ReplyTo": {
"type": "string"
},
"Subject": {
"type": "string"
},
"FromFull": {
"properties": {
"Name": {
"type": "string"
},
"Email": {
"type": "string"
}
},
"description": ""
},
"FromName": {
"type": "string"
},
"HtmlBody": {
"type": "string"
},
"TextBody": {
"type": "string"
},
"MessageID": {
"type": "string"
},
"Attachments": {
"$ref": "#/components/schemas/AttachmentCollection"
},
"MailboxHash": {
"type": "string"
},
"BlockedReason": {
"type": "string"
},
"OriginalRecipient": {
"type": "string"
}
}
}
InboundRulesApiCreateTriggerResponse
{
"type": "object",
"example": {},
"properties": {}
}
InboundRulesApiListTriggersResponse
{
"type": "object",
"example": {},
"properties": {}
}
InboundSearchResponse
{
"properties": {
"TotalCount": {
"type": "integer"
},
"InboundMessages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InboundMessageDetail"
}
}
},
"description": ""
}
MessageClickSearchResponse
{
"properties": {
"Clicks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExtendedMessageClickEventInformation"
}
},
"TotalCount": {
"type": "integer"
}
}
}
MessageEventDetails
{
"properties": {
"Type": {
"type": "string"
},
"Details": {
"properties": {
"Summary": {
"type": "string"
},
"BounceID": {
"type": "string"
},
"DestinationIP": {
"type": "string"
},
"DeliveryMessage": {
"type": "string"
},
"DestinationServer": {
"type": "string"
}
}
},
"Recipient": {
"type": "string"
},
"ReceivedAt": {
"type": "string",
"format": "date-time"
}
},
"description": ""
}
MessageHeader
{
"properties": {
"Name": {
"type": "string",
"description": "The header's name."
},
"Value": {
"type": "string",
"description": "The header's value."
}
},
"description": "A single header for an email message."
}
MessageOpenSearchResponse
{
"properties": {
"Opens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExtendedMessageOpenEventInformation"
}
},
"TotalCount": {
"type": "integer"
}
}
}
MessagesApiGetAllClicksResponse
{
"type": "object",
"example": {},
"properties": {}
}
MessagesApiGetInboundMessageDetailsResponse
{
"type": "object",
"example": {},
"properties": {}
}
MessagesApiGetMessageClicksResponse
{
"type": "object",
"example": {},
"properties": {}
}
MessagesApiGetMessageDumpResponse
{
"type": "object",
"example": {},
"properties": {}
}
MessagesApiGetMessageOpensResponse
{
"type": "object",
"example": {},
"properties": {}
}
MessagesApiGetOutboundMessageDetailsResponse
{
"type": "object",
"example": {},
"properties": {}
}
MessagesApiListOpensForOutboundResponse
{
"type": "object",
"example": {},
"properties": {}
}
OutboundMessageDetail
{
"properties": {
"Cc": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"To": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Bcc": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Tag": {
"type": "string"
},
"From": {
"type": "string"
},
"Status": {
"type": "string"
},
"Subject": {
"type": "string"
},
"MessageID": {
"type": "string"
},
"ReceivedAt": {
"type": "string",
"format": "date-time"
},
"Recipients": {
"type": "array",
"items": {
"type": "string"
}
},
"TrackLinks": {
"enum": [
"None",
"HtmlAndText",
"HtmlOnly",
"TextOnly"
],
"type": "string"
},
"TrackOpens": {
"type": "boolean"
},
"Attachments": {
"$ref": "#/components/schemas/AttachmentCollection"
}
},
"description": ""
}
OutboundMessageDetailsResponse
{
"properties": {
"Cc": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"To": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Bcc": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailNameAddressPair"
}
},
"Tag": {
"type": "string"
},
"Body": {
"type": "string"
},
"From": {
"type": "string"
},
"Status": {
"type": "string"
},
"Subject": {
"type": "string"
},
"HtmlBody": {
"type": "string"
},
"TextBody": {
"type": "string"
},
"MessageID": {
"type": "string"
},
"ReceivedAt": {
"type": "string",
"format": "date-time"
},
"Recipients": {
"type": "array",
"items": {
"type": "string"
}
},
"TrackLinks": {
"enum": [
"None",
"HtmlAndText",
"HtmlOnly",
"TextOnly"
],
"type": "string"
},
"TrackOpens": {
"type": "boolean"
},
"Attachments": {
"$ref": "#/components/schemas/AttachmentCollection"
},
"MessageEvents": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageEventDetails"
}
}
}
}
OutboundMessageDumpResponse
{
"properties": {
"Body": {
"type": "string",
"description": "Raw source of message. If no dump is available this will return an empty string."
}
}
}
OutboundOverviewStatsResponse
{
"properties": {
"Sent": {
"type": "integer"
},
"Opens": {
"type": "integer"
},
"Bounced": {
"type": "integer"
},
"Tracked": {
"type": "integer"
},
"BounceRate": {
"type": "integer"
},
"TotalClicks": {
"type": "integer"
},
"UniqueOpens": {
"type": "integer"
},
"SMTPAPIErrors": {
"type": "integer"
},
"SpamComplaints": {
"type": "integer"
},
"WithLinkTracking": {
"type": "integer"
},
"WithOpenTracking": {
"type": "integer"
},
"SpamComplaintsRate": {
"type": "integer"
},
"UniqueLinksClicked": {
"type": "integer"
},
"WithClientRecorded": {
"type": "integer"
},
"WithPlatformRecorded": {
"type": "integer"
},
"TotalTrackedLinksSent": {
"type": "integer"
}
},
"description": ""
}
OutboundSearchResponse
{
"properties": {
"Messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OutboundMessageDetail"
}
},
"TotalCount": {
"type": "integer"
}
},
"description": ""
}
SendEmailBatchRequest
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SendEmailRequest"
}
}
SendEmailBatchResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SendEmailResponse"
}
}
SendEmailRequest
{
"properties": {
"Cc": {
"type": "string",
"description": "Recipient email address. Multiple addresses are comma seperated. Max 50."
},
"To": {
"type": "string",
"description": "Recipient email address. Multiple addresses are comma seperated. Max 50."
},
"Bcc": {
"type": "string",
"description": "Bcc recipient email address. Multiple addresses are comma seperated. Max 50."
},
"Tag": {
"type": "string",
"description": "Email tag that allows you to categorize outgoing emails and get detailed statistics."
},
"From": {
"type": "string",
"description": "The sender email address. Must have a registered and confirmed Sender Signature."
},
"Headers": {
"$ref": "#/components/schemas/HeaderCollection"
},
"ReplyTo": {
"type": "string",
"description": "Reply To override email address. Defaults to the Reply To set in the sender signature."
},
"Subject": {
"type": "string",
"description": "Email Subject"
},
"HtmlBody": {
"type": "string",
"description": "If no TextBody specified HTML email message"
},
"TextBody": {
"type": "string",
"description": "If no HtmlBody specified Plain text email message"
},
"TrackLinks": {
"enum": [
"None",
"HtmlAndText",
"HtmlOnly",
"TextOnly"
],
"type": "string",
"description": "Replace links in content to enable \"click tracking\" stats. Default is 'null', which uses the server's LinkTracking setting'."
},
"TrackOpens": {
"type": "boolean",
"description": "Activate open tracking for this email."
},
"Attachments": {
"$ref": "#/components/schemas/AttachmentCollection"
}
}
}
SendEmailResponse
{
"properties": {
"To": {
"type": "string"
},
"Message": {
"type": "string"
},
"ErrorCode": {
"type": "integer"
},
"MessageID": {
"type": "string"
},
"SubmittedAt": {
"type": "string",
"format": "date-time"
}
},
"description": "The standard response when a postmark message is sent"
}
SendEmailTemplatedBatchRequest
{
"properties": {
"Messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmailWithTemplateRequest"
}
}
}
}
SentCountsResponse
{
"properties": {
"Days": {
"type": "array",
"items": {
"properties": {
"Date": {
"type": "string"
},
"Sent": {
"type": "integer"
}
}
}
},
"Sent": {
"type": "integer"
}
},
"description": "The result of a get sent counts operation."
}
ServerConfigurationApiGetConfigurationResponse
{
"type": "object",
"example": {},
"properties": {}
}
ServerConfigurationApiUpdateConfigurationResponse
{
"type": "object",
"example": {},
"properties": {}
}
ServerConfigurationResponse
{
"properties": {
"ID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"Color": {
"enum": [
"purple",
"blue",
"turqoise",
"green",
"red",
"yellow",
"grey"
],
"type": "string"
},
"ApiTokens": {
"type": "array",
"items": {
"type": "string"
}
},
"ServerLink": {
"type": "string"
},
"TrackLinks": {
"enum": [
"None",
"HtmlAndText",
"HtmlOnly",
"TextOnly"
],
"type": "string"
},
"TrackOpens": {
"type": "boolean"
},
"InboundHash": {
"type": "string"
},
"OpenHookUrl": {
"type": "string"
},
"ClickHookUrl": {
"type": "string"
},
"BounceHookUrl": {
"type": "string"
},
"InboundDomain": {
"type": "string"
},
"InboundAddress": {
"type": "string",
"format": "email"
},
"InboundHookUrl": {
"type": "string"
},
"DeliveryHookUrl": {
"type": "string"
},
"RawEmailEnabled": {
"type": "boolean"
},
"SmtpApiActivated": {
"type": "boolean"
},
"PostFirstOpenOnly": {
"type": "boolean"
},
"InboundSpamThreshold": {
"type": "integer"
}
}
}
StandardPostmarkResponse
{
"properties": {
"Message": {
"type": "string"
},
"ErrorCode": {
"type": "integer"
}
},
"description": "A Postmark API error."
}
StatsApiGetBounceCountsResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetBrowserPlatformUsageResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetEmailClientUsageResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetEmailOpenCountsResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetEmailPlatformUsageResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetOutboundClickCountsResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetOutboundClicksBrowserFamiliesResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetOutboundClicksLocationResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetSpamComplaintsResponse
{
"type": "object",
"example": {},
"properties": {}
}
StatsApiGetTrackedEmailCountsResponse
{
"type": "object",
"example": {},
"properties": {}
}
TemplateDetailResponse
{
"properties": {
"Name": {
"type": "string",
"description": "The display name for the template."
},
"Alias": {
"type": "string",
"description": "The user-supplied alias for this template."
},
"Active": {
"type": "boolean",
"description": "Indicates that this template may be used for sending email."
},
"Subject": {
"type": "string",
"description": "The content to use for the Subject when this template is used to send email."
},
"HtmlBody": {
"type": "string",
"description": "The content to use for the HtmlBody when this template is used to send email."
},
"TextBody": {
"type": "string",
"description": "The content to use for the TextBody when this template is used to send email."
},
"TemplateID": {
"type": "integer",
"description": "The ID associated with the template."
},
"AssociatedServerId": {
"type": "integer",
"description": "The ID of the Server with which this template is associated."
}
}
}
TemplateListingResponse
{
"properties": {
"TotalCount": {
"type": "number",
"description": "The total number of Templates API associated with this server."
},
"Templates API": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateRecordResponse"
},
"description": "Basic information for each Template returned from the query."
}
}
}
TemplateRecordResponse
{
"properties": {
"Name": {
"type": "string",
"description": "The display name for this template."
},
"Alias": {
"type": "string",
"description": "The user-supplied alias for this template."
},
"Active": {
"type": "boolean",
"description": "True if this template is currently available for use."
},
"TemplateId": {
"type": "number",
"format": "int",
"description": "The associated ID for this template."
}
}
}
TemplateValidationError
{
"properties": {
"Line": {
"type": "integer"
},
"Message": {
"type": "string"
},
"CharacterPosition": {
"type": "integer"
}
}
}
TemplateValidationRequest
{
"properties": {
"Subject": {
"type": "string",
"description": "The subject content to validate. Must be specified if HtmlBody or\nTextBody are not. See our template language documentation for more\ninformation on the syntax for this field.\n"
},
"HtmlBody": {
"type": "string",
"description": "The html body content to validate. Must be specified if Subject or\nTextBody are not. See our template language documentation for more\ninformation on the syntax for this field.\n"
},
"TextBody": {
"type": "string",
"description": "The text body content to validate. Must be specified if HtmlBody or\nSubject are not. See our template language documentation for more\ninformation on the syntax for this field.\n"
},
"TestRenderModel": {
"type": "object",
"description": "The model to be used when rendering test content."
},
"InlineCssForHtmlTestRender": {
"type": "boolean",
"default": true,
"description": "When HtmlBody is specified, the test render will have style blocks\ninlined as style attributes on matching html elements. You may disable\nthe css inlining behavior by passing false for this parameter.\n"
}
}
}
TemplateValidationResponse
{
"properties": {
"Subject": {
"$ref": "#/components/schemas/TemplateValidationResult"
},
"HtmlBody": {
"$ref": "#/components/schemas/TemplateValidationResult"
},
"TextBody": {
"$ref": "#/components/schemas/TemplateValidationResult"
},
"AllContentIsValid": {
"type": "boolean"
},
"SuggestedTemplateModel": {
"type": "object"
}
}
}
TemplateValidationResult
{
"properties": {
"ContentIsValid": {
"type": "boolean"
},
"RenderedContent": {
"type": "string"
},
"ValidationErrors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateValidationError"
}
}
}
}
TemplatesApiCreateTemplateResponse
{
"type": "object",
"example": {},
"properties": {}
}
TemplatesApiDeleteTemplateResponse
{
"type": "object",
"example": {},
"properties": {}
}
TemplatesApiGetTemplateByIdResponse
{
"type": "object",
"example": {},
"properties": {}
}
TemplatesApiListTemplatesResponse
{
"type": "object",
"example": {},
"properties": {}
}
TemplatesApiUpdateTemplateResponse
{
"type": "object",
"example": {},
"properties": {}
}
TemplatesApiValidateTemplateContentResponse
{
"type": "object",
"example": {},
"properties": {}
}