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

Bouncesapi 1 endpoints

PUT /bounces/{bounceid}/activate
operationId: BouncesApi_activateBounce

Parameters

Name In Required Type Description
bounceid path required integer

The ID of the Bounce to activate.

Responses

200

OK

422
500
PUT /bounces/{bounceid}/activate

Messagesapi 2 endpoints

PUT /messages/inbound/{messageid}/bypass
operationId: MessagesApi_updateBypassRulesForInboundMessage

Parameters

Name In Required Type Description
messageid path required string

The ID of the message which should bypass inbound rules.

Responses

200

OK

422
500
PUT /messages/inbound/{messageid}/bypass
PUT /messages/inbound/{messageid}/retry
operationId: MessagesApi_retryInboundMessage

Parameters

Name In Required Type Description
messageid path required string

The ID of the inbound message on which we should retry processing.

Responses

200

OK

422
500
PUT /messages/inbound/{messageid}/retry

Serverconfigurationapi 1 endpoints

PUT /server
operationId: ServerConfigurationApi_updateConfiguration

Request Body

The settings that should be modified for the current server.

application/json
schema EditServerConfigurationRequest

Responses

200

OK

422
500
PUT /server

Templatesapi 1 endpoints

PUT /templates/{templateIdOrAlias}
operationId: TemplatesApi_updateTemplate

Parameters

Name In Required Type Description
templateIdOrAlias path required string

The ‘TemplateID’ or ‘Alias’ value for the Template you wish to update.

Request Body

required
application/json
schema EditTemplateRequest

Responses

200

OK

422
500
PUT /templates/{templateIdOrAlias}

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": {}
}