---
title: "Manually add an email to the suppression list"
method: POST
path: "/api/suppression"
tags: ["Suppression"]
---

# Manually add an email to the suppression list

`POST /api/suppression`

## Request

- Base URL: `https://api.sendly.now`
- URL: `https://api.sendly.now/api/suppression`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `better-auth.session_token`
  - OAuth 2 (authorization code, authorization URL `https://app.sendly.now/api/auth/oauth2/authorize`, token URL `https://app.sendly.now/api/auth/oauth2/token`, scopes: `suppression:write`)

The `source` field is auto-derived: `API` for API-key callers, `DASHBOARD` for session callers.

Requires the `suppression:write` scope — Add and remove addresses on your suppression list.

## Request body

- AddSuppression: Body for POST /api/suppression — manually add an email to the suppression list.
  - `email` string, email, required
  - `reason` 'HARD_BOUNCE' | 'COMPLAINT' | 'MANUAL' | 'UNSUBSCRIBE'

## Response `201`

Suppression added

- Suppression: A single suppressed-email record.
  - `createdAt` string, date-time, required: ISO 8601 datetime string
  - `email` string, email, required
  - `id` string, uuid, required
  - `projectId` string, uuid, required
  - `reason` 'HARD_BOUNCE' | 'COMPLAINT' | 'MANUAL' | 'UNSUBSCRIBE', required
  - `scope` 'PROJECT' | 'GLOBAL', required: How far the suppression reaches. `PROJECT` is every record this API creates or returns today.
  - `source` 'SES_WEBHOOK' | 'API' | 'DASHBOARD', required

## Other responses

- `400`: Validation error
- `401`: Unauthorized — missing or invalid auth
- `403`: Forbidden — insufficient permissions or project disabled
- `429`: Rate limit or billing limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/sendly/apis/sendly-api.md) · [All operations](https://skmtc.dev/sendly/apis/sendly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sendly/apis/sendly-api/revisions/ce7cfb7f7c7e?raw)
