Suppressions
10 operations
List suppression lists
/v1/suppressionsworkwae.suppressions.list()The global list first, then every named list by listId, with its counts by source.
Errors
It answers only the errors every operation can answer. Each error's reason is the body's code.
Responses
Create a suppression list
/v1/suppressionsworkwae.suppressions.create()id is what sends name as listId; it cannot change later, the name and description can. A send or add naming a list that does not exist creates it too, named after its id.
Errors
| Status | Reason | When |
|---|---|---|
| 409 | suppression_list_exists | A list with that id exists. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| Idempotency-Key | header | Makes the request safe to retry: the first answer to the key is kept for 24 hours and answered again to the same request. string length 1 to 255 |
Request body
requiredResponses
Delete a suppression list
/v1/suppressions/{listId}workwae.suppressions.delete()Deletes the list and its pending reviews and, with ?withEntries=true, every address on it: later sends naming it reach those addresses again (unless the global list holds them), and the next one naming it creates it anew. The global list cannot be deleted.
Errors
| Status | Reason | When |
|---|---|---|
| 404 | suppression_list_not_found | The list does not exist (the global list has none to change). |
| 409 | suppression_list_not_empty | The list holds addresses and withEntries is not true. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| listIdrequired | path | string pattern ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
| withEntries | query | one of Default false
|
Responses
Update a suppression list
/v1/suppressions/{listId}workwae.suppressions.update()Only the fields given change; description null clears it. The global list cannot be changed.
Errors
| Status | Reason | When |
|---|---|---|
| 404 | suppression_list_not_found | The list does not exist (the global list has none to change). |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| listIdrequired | path | string pattern ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
Request body
Responses
List suppressed addresses
/v1/suppressions/{listId}/entriesworkwae.suppressions.entries.list()Addresses on one list, by address; a list without addresses is empty, not missing. address keeps those containing it, source those that came from it.
Errors
| Status | Reason | When |
|---|---|---|
| 400 | invalid_cursor | The cursor is not one this list issued. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| listIdrequired | path | string pattern ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
| address | query | string max length 320 |
| source | query | enum One of "unsubscribe""bounce""api""reply""complaint""inactive" |
| limit | query | integer Default 501 to 200 |
| cursor | query | string length 1 to 512 |
Responses
Suppress addresses
/v1/suppressions/{listId}/entriesworkwae.suppressions.entries.add()Puts up to 1000 addresses on the list in one call; a repeated address counts once. added counts the addresses put on the list, alreadyListed those that were on it already, which are left as they were. A list that does not exist is created, named after its listId. Answers 200: entries are listed, not fetched one by one. Emits no suppression.created: that event reports what recipients and bounces did.
Errors
It answers only the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| listIdrequired | path | string pattern ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
| Idempotency-Key | header | Makes the request safe to retry: the first answer to the key is kept for 24 hours and answered again to the same request. string length 1 to 255 |
Request body
requiredResponses
Release an address
/v1/suppressions/{listId}/entries/{address}workwae.suppressions.entries.remove()Later sends naming the list reach the address again (unless another list they consult holds it).
Errors
| Status | Reason | When |
|---|---|---|
| 404 | suppression_entry_not_found | The address is not on the list. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| listIdrequired | path | string pattern ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
| addressrequired | path | string length 1 to 320 |
Responses
List opt-outs to review
/v1/suppression-reviewsworkwae.suppressionReviews.list()Detected opt-outs waiting for a person, newest first; listId keeps one list's. Holds AI-classified opt-out replies while optOutHandling is review, and auto-replies saying the person is no longer at the address (source inactive, on the global list) while it is review or suppress. A detection of an address already on its list, or already waiting, is not queued again.
Errors
| Status | Reason | When |
|---|---|---|
| 400 | invalid_cursor | The cursor is not one this list issued. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| listId | query | string pattern ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
| limit | query | integer Default 501 to 200 |
| cursor | query | string length 1 to 512 |
Responses
Approve an opt-out
/v1/suppression-reviews/{reviewId}/approveworkwae.suppressionReviews.approve()Puts the address on the review's list with the review's source and removes the review. added is false when the address was on the list already. Emits suppression.created when it was not.
Errors
| Status | Reason | When |
|---|---|---|
| 404 | suppression_review_not_found | The review does not exist. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| reviewIdrequired | path | string (uuid) |
| Idempotency-Key | header | Makes the request safe to retry: the first answer to the key is kept for 24 hours and answered again to the same request. string length 1 to 255 |
Responses
Dismiss an opt-out
/v1/suppression-reviews/{reviewId}/dismissworkwae.suppressionReviews.dismiss()Removes the review without suppressing anything; a later detection of the same address queues it again.
Errors
| Status | Reason | When |
|---|---|---|
| 404 | suppression_review_not_found | The review does not exist. |
It can also answer the errors every operation can answer. Each error's reason is the body's code.
Parameters
| Name | In | Schema |
|---|---|---|
| reviewIdrequired | path | string (uuid) |
| Idempotency-Key | header | Makes the request safe to retry: the first answer to the key is kept for 24 hours and answered again to the same request. string length 1 to 255 |