---
title: "List Optout Events"
method: GET
path: "/sms-consent/optout-events"
tags: ["sms-consent"]
---

# List Optout Events

`GET /sms-consent/optout-events`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/sms-consent/optout-events`
- Auth: HTTP bearer

Durable STOP events. A non-empty unresolved list is why SMS may be
refusing every send.

## Query parameters

- `unresolved_only` boolean

## Response `200`

Successful Response

- OptOutEventResponse[]
  - `id` string, uuid, required: Unique identifier of the opt-out event.
  - `webhook_id` string, required: Surge's signed webhook-id; the replay key.
  - `surge_contact_id` string, required: The Surge contact that opted out.
  - `event_ts` string, date-time, required: When the opt-out occurred, frozen at first insert.
  - `phone_number` string, nullable: The number, once PROVEN to belong to the contact. NULL until then.
  - `resolved_at` string, date-time, nullable: When it was reconciled.
  - `resolution_error` string, nullable: Why the last resolution attempt proved nothing.
  - `attempt_count` integer, required: Resolution attempts so far.
  - `last_attempt_at` string, date-time, nullable: Most recent attempt.
  - `escalated_at` string, date-time, nullable: When this was escalated for human attention.
  - `created_at` string, date-time, nullable: Row creation time.
  - `updated_at` string, date-time, nullable: Row last-update time.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/35a2a6ebedda?raw)
