Skip to content

Suppressions

Examples use the postmark client from Usage.

The Suppressions API is available via the suppressions manager. Every method works on the outbound transactional stream unless you pass another stream_id.

List suppressed addresses

>>> postmark.suppressions.all()
[<Suppression: address@wildbit.com>, ...]
>>> suppressions = postmark.suppressions.all(
...     stream_id="broadcast",
...     SuppressionReason="HardBounce",
...     fromdate="2019-12-01",
... )
>>> suppressions[0].as_dict()
{
    'EmailAddress': 'bounce.address@wildbit.com',
    'SuppressionReason': 'HardBounce',
    'Origin': 'Recipient',
    'CreatedAt': '2019-12-17T08:58:33-05:00'
}

Filters: SuppressionReason (HardBounce, SpamComplaint, ManualSuppression), Origin (Recipient, Customer, Admin), fromdate, todate and EmailAddress.

Suppress addresses

Up to 50 addresses per call. Each address gets its own status:

>>> postmark.suppressions.create(
...     ["good.address@wildbit.com", "invalid-email-address"]
... )
[
    {
        'EmailAddress': 'good.address@wildbit.com',
        'Status': 'Suppressed',
        'Message': None
    },
    {
        'EmailAddress': 'invalid-email-address',
        'Status': 'Failed',
        'Message': 'An invalid email address was provided.'
    }
]

Reactivate addresses

Up to 50 addresses per call. Deleting a HardBounce suppression reactivates the bounce. SpamComplaint suppressions can't be deleted:

>>> postmark.suppressions.delete(["good.address@wildbit.com"])
[
    {
        'EmailAddress': 'good.address@wildbit.com',
        'Status': 'Deleted',
        'Message': None
    }
]