Skip to main content
Use suppressions to prevent delivery to addresses that should no longer receive mail. In the dashboard, open Suppressions to view the list, Export it, or Import suppressions.

Authentication

Base URL: https://pro.api.serversmtp.com/api/v2 Send consumerKey and consumerSecret headers with Statistics & Management APIs (APIS) permission. Its IP restrictions must allow your server. See authentication.

List suppressions

GET /suppressions requires from and to in YYYY-MM-DD format. Do not include a time.
Terminal
An invalid orderby, ordertype, page, or limit returns 400 with orderby_can_only_be_date_or_source_or_recipient_or_reason, ordertype_should_be_asc_or_desc, page_should_be_integer, page_should_be_greater_than_0, limit_should_be_integer, or limit_should_be_greater_than_0. The response is an object with count and results:

Sources

Filter with a JSON body

POST /suppressions retrieves filtered results. To add addresses, use the import endpoint.
Terminal
The JSON body supports the list filters, sorting, and pagination. restrict is an array of rules with by (sender, recipient, reason, or subject), operator (include or exclude), filter, and smart_search. The response uses the same count and results envelope.

Import addresses

POST /suppressions/import accepts a JSON array of addresses in content, with type: "manual" and an optional reason:
Terminal
To upload a CSV or TXT file with one address per line, use multipart fields type=file, file, and optional reason:
Terminal
The response contains status, valid (accepted addresses), and invalid (rejected values).

Export CSV

GET /suppressions/csv accepts the date, search, source, sorting, and timezone query parameters, without pagination, and validates them like the list. POST /suppressions/csv accepts a JSON filter body with required from and to and optional filter, filter_by, smart_search, tz, and restrict. Both return CSV data.

Remove up to 100 addresses

POST /suppressions/bulk_delete takes a bare JSON array of email addresses, with a maximum of 100 addresses per request:
Terminal
A successful request returns {"success":true}.

Remove matching suppressions

POST /suppressions/delete takes a filter body with required dates and optional filter, filter_by, smart_search, tz, and restrict. Review the matching records with POST /suppressions before deleting them.
Terminal
A successful request returns {"success":true}. Remove an address only when you have resolved the reason for suppression and have permission to email it.