Add a suppression
Manually suppress an address. The email is normalized (trim().toLowerCase()) before storage; the format is not validated.
Manually suppress an address. The email is normalized (trim().toLowerCase()) before storage; the format is not validated. The operation is idempotent on (org, email): a new row returns 201, an existing address returns 200 with the existing row. Manual adds are always stored with reason manual and source dashboard. Requires the manage:suppressions scope, which is a dashboard-session scope and cannot be granted to API keys today: every mf_ API key receives 403. Call this endpoint with a dashboard session token (owner, admin, or member).
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
emailstringrequiredAddress to suppress; normalized to lowercase. Format is not validated.
Response
The address was already suppressed; the existing row is returned.
idstringrequiredThe suppression id (a bare ULID, no prefix).
emailstringrequiredThe suppressed address, canonical lowercase.
reasonstringrequiredOne of `manual`, `hard_bounce`, or `complaint`.
sourcestringrequiredOne of `dashboard` or `ses_notification`.
created_atstring<date-time>required