Skip to main content

Opt-Out Consent Event

Coming soon

The opt-out consent event is not available for webhook subscriptions yet. The payload contract is documented here so API partners can prepare their read-only integration.

The opt-out consent event reports consent activity for a customer's communication value, such as a phone number. It includes the resulting consent state, the event that caused the evaluation, and whether an opt-in request may be sent.

The resulting state is authoritative. Use eventType to understand why the record was evaluated, but do not infer consent from eventType alone. An event can be delivered even when the state does not change.

Field Reference

payloadTop-level payload for the opt-out consent event.
eventUuid
uuid
eventType
enum
occurredAt
datetime
previousState
enumnullable
state
enum
departmentUuids[]
array
communicationValue
string
channel
enum
canSendOptInRequest
boolean
sourceMessageUuid
uuidnullable
{
  "id": "a7b9c1d3-e5f7-4891-ab23-cd45ef678901",
  "timestamp": 1728542293678,
  "dealeruuid": "7c1e5a9f3b7d1e5a9c3e7b1f5d9a3c7e1b5f9d3a7c1e5b9f3d7a1c5e9b3f7d1",
  "departmentuuid": "3a7f1c9e2b5d8f0a4c6e9b1d3f5a7c0e2b4d6f8a1c3e5b7d9f0a2c4e6b8d0f2",
  "type": "opt-out-consents",
  "payload": {
    "eventUuid": "6c7e57fe-0e06-4fc9-8120-e1593257f1cf",
    "eventType": "STOP_MESSAGE_RECEIVED",
    "occurredAt": "2026-08-31T10:15:30Z",
    "previousState": "OPTED_IN",
    "state": "OPTED_OUT",
    "departmentUuids": [
      "3a7f1c9e-2b5d-4f0a-8c6e-9b1d3f5a7c0e"
    ],
    "communicationValue": "+15551234567",
    "channel": "TEXT",
    "canSendOptInRequest": false,
    "sourceMessageUuid": "8dbcbada-d449-4b57-900a-12b7de41c873"
  }
}
note

As with other myKaarma webhook events, the delivered payload will be a stringified JSON string. The generated example shows it as a parsed object for readability.

Integration guidance

  • Treat the webhook as a read-only notification. It does not provide an API for changing consent.
  • Use state as the final consent result and previousState only for change detection.
  • Process every eventUuid idempotently and tolerate events whose previousState and state are equal.
  • Apply the consent result independently for each UUID in departmentUuids.