MailerImportSuppressions¶
POST mailer/suppression/import
Imports up to 50 000 addresses in one request. This is the method to use when moving from another email provider: their suppression list has to come along, or the first campaign from the new provider will re-bounce every dead address at once and burn the domain reputation on day one.
A malformed address does not abort the import — it lands in failed with its reason while
the rest is applied.
Access Control¶
Allowed role: admin.
Request¶
POST https://{broker_domain}/mailer/suppression/import
{
"emails": [
"[email protected]",
"[email protected]"
],
"reason": "HARD_BOUNCE",
"description": "Imported from previous provider"
}
{
"command": "MailerImportSuppressions",
"extID": "1",
"data": {
"emails": [
"[email protected]",
"[email protected]"
],
"reason": "HARD_BOUNCE",
"description": "Imported from previous provider"
}
}
const res = await platform.MailerImportSuppressions({
emails: [
"[email protected]",
"[email protected]"
],
reason: "HARD_BOUNCE",
description: "Imported from previous provider"
});
Request Data¶
| Field | Type | Required | Description |
|---|---|---|---|
emails |
array | Yes | Addresses, 1..50000 items |
reason |
enum | No | Why they are suppressed: HARD_BOUNCE, BLOCK, COMPLAINT, UNSUBSCRIBE, MANUAL. Default HARD_BOUNCE |
description |
string | No | Free-form explanation applied to every entry |
expiresAt |
string | No | YYYY-MM-DD HH:mm:ss. Empty means never expires |
Response Data¶
{
"created": 2,
"updated": 0,
"failed": [
{ "email": "not-an-address", "error": "Address 'not-an-address' cannot be parsed" }
]
}
Errors¶
| Code | Error | Description |
|---|---|---|
400 |
VALIDATION_ERROR |
Empty list, or more than 50 000 addresses |