Create a suppression entry

Creates a suppression (opt-out/block) entry for a customer, preventing future outbound
contact. Shared across domains via the domain field — not specific to any single feature.
Only the PER_CUSTOMER scope is supported for now.

Required fields:

  • domain
  • scope
  • brand
  • reason_code
  • source

reason_code is not a fixed enum — callers may define their own domain-specific reasons.

There's at most one entry per (domain, customer_id, brand) at a time:

  • Calling this endpoint twice while the entry is ACTIVE and not expired returns the existing
    entry unchanged (no duplicate created).
  • If the existing entry is REVOKED, or ACTIVE but naturally expired, this call revives that
    same entry (status back to ACTIVE, fields refreshed from this request) instead of creating
    a second row.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Scope

erc-ecommerce-customers:write

Path Params
string
required
length between 1 and 255

The customer ID

Body Params

Create Suppression Entry Request.

The create suppression entry request body.

string
required
length ≥ 1

The business domain this entry applies to (e.g. "recall_management", "cart_recovery").

string
enum
required

The suppression scope. Only PER_CUSTOMER is supported for now.

Allowed:
string
required
length ≥ 1

The brand of the provider, used to validate that customer_id is a known customer before the entry is created.

string
required
length ≥ 1

The reason for the suppression. Not a fixed enum — callers may define their own domain-specific reasons (e.g. "OPT_OUT", "MANUAL_BLOCK", "COMPLIANCE_BLOCK", "CUSTOMER_REQUEST", "CHANNEL_COOLDOWN", or a domain-specific value).

string
required
length ≥ 1

Identifies who/what triggered the suppression (e.g. "journey_reply", "manual", "import", "api", "system").

string
length between 1 and 255

Optional free-form reference to the triggering event (e.g. a journey execution ID).

date-time
length between 1 and 50

Optional expiration. Omit for a permanent suppression entry.

Responses

Language
Credentials
OAuth2
Missing 1 required scope
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json