---
title: "List Global Webhook Deliveries"
method: GET
path: "/webhooks/global/deliveries"
tags: ["Webhooks"]
---

# List Global Webhook Deliveries

`GET /webhooks/global/deliveries`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/webhooks/global/deliveries`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/webhooks/global/deliveries/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns webhook deliveries across all global subscriptions for your global API key user, most recent first. Filter by status, subscription, or creation time to find the deliveries to redrive.

## Query parameters

- `limit` integer: How many results to return.
- `offset` integer: How many results to skip before this page.
- `status` 'pending' | 'retrying' | 'in_progress' | 'succeeded' | 'failed_permanent'
- `subscription_id` string, uuid, nullable: Only return deliveries to this webhook subscription.
- `created_after` string, date-time, nullable: Only return deliveries created after this time.

## Response `200`

Successful Response

- WebhookDeliveryListResponse
  - `items` WebhookDeliveryResponse[], required: Deliveries on this page, newest first.
    - `id` string, uuid, required: Unique identifier for this delivery. Also sent as the `webhook-id` header on every attempt, so receivers can dedupe on it.
    - `event_id` string, uuid, required: The event being delivered. One event fans out to one delivery per matching subscription, so several deliveries can share an `event_id`.
    - `subscription_id` string, uuid, required: Subscription this delivery was addressed to.
    - `status` 'pending' | 'retrying' | 'in_progress' | 'succeeded' | 'failed_permanent', required
    - `attempt_count` integer, required: Attempts made under the current retry schedule. Reset to 0 by a redrive, so it is not a lifetime total — count `attempts` for that.
    - `next_attempt_at` string, date-time, nullable, required: When the next attempt is due. `null` once the delivery reaches a terminal status.
    - `last_attempted_at` string, date-time, nullable, required: When the most recent attempt ran. `null` before the first attempt.
    - `created_time` string, date-time, required: When the delivery was created.
    - `updated_time` string, date-time, required: When the delivery was last modified.
    - `event_type` 'ach_transfer.created' | 'ach_transfer.updated' | 'wire_transfer.created' | 'wire_transfer.updated' | 'book_transfer.created' | 'book_transfer.updated' | 'international_payment.created' | 'international_payment.updated' | 'inbound_ach_transfer.created' | 'inbound_ach_transfer.updated' | 'inbound_wire_transfer.created' | 'inbound_wire_transfer.updated' | 'check_deposit.created' | 'check_deposit.updated' | 'global_account_transfer.created' | 'crypto_transfer.created' | 'crypto_transfer.updated' | 'account.created' | 'account.updated' | 'card.created' | 'card.updated' | 'bill.created' | 'bill.updated' | 'onboarding_consent.updated' | 'info_request.created' | 'info_request.updated' | 'application.created' | 'application.under_review' | 'application.submitted' | 'application.approved' | 'application.rejected' | 'identity_verification.action_required' | 'identity_verification.approved' | 'identity_verification.rejected' | 'message.attempt.exhausted' | 'webhook.test', required
    - `entity_id` string, uuid, nullable, required: The entity this delivery's event belongs to, so a consumer of a global (user-scoped) subscription can attribute each delivery to an entity. `null` for events that are not scoped to a single entity: the `webhook.test` and `message.attempt.exhausted` meta events.
    - `resource_object` string, nullable, required: Type of the resource the event describes, such as `card` or `transfer`. `null` for events that carry no resource: the test and meta events, and partner onboarding events.
    - `resource_id` string, nullable, required: Identifier of the resource the event describes. `null` under the same conditions as `resource_object`.
    - `sequence` integer, nullable, required: Monotonic sequence number within this resource's event stream. Keep a high-water mark per resource and skip any delivery whose sequence is at or below it, so a retry or a reordered delivery cannot overwrite newer state. `null` under the same conditions as `resource_object`.
    - `payload` object, required: The exact JSON body POSTed to the subscription for this delivery, including the event `type`, `timestamp`, and `data`. Reflects the subscription's `payload_mode`, so a `thin` subscription shows the thin body it actually received rather than the full snapshot.
  - `total_count` integer, required: Total deliveries matching the filters, across all pages.
  - `has_more` boolean, required: Whether more deliveries remain past this page.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation, or the user of a global API key is an admin or controller without approved KYC. The KYC case returns the message `KYC is required for controllers and admins.` until that user completes KYC in the Meow dashboard.
- `429`: Too many requests.

---

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