---
title: "Get User Webhook Events"
method: GET
path: "/api/admin/users/{user_id}/webhook-events"
tags: ["admin"]
---

# Get User Webhook Events

`GET /api/admin/users/{user_id}/webhook-events`

List webhook dedup events for this user, newest first.

Joins ``idempotency_keys`` to ``messages`` via the external_id so
each row carries whether a Message persisted. Default behavior is
to return only events tied to this user; setting
``include_orphans=true`` adds rows where no Message landed (those
reveal approval-gate consumption or consumer-side failures, but
cannot be attributed to a specific user so they are off by
default to avoid cross-tenant noise).

## Path parameters

- `user_id` string, required

## Query parameters

- `since` string — ISO timestamp lower bound. Default returns the most recent rows. Format ``2026-05-21T00:00:00+00:00``.
- `channel_prefix` string — Restrict to ``idempotency_keys`` whose ``external_id`` starts with this prefix. Defaults to ``bb_`` (BlueBubbles).
- `include_orphans` boolean — Also return idempotency rows in the window that did NOT produce a Message row. Orphans are not user-scoped (the idempotency table has no user_id column) so they may belong to another tenant; only opt in for whole-server investigations.
- `limit` integer

## Response `200`

Successful Response

- WebhookEventListResponse
  - `total` integer, required
  - `items` WebhookEventItem[], required
    - `external_id` string, required
    - `created_at` string, required
    - `message_persisted` boolean, required
    - `user_id` string, nullable, required
    - `message_timestamp` string, nullable, required
    - `media_count` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mozilla-ai/apis/clawbolt.md) · [All operations](https://skmtc.net/mozilla-ai/apis/clawbolt/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mozilla-ai/clawbolt/revisions/0e52fe5f8d33/schema)
