suppression

Add suppression entry

Add a do-not-contact entry. Idempotent: re-adding returns the existing entry.

Use channel "all" to block every channel for the identifier; channel is one of all, whatsapp, sms, email.

reason is normalized on write: manual is stored as manual_add and complaint as spam_report, so the response reason can differ from what you sent. Accepted reasons: manual_add, stop_keyword, unsubscribe_link, preference_center, csv_import, bounce, spam_report.

topic (all | marketing | transactional) scopes the block and defaults to all; hard reasons (stop_keyword / bounce / spam_report) always force all, and unsubscribe_link / preference_center force marketing.

Re-adding an identifier that is already suppressed returns the existing row with already_present: true (a 200, not a 201), so the call stays safe to retry.

post/api/v1/suppression

Request

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

Request body

identifierstring required
channel'all' | 'whatsapp' | 'sms' | 'email' required
topic'all' | 'marketing' | 'transactional'
reason'manual' | 'manual_add' | 'stop_keyword' | 'csv_import' | 'bounce' | 'complaint' | 'spam_report' | 'unsubscribe_link' | 'preference_center'
reason_detailstring
business_idstring uuid

Response

Success

already_presentboolean required
request_idstring required

Example response

{
  "entry": {
    "id": "b57fc118-fd61-4387-9bd3-3b019b2b0d3e",
    "identifier": "+27800000001",
    "topic": "all",
    "reason": "manual_add",
    "created_at": "2026-06-12T08:00:00.000Z"
  },
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}

Changes

No recorded changes to this operation across all 1 revision of this API.