How long are Inbound and Outbound messages stored in activity?

Content and Metadata

Postmark stores email content, events (e.g. delivery, click, open), and metadata for all messages for 45 days. After 45 days, Postmark deletes email content and related metadata for all delivered messages. Postmark stores aggregated statistics forever. This includes bounce and spam complaints. For historical Bounce and Spam Complaints, they can be found under the Suppressions section of your Message Stream or via our Suppressions API.

Postmark stores blocked inbound messages for 45 days.

To store messages for longer than 45 days, use Postmark’s Messages API to store messages in JSON format in your own database. Postmark’s API Explorer is available to test making the API calls.


Attachments are not retrievable via the Postmark UI, API, or webhooks as Postmark does not host the attachment in any way.

When you retrieve the JSON using the API it will include the full JSON but will not include the base64 bytes for the attachment. If you need the attachment bytes, you can retrieve those from the Postmark UI. Open the message within your Postmark UI and then click the Raw Source tab. There, you’ll find the bytes for the attachments received near the bottom.

We do not store the entire base64 bytes for larger attachments over 1MB and instead you’ll see the [Message Truncated] note in the Raw Source. The only way to ensure you are getting the full bytes for all attachments would be to log it in your application when receiving the webhook for later access in case the processing fails in your application.

Last updated December 2nd, 2021

Still need some help?

Our customer success team has your back!