MailLandDocs

Suppressions and bounces

Read and manage the suppression list and the bounces that fed it.

GET/v1/transactional/bounces/statistics

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

from?string
Formatdate-time
to?string
Formatdate-time

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/bounces/statistics"
{  "data_source": "string",  "fallback_reason": null,  "is_degraded": true,  "totalBounces": 0,  "hardBounces": 0,  "softBounces": 0,  "generalBounces": 0,  "platformIssueBounces": 0,  "attemptsExpiredBounces": 0,  "byCategory": {    "property1": 0,    "property2": 0  }}
GET/v1/transactional/bounces/recent

PERF: Limited to last 90 days to prevent full table scan. Date filter applied first for index usage.

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

limit?|
Match^-?(?:0|[1-9]\d*)$
Formatint32
Default50

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/bounces/recent"
[  {    "messageId": "string",    "recipientEmail": "string",    "subject": "string",    "bounceCategory": null,    "categoryKey": "string",    "bounceType": "string",    "canRetry": true,    "bounceReason": null,    "bouncedAt": "2019-08-24T14:15:22Z",    "retryCount": 0  }]
GET/v1/transactional/bounces/platform-issues

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

limit?|
Match^-?(?:0|[1-9]\d*)$
Formatint32
Default50

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/bounces/platform-issues"
[  {    "messageId": "string",    "recipientEmail": "string",    "subject": "string",    "occurredAt": "2019-08-24T14:15:22Z"  }]
GET/v1/transactional/bounces/attempts-expired

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

limit?|
Match^-?(?:0|[1-9]\d*)$
Formatint32
Default50

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/bounces/attempts-expired"
[  {    "messageId": "string",    "recipientEmail": "string",    "subject": "string",    "occurredAt": "2019-08-24T14:15:22Z"  }]
GET/v1/transactional/bounces/attempts-expired/summary

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

from?string
Formatdate-time
to?string
Formatdate-time

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/bounces/attempts-expired/summary"
{  "total": 0,  "truncated": true,  "byCause": [    {      "cause": "string",      "count": 0    }  ],  "byDomain": [    {      "domain": "string",      "expired": 0,      "recipients": 0,      "repeatRecipients": 0,      "lastExpiredAt": "2019-08-24T14:15:22Z",      "cause": "string"    }  ]}
POST/v1/transactional/bounces/{messageId}/retry

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Path Parameters

messageId*string

Response Body

application/json

curl -X POST "https://example.com/v1/transactional/bounces/string/retry"
{  "message": "string"}
GET/v1/transactional/suppressions

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

limit?|
Match^-?(?:0|[1-9]\d*)$
Formatint32
Default50
cursor?string
search?string
type?string

Value in

  • "hardBounce"
  • "softBounce"
  • "complaint"
  • "unsubscribe"
  • "manual"
  • "invalid"
  • "spamTrap"
  • "roleAddress"
scope?string

Value in

  • "global"
  • "marketing"
  • "transactional"
  • "list"
mailingListId?string
fromDate?string
Formatdate-time
toDate?string
Formatdate-time
sortBy?string
Default"CreatedAt"
sortDescending?boolean
Defaulttrue

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/transactional/suppressions"
{  "items": [    {      "id": "string",      "email": "string",      "suppressionType": "hardBounce",      "suppressionTypeName": null,      "scope": "global",      "scopeName": null,      "mailingListId": null,      "mailingListName": null,      "expiresAt": null,      "reason": null,      "reasonCode": null,      "bounceType": null,      "bounceCategory": null,      "bounceSubcategory": null,      "bounceCount": 0,      "lastBounceAt": null,      "unsubscribeSource": null,      "unsubscribeSourceName": null,      "campaignId": null,      "subscriberId": null,      "messageId": null,      "source": null,      "ipAddress": null,      "notes": null,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": null,      "isLocked": true,      "lockedReason": null    }  ],  "nextCursor": null,  "hasMore": true}
POST/v1/transactional/suppressions

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/transactional/suppressions" \  -H "Content-Type: application/json" \  -d '{    "email": "string"  }'
{  "id": "string",  "email": "string",  "suppressionType": "hardBounce",  "suppressionTypeName": null,  "scope": "global",  "scopeName": null,  "mailingListId": null,  "mailingListName": null,  "expiresAt": null,  "reason": null,  "reasonCode": null,  "bounceType": null,  "bounceCategory": null,  "bounceSubcategory": null,  "bounceCount": 0,  "lastBounceAt": null,  "unsubscribeSource": null,  "unsubscribeSourceName": null,  "campaignId": null,  "subscriberId": null,  "messageId": null,  "source": null,  "ipAddress": null,  "notes": null,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": null,  "isLocked": true,  "lockedReason": null}
GET/v1/transactional/suppressions/stats

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/suppressions/stats"
{  "totalCount": 0,  "globalCount": 0,  "marketingCount": 0,  "transactionalCount": 0,  "listCount": 0,  "hardBounceCount": 0,  "softBounceCount": 0,  "complaintCount": 0,  "unsubscribeCount": 0,  "manualCount": 0,  "invalidCount": 0,  "spamTrapCount": 0,  "roleAddressCount": 0,  "expiringCount": 0,  "lastSuppression": null}
GET/v1/transactional/suppressions/count

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

type?string

Value in

  • "hardBounce"
  • "softBounce"
  • "complaint"
  • "unsubscribe"
  • "manual"
  • "invalid"
  • "spamTrap"
  • "roleAddress"
scope?string

Value in

  • "global"
  • "marketing"
  • "transactional"
  • "list"

Response Body

application/json

curl -X GET "https://example.com/v1/transactional/suppressions/count"
null
POST/v1/transactional/suppressions/bulk

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/transactional/suppressions/bulk" \  -H "Content-Type: application/json" \  -d '{    "emails": [      {        "email": "string"      }    ]  }'
{  "totalCount": 0,  "addedCount": 0,  "skippedCount": 0,  "skippedEmails": [    "string"  ],  "message": "string"}

Remove suppression by ID

DELETE/v1/transactional/suppressions/{id}

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Path Parameters

id*string

Response Body

application/json

application/json

curl -X DELETE "https://example.com/v1/transactional/suppressions/string"
Empty
DELETE/v1/transactional/suppressions/by-email

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

email?string
scope?string

Value in

  • "global"
  • "marketing"
  • "transactional"
  • "list"
mailingListId?string

Response Body

application/json

curl -X DELETE "https://example.com/v1/transactional/suppressions/by-email"
Empty
GET/v1/transactional/suppressions/check

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

email?string
messageType?string
Default1

Value in

  • "transactional"
  • "marketing"
mailingListId?string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/transactional/suppressions/check"
null
POST/v1/transactional/suppressions/check

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/transactional/suppressions/check" \  -H "Content-Type: application/json" \  -d '{    "emails": [      "string"    ]  }'
{  "results": {    "property1": true,    "property2": true  }}
POST/v1/transactional/suppressions/check-bulk

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/transactional/suppressions/check-bulk" \  -H "Content-Type: application/json" \  -d '{    "emails": [      "string"    ]  }'
{  "suppressedEmails": [    "string"  ]}
POST/v1/transactional/suppressions/import

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/transactional/suppressions/import" \  -H "Content-Type: application/json" \  -d '{    "csvContent": "string"  }'
{  "totalRows": 0,  "importedCount": 0,  "skippedCount": 0,  "invalidCount": 0,  "invalidEmails": [    "string"  ],  "errors": [    "string"  ],  "message": "string"}
POST/v1/transactional/suppressions/import-file

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

scope?string
Default0

Value in

  • "global"
  • "marketing"
  • "transactional"
  • "list"
mailingListId?string

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/transactional/suppressions/import-file"
{  "totalRows": 0,  "importedCount": 0,  "skippedCount": 0,  "invalidCount": 0,  "invalidEmails": [    "string"  ],  "errors": [    "string"  ],  "message": "string"}
GET/v1/transactional/suppressions/export

Authorization

ApiKey
X-API-Key<token>

Your API key, created in the dashboard under API keys. Production sending keys start with ml_pet_ (transactional) or ml_pem_ (marketing); sandbox keys with ml_set_ or ml_sem_.

In: header

Query Parameters

type?string

Value in

  • "hardBounce"
  • "softBounce"
  • "complaint"
  • "unsubscribe"
  • "manual"
  • "invalid"
  • "spamTrap"
  • "roleAddress"
scope?string

Value in

  • "global"
  • "marketing"
  • "transactional"
  • "list"
mailingListId?string

Response Body

text/csv

text/csv

curl -X GET "https://example.com/v1/transactional/suppressions/export"
{  "fileContents": "string",  "contentType": null,  "fileDownloadName": null,  "lastModified": null,  "entityTag": null,  "enableRangeProcessing": true}