GET/api/v1/projects/{project_id}/suppressions
Needs scope: readMCP tool: list_suppressions
operationId list_suppressions
List suppressions
The project’s suppressions by address, then scope, a page at a time; or
those of one address (email, normalized). Needs scope read; an admin
key may list any project’s.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
project_idrequired |
path | string · uuid | The project’s id |
email |
query | string | Only this address |
limit |
query | integer · int64
1–500 |
Page size, 1 to 500; default 50 |
cursor |
query | string | next_cursor of the previous page |
Request body
None.
Responses
200
One page
- SuppressionList object · all fields required
-
itemsarray of SuppressionBy address, then by scope.
6 fields
- Suppression object · all fields required
-
created_atstring · date-time -
emailstring · emailexample
ann@example.com -
project_idstring · uuidThe suppression’s project.
-
reasonstringunsubscribed_all,unsubscribed_list,hard_bounce,soft_bounce_limit,complaintormanual.example
manual -
scopestringproject(every list) orlist:<list_id>.example
project -
sourcestringWhere it came from:
api(the API or MCP),web,deliveryorinbound.example
api
-
next_cursorstring | nullPass as
cursorfor the next page;nullon the last page.
429
The key is over its rate limit, api.rate_limit_per_minute requests a minute on this node (rate_limited)
| Header | Type | Description |
|---|---|---|
Retry-After | integer | Seconds until the key’s next request passes; rounded up. |
504
Postwind’s storage did not answer within its time limit (storage_timeout). A change the request makes may still take effect: check before repeating it. A repeat with the same Idempotency-Key never runs it twice: it is 409 idempotency_key_in_progress until the key’s 24 h end