---
title: "List suppression entries"
method: GET
path: "/api/v1/suppression"
tags: ["suppression"]
---

# List suppression entries

`GET /api/v1/suppression`

## Request

- Base URL: `https://app.blueticked.com`
- URL: `https://app.blueticked.com/api/v1/suppression`
- Auth: HTTP bearer

List do-not-contact entries (opt-outs), newest first, with cursor pagination.

Suppressed identifiers are excluded from every send automatically, single sends and campaigns alike.

A STOP reply, on WhatsApp as well as SMS, suppresses the sender on every channel and every topic, with reason stop_keyword. A permanent email bounce (or one the provider does not classify) and a spam complaint suppress the address; a transient bounce does not.

This list works by identifier and before a contact exists; a contact's own suppressed flag (PATCH /api/v1/contacts/{id}) blocks every send to that contact too. Either one stops a send.

Filters: `channel=`, `topic=`, `business_id=` (must belong to the workspace), and `identifier=`. Phone lookups match any South African format (+27…, 27…, 0…, or 9 digits); a number from another country needs its leading + (anything unreadable returns 400); emails match case-insensitively.

`added_by` is the user id for manual dashboard adds, null for system-captured opt-outs (STOP, unsubscribe, API).

Page with ?limit= (default 100, max 500) and ?cursor= (the previous page's next_cursor).

## Query parameters

- `channel` string
- `limit` integer
- `cursor` string

## Response `200`

Success

- object
  - `data` object[], required
    - `id` string, uuid, required
    - `identifier` string, required
    - `channel` 'all' | 'whatsapp' | 'sms' | 'email' | 'telegram', required
    - `reason` string, required
    - `reason_detail` string, nullable, required
    - `added_by` string, nullable
    - `created_at` string, date-time, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required
  - `request_id` string, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized: missing or invalid API key
- `402`: Insufficient wallet balance
- `403`: Forbidden: scope, plan limit, or suspension
- `404`: Not found
- `409`: Conflict (idempotency-key reuse or resource in use)
- `422`: Understood but refused: the request is well-formed, the action is not permitted for this resource
- `429`: Rate limited
- `500`: Internal error
- `502`: An upstream provider refused or failed the request
- `503`: Channel or send queue unavailable

---

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