> ## Documentation Index
> Fetch the complete documentation index at: https://docs.penbox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List Webhook Deliveries

> See the events sent to an endpoint and how they were delivered

The last 100 events of an endpoint, newest first: what was sent, whether your endpoint
accepted it, and the last error when it did not. Use it to debug your receiver.

| `status` | Meaning |
| - | - |
| `pending` | queued, or waiting for its next retry (`next_attempt_at`) |
| `delivered` | your endpoint answered `2xx` |
| `failed` | your endpoint answered `4xx`; Penbox does not retry |
| `dead` | no `2xx` after 12 attempts |

Entries are kept 30 days.

```json 200 theme={null}
{
  "data": [
    {
      "id": "2f7d1e90-5a3b-4c6d-8e9f-0a1b2c3d4e5f",
      "created_at": "2026-10-24T13:00:00.000Z",
      "event_id": "evt_6b1f0c8e-6a4e-4c4b-9d0e-1f2a3b4c5d6e",
      "type": "case.updated",
      "case": { "id": "4944431d-8fbe-4a28-a758-52f477b49e65" },
      "changes": [{ "type": "title.updated", "title": "Litige bail commercial - Dupont" }],
      "status": "pending",
      "attempts": 1,
      "next_attempt_at": "2026-10-24T13:01:00.000Z",
      "last_status_code": 503,
      "last_error": "HTTP 503"
    }
  ]
}
```


## OpenAPI

````yaml GET /webhooks/{id}/deliveries
openapi: 3.0.0
info:
  title: Penbox API
  version: '1.0'
  description: >-
    The Penbox API provides programmatic access to Penbox's form management,
    case management, and document processing capabilities. Authenticate using
    Bearer tokens created at https://app.penbox.io/workspace/settings/api
servers:
  - url: https://connect.penbox.io/v1
    description: Production
security:
  - BearerAuth: []
paths:
  /webhooks/{id}/deliveries:
    parameters:
      - name: id
        in: path
        required: true
        description: Webhook endpoint UUID
        schema:
          type: string
          format: uuid
    get:
      summary: List Webhook Deliveries
      description: >-
        The last 100 events sent (or to send) to an endpoint, newest first, with
        their delivery status.
      operationId: list-webhook-deliveries
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/WebhookDelivery'
        '404':
          description: No such endpoint in your workspaces
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    WebhookDelivery:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Delivery ID
        created_at:
          type: string
          format: date-time
          description: When the change happened
        event_id:
          type: string
          description: The `id` of the event sent. The same on every retry.
        type:
          type: string
          enum:
            - case.created
            - case.updated
            - case.deleted
          description: The event type
        case:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: The case the event is about
        changes:
          type: array
          items:
            type: object
          description: What changed, as recorded (see the Webhooks guide for the catalogue)
        status:
          type: string
          enum:
            - pending
            - delivered
            - failed
            - dead
          description: >-
            `pending`: queued or waiting for a retry. `delivered`: your endpoint
            answered 2xx. `failed`: it answered 4xx, no retry. `dead`: no 2xx
            after 12 attempts.
        attempts:
          type: integer
          description: Calls made so far
        next_attempt_at:
          type: string
          format: date-time
          nullable: true
          description: When the next attempt runs, while `pending`
        last_status_code:
          type: integer
          nullable: true
          description: The HTTP status your endpoint last answered
        last_error:
          type: string
          nullable: true
          description: The last error (HTTP status, timeout or network error)
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                type: object
                properties:
                  pointer:
                    type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: token
      description: >-
        API token (starts with pnbx_). Create at
        https://app.penbox.io/workspace/settings/api. Include as: Authorization:
        Bearer {token}

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.