---
title: "List pending events for a CLI webhook endpoint"
method: GET
path: "/v1/webhooks/{id}/events/pending"
tags: ["Webhooks"]
---

# List pending events for a CLI webhook endpoint

`GET /v1/webhooks/{id}/events/pending`

## Request

- Base URL: `https://api.creem.io`
- URL: `https://api.creem.io/v1/webhooks/{id}/events/pending`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/creem/apis/creem-api/docs/v1/webhooks/:id/events/pending/get.ts> (a function with typed inputs; its response is checked against the schema)

Events recorded for a `cli` delivery-mode endpoint that have not been acknowledged yet, oldest first. Each item carries the exact request body and headers an HTTP delivery would send. Forward them to your local server, then acknowledge each event with the status it returned. Only valid for endpoints created with `delivery_mode: cli`.

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer

## Response `200`

Successfully retrieved the pending events

- WebhookPendingEventListEntity
  - `items` WebhookPendingEventEntity[], required: Pending events, oldest first.
    - `id` string, required: The event ID. Acknowledge the delivery with this ID.
    - `object` string, required: A string representing the object’s type. Objects of the same type share the same value.
    - `event_type` 'checkout.completed' | 'refund.created' | 'dispute.created' | 'subscription.active' | 'subscription.trialing' | 'subscription.canceled' | 'subscription.scheduled_cancel' | 'subscription.paid' | 'subscription.expired' | 'subscription.unpaid' | 'subscription.update' | 'subscription.past_due' | 'subscription.paused' | 'customer_credits.exhausted' | 'credits.granted' | 'credits.consumed' | 'credits.auto_recharged', required: The event type carried in the delivery.
    - `created_at` string, date-time, required: When the event was recorded for this endpoint.
    - `body` string, required: The exact JSON request body of the delivery. Forward it byte-for-byte; the signature header is computed over this string.
    - `headers` object, required: The HTTP headers a real delivery would carry, including `creem-signature`. Send them unchanged with `body`.

## Other responses

- `400`: Bad Request - Invalid input parameters
- `401`: Unauthorized - Invalid or missing API key
- `404`: Not Found - Resource does not exist

## Changes

- **2026-09-18** `3f39a8f266c3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/creem/apis/creem-api/changes/v1/webhooks/:id/events/pending/get.md)

---

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