LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
Getting started
Guides
Platform
    Projects & Routes
    Emails
      Email activitySending test emailsTLSIdempotencySuppressionsTagsInline ImagesData RetentionLimitations
      Tracking
    Inbound Mail
    Domains
    Webhooks
    Teams
    Onboarding
Resources
Emails

Suppressions

Suppressions

Suppressions prevent Lettermint from sending to recipients that should not receive more email. They protect deliverability, honor recipient choices, and help enforce compliance decisions.

Reasons

ReasonAPI valueCreated by
Hard bouncehard_bounceLettermint after permanent delivery failure
Spam complaintspam_complaintLettermint after a recipient reports spam
UnsubscribeunsubscribeHosted unsubscribe and unsubscribe workflows
ManualmanualDashboard or Team API

The suppression reason is unsubscribe. The webhook event for a recipient unsubscribe is message.unsubscribed.

Scopes

ScopeApplies toRequired ID
TeamAll projects and routes in the teamNone
ProjectAll routes in one projectproject_id
RouteOne routeroute_id

Higher-level suppressions take precedence. A team-level suppression blocks sends across all projects and routes.

Suppressions table with reason, scope, route, project, and created date.

Add suppressions

You can add one address or up to 1000 addresses in one Team API request.

Add suppression dialog with email, reason, and scope.

List recent suppressions

Use date filters when polling for suppressions that were created or updated during a window. Date-only values include the full day.

Remove suppressions

Users with the matching team or project suppression permission can remove team-, project-, and route-scoped suppressions from the dashboard. Team API clients with write:suppressions access can remove them as well. Spam complaint removal requests are assessed first and may require support review; the suppression remains active until the request is approved.

Suppression webhooks

Transactional and broadcast routes can send a webhook whenever an individual suppression affecting them is added or removed:

  • suppression.added
  • suppression.removed

Each entry produces its own event, including entries added through a bulk request. Route-scoped suppressions notify webhooks on that route, project-scoped suppressions notify webhooks on every route in the project, and team-scoped suppressions notify webhooks on every route in the team. Global-scope suppressions do not emit these events, and inbound routes do not support them.

A removal event is sent only after the suppression is actually deleted. Requests that remain pending for manual review do not emit suppression.removed.

See Webhook events for payloads and field definitions.

Next steps

  • Email activity - Inspect suppressed message events
  • Routes - Understand route-level lists
  • Webhook events - Synchronize suppression changes affecting a route
  • Team API reference - Review suppression endpoints
Last modified on August 13, 2026
IdempotencyTags
On this page
  • Reasons
  • Scopes
  • Add suppressions
  • List recent suppressions
  • Remove suppressions
  • Suppression webhooks
  • Next steps
curl -X POST "https://api.lettermint.co/v1/suppressions" \ -H "Authorization: Bearer $LETTERMINT_TEAM_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "emails": ["customer@example.com"], "reason": "manual", "scope": "project", "project_id": "project-id" }'
curl -X GET "https://api.lettermint.co/v1/suppressions?filter[startDate]=2026-01-01T00:00:00Z&filter[endDate]=2026-01-31" \ -H "Authorization: Bearer $LETTERMINT_TEAM_TOKEN"