---
title: "Retrieve a webhook delivery"
method: GET
path: "/webhooks/deliveries/{delivery_id}"
tags: ["Webhooks"]
---

# Retrieve a webhook delivery

`GET /webhooks/deliveries/{delivery_id}`

## Request

- Base URL: `https://api.context.dev/v1`
- URL: `https://api.context.dev/v1/webhooks/deliveries/{delivery_id}`
- Auth: HTTP bearer

Retrieve a webhook delivery’s status and original payload.

## Path parameters

- `delivery_id` string, required: Delivery ID.

## Query parameters

- `tags` string[]: Labels for filtering usage in the dashboard.

## Response `200`

Webhook delivery

- object
  - `id` string, required: Delivery ID.
  - `event` 'batch.completed' | 'batch.failed' | 'batch.cancelled' | 'change.detected' | 'run.completed', required: Webhook event type.
  - `source` union, required: Batch or monitor run that produced the event.
    - object
      - `type` 'batch', required: Which deliveries to list: `batch` or `monitor`.
      - `batch_id` string, required: Batch ID.
    - object
      - `type` 'monitor', required: Which deliveries to list: `batch` or `monitor`.
      - `monitor_id` string, required: Monitor ID.
      - `run_id` string, required: Monitor run ID.
  - `url` string, uri, required: Webhook destination URL.
  - `status` 'pending' | 'delivering' | 'retrying' | 'delivered' | 'failed' | 'cancelled', required: `pending`, `delivering`, `retrying`, `delivered`, `failed`, or `cancelled` (source or its webhook was removed).
  - `created_at` string, date-time, required: Event creation time.
  - `retry_expires_at` string, date-time, required: Last time you can retry manually (7 days after the event).
  - `delivered_at` string, date-time, nullable, required: Last successful delivery time, or null if never delivered.
  - `next_attempt_at` string, date-time, nullable, required: Next scheduled attempt, or null if none.
  - `last_error` object, nullable, required: Latest delivery error, or null if none.
    - `code` string, required: Error code.
    - `message` string, required: Error details.
  - `event_id` string, required: Stable event ID for deduplicating received webhooks.
  - `retry` object, required: Automatic retry settings for this event.
    - `delays_seconds` integer[]: Retry delays in seconds, totaling at most 72 hours. Use [] to disable automatic retries.
  - `last_attempt` WebhookAttempt, required
    - `attempt` integer, required: Attempt number, starting at 1.
    - `trigger` 'initial' | 'automatic' | 'manual', required: `initial`, `automatic` (scheduled retry), or `manual` (Retry endpoint).
    - `url` string, uri, required: URL used for this attempt.
    - `started_at` string, date-time, required: Attempt start time.
    - `completed_at` string, date-time, nullable, required: Completion time, or null while in progress.
    - `http_status` integer, nullable, required: HTTP response status, or null if no response was received.
    - `error` object, nullable, required: Attempt error, or null if none.
      - `code` string, required: Error code.
      - `message` string, required: Error details.
  - `key_metadata` KeyMetadata: Credits this request used and your remaining balance.
    - `credits_consumed` integer, required: Credits charged for this request.
    - `credits_remaining` integer, required: Credits remaining for your organization.
  - `request_id` string, uuid, required: Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `404`: Not found
- `429`: Rate limit exceeded (600 requests per minute per organization).
- `500`: Webhook service is temporarily unavailable.

## Changes

- **2026-10-21** `61627728926b`: 5 warning
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `400`
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `401`
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `404`
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `429`
  - …1 more
- **2026-10-19** `4ddcf49b9fe5`: 5 info
  - added the optional property `error_data` to the response with the `400` status
  - added the optional property `error_data` to the response with the `401` status
  - added the optional property `error_data` to the response with the `404` status
  - added the optional property `error_data` to the response with the `429` status
  - …1 more
- **2026-10-16** `2125f3e94e52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/context/apis/brand-api/changes/webhooks/deliveries/:delivery_id/get.md)

---

[API](https://skmtc.dev/context/apis/brand-api.md) · [All operations](https://skmtc.dev/context/apis/brand-api/llms.txt) · [OpenAPI document](https://skmtc.dev/context/apis/brand-api/revisions/9e2ab7841fb1?raw)
