Postmark

Email delivery service for web applications

postmarkapp.com/developer ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
43
Schemas
75
63
Quality
Updated
3 days ago
Email email transactional
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

api.postmarkapp.com

Endpoints

Clear filters

Inboundrulesapi 1 endpoints

POST /triggers/inboundrules
operationId: InboundRulesApi_createTrigger

Request Body

application/json
schema CreateInboundRuleRequest

Responses

200

OK

422
500
POST /triggers/inboundrules

Sendingapi 4 endpoints

POST /email
operationId: SendingApi_sendSingleEmail

Request Body

application/json
schema SendEmailRequest

Responses

200

OK

422
500
POST /email
POST /email/batch
operationId: SendingApi_sendBatchEmails

Request Body

application/json
schema SendEmailBatchRequest
array

Responses

200

OK

422
500
POST /email/batch
POST /email/batchWithTemplates
operationId: SendingApi_sendBatchWithTemplates

Request Body

required
application/json
schema SendEmailTemplatedBatchRequest

Responses

200

OK

422
500
POST /email/batchWithTemplates
POST /email/withTemplate
operationId: SendingApi_sendEmailTemplate

Request Body

required
application/json
schema EmailWithTemplateRequest

Responses

200

OK

422
500
POST /email/withTemplate

Templatesapi 2 endpoints

POST /templates
operationId: TemplatesApi_createTemplate

Request Body

required
application/json
schema CreateTemplateRequest

Responses

200

OK

422
500
POST /templates
POST /templates/validate
operationId: TemplatesApi_validateTemplateContent

Request Body

application/json
schema TemplateValidationRequest

Responses

200

OK

422
500
POST /templates/validate

Schemas

object Attachment
{
  "properties": {
    "Name": {
      "type": "string"
    },
    "Content": {
      "type": "string"
    },
    "ContentID": {
      "type": "string"
    },
    "ContentType": {
      "type": "string"
    }
  },
  "description": "An attachment for an email message."
}
array AttachmentCollection
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Attachment"
  }
}
object BounceActivationResponse
{
  "properties": {
    "Bounce": {
      "$ref": "#/components/schemas/BounceInfoResponse"
    },
    "Message": {
      "type": "string"
    }
  }
}
object BounceCountElement
{
  "properties": {
    "Name": {
      "type": "string"
    },
    "Type": {
      "type": "string"
    },
    "Count": {
      "type": "integer"
    }
  }
}
object BounceDumpResponse
{
  "properties": {
    "Body": {
      "type": "string",
      "description": "Raw source of bounce. If no dump is available this will return an empty string."
    }
  }
}
object 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"
    }
  }
}
object BounceSearchResponse
{
  "properties": {
    "Bounces": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BounceInfoResponse"
      }
    },
    "TotalCount": {
      "type": "integer"
    }
  },
  "description": ""
}
object BouncesApiActivateBounceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BouncesApiGetBounceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BouncesApiGetDumpResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object CreateInboundRuleRequest
{
  "properties": {
    "Rule": {
      "type": "string",
      "format": "email"
    }
  },
  "description": ""
}
object 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."
}
object DeliveryStatsResponse
{
  "properties": {
    "Bounces": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BounceCountElement"
      }
    },
    "InactiveMails": {
      "type": "integer"
    }
  },
  "description": ""
}
object DynamicResponse
{
  "description": "The properties of this object will vary based request parameters."
}
object 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"
    }
  }
}
object 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."
}
object EmailNameAddressPair
{
  "properties": {
    "Name": {
      "type": "string"
    },
    "Email": {
      "type": "string"
    }
  },
  "description": ""
}
object 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"
    }
  }
}
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": ""
}
object 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": ""
}
array HeaderCollection
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/MessageHeader"
  }
}
object 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": ""
}
object 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"
    }
  }
}
object InboundRulesApiCreateTriggerResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object InboundRulesApiListTriggersResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object InboundSearchResponse
{
  "properties": {
    "TotalCount": {
      "type": "integer"
    },
    "InboundMessages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InboundMessageDetail"
      }
    }
  },
  "description": ""
}
object MessageClickSearchResponse
{
  "properties": {
    "Clicks": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ExtendedMessageClickEventInformation"
      }
    },
    "TotalCount": {
      "type": "integer"
    }
  }
}
object 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": ""
}
object 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."
}
object MessageOpenSearchResponse
{
  "properties": {
    "Opens": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ExtendedMessageOpenEventInformation"
      }
    },
    "TotalCount": {
      "type": "integer"
    }
  }
}
object MessagesApiGetAllClicksResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MessagesApiGetInboundMessageDetailsResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MessagesApiGetMessageClicksResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MessagesApiGetMessageDumpResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MessagesApiGetMessageOpensResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MessagesApiGetOutboundMessageDetailsResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MessagesApiListOpensForOutboundResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object 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": ""
}
object 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"
      }
    }
  }
}
object OutboundMessageDumpResponse
{
  "properties": {
    "Body": {
      "type": "string",
      "description": "Raw source of message. If no dump is available this will return an empty string."
    }
  }
}
object 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": ""
}
object OutboundSearchResponse
{
  "properties": {
    "Messages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OutboundMessageDetail"
      }
    },
    "TotalCount": {
      "type": "integer"
    }
  },
  "description": ""
}
array SendEmailBatchRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/SendEmailRequest"
  }
}
array SendEmailBatchResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/SendEmailResponse"
  }
}
object 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"
    }
  }
}
object 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"
}
object SendEmailTemplatedBatchRequest
{
  "properties": {
    "Messages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailWithTemplateRequest"
      }
    }
  }
}
object 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."
}
object ServerConfigurationApiGetConfigurationResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object ServerConfigurationApiUpdateConfigurationResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}