Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kaireonai.com/llms.txt

Use this file to discover all available pages before exploring further.

GET /api/v1/customers/:customerId/suppressions

Returns all active and expired suppression records for a specific customer. Suppressions are created automatically by the suppression engine when outcomes trigger contact policy rules (e.g., an unsubscribed outcome activates the “Suppress After Unsubscribe 90d” policy).

Response

{
  "data": [
    {
      "id": "supp_001",
      "scope": "global",
      "scopeId": "all",
      "offerName": null,
      "policyType": "cooldown",
      "reason": "Cooldown 336h after unsubscribed",
      "triggerCount": 2,
      "expiresAt": "2026-04-10T00:00:00.000Z",
      "createdAt": "2026-03-27T00:00:00.000Z",
      "isActive": true
    },
    {
      "id": "supp_002",
      "scope": "offer",
      "scopeId": "offer_001",
      "offerName": "Annual Review Consultation",
      "policyType": "cooldown",
      "reason": "Cooldown 168h after unsubscribed",
      "triggerCount": 1,
      "expiresAt": "2026-04-03T00:00:00.000Z",
      "createdAt": "2026-03-27T00:00:00.000Z",
      "isActive": true
    }
  ]
}

Field Reference

FieldTypeDescription
scopestringSuppression scope: global (all offers), offer (specific offer), category
scopeIdstringID of the scoped entity, or "all" for global
offerNamestring|nullHuman-readable offer name (resolved for offer-scoped suppressions)
policyTypestringThe contact policy type that created this suppression (e.g., cooldown, frequency_cap, outcome_based)
reasonstringHuman-readable reason for the suppression
triggerCountintegerHow many times this suppression has been triggered
expiresAtdatetimeWhen the suppression expires and the customer becomes eligible again
createdAtdatetimeWhen the suppression was first created
isActivebooleantrue if the suppression is currently active (not expired)

How Suppressions Are Created

Suppressions are created automatically by the suppression engine when outcomes are recorded via the Respond API:
  1. Customer unsubscribes → “Suppress After Unsubscribe 90d” policy creates a 90-day global suppression
  2. Customer dismisses an offer → “Offer-Level Cooldown 7d” creates a 7-day offer-scoped suppression
  3. Customer converts → “Post-Purchase Cooldown 14d” prevents re-showing the same offer for 14 days
The Customer Viewer UI shows these suppressions in the “Suppressions” tab with active/expired status badges and countdown to expiry.