Suppressions and bounces
Read and manage the suppression list and the bounces that fed it.
/v1/transactional/bounces/statisticsAuthorization
ApiKey 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
date-timedate-timeResponse 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 }}/v1/transactional/bounces/recentPERF: Limited to last 90 days to prevent full table scan. Date filter applied first for index usage.
Authorization
ApiKey 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
^-?(?:0|[1-9]\d*)$int3250Response 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 }]/v1/transactional/bounces/platform-issuesAuthorization
ApiKey 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
^-?(?:0|[1-9]\d*)$int3250Response 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" }]/v1/transactional/bounces/attempts-expiredAuthorization
ApiKey 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
^-?(?:0|[1-9]\d*)$int3250Response 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" }]/v1/transactional/bounces/attempts-expired/summaryAuthorization
ApiKey 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
date-timedate-timeResponse 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" } ]}/v1/transactional/bounces/{messageId}/retryAuthorization
ApiKey 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
Response Body
application/json
curl -X POST "https://example.com/v1/transactional/bounces/string/retry"{ "message": "string"}/v1/transactional/suppressionsAuthorization
ApiKey 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
^-?(?:0|[1-9]\d*)$int3250Value in
- "hardBounce"
- "softBounce"
- "complaint"
- "unsubscribe"
- "manual"
- "invalid"
- "spamTrap"
- "roleAddress"
Value in
- "global"
- "marketing"
- "transactional"
- "list"
date-timedate-time"CreatedAt"trueResponse 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}/v1/transactional/suppressionsAuthorization
ApiKey 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}/v1/transactional/suppressions/statsAuthorization
ApiKey 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}/v1/transactional/suppressions/countAuthorization
ApiKey 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
Value in
- "hardBounce"
- "softBounce"
- "complaint"
- "unsubscribe"
- "manual"
- "invalid"
- "spamTrap"
- "roleAddress"
Value in
- "global"
- "marketing"
- "transactional"
- "list"
Response Body
application/json
curl -X GET "https://example.com/v1/transactional/suppressions/count"null/v1/transactional/suppressions/bulkAuthorization
ApiKey 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"}/v1/transactional/suppressions/{id}Authorization
ApiKey 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
Response Body
application/json
application/json
curl -X DELETE "https://example.com/v1/transactional/suppressions/string"/v1/transactional/suppressions/by-emailAuthorization
ApiKey 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
Value in
- "global"
- "marketing"
- "transactional"
- "list"
Response Body
application/json
curl -X DELETE "https://example.com/v1/transactional/suppressions/by-email"/v1/transactional/suppressions/checkAuthorization
ApiKey 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
1Value in
- "transactional"
- "marketing"
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/transactional/suppressions/check"null/v1/transactional/suppressions/checkAuthorization
ApiKey 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 }}/v1/transactional/suppressions/check-bulkAuthorization
ApiKey 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" ]}/v1/transactional/suppressions/importAuthorization
ApiKey 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"}/v1/transactional/suppressions/import-fileAuthorization
ApiKey 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
0Value in
- "global"
- "marketing"
- "transactional"
- "list"
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"}/v1/transactional/suppressions/exportAuthorization
ApiKey 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
Value in
- "hardBounce"
- "softBounce"
- "complaint"
- "unsubscribe"
- "manual"
- "invalid"
- "spamTrap"
- "roleAddress"
Value in
- "global"
- "marketing"
- "transactional"
- "list"
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}