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

# List Webhook Deliveries

> Filter webhook delivery status and latest outcomes.

Each delivery represents one event sent to one endpoint. Filter by
`event_type`, `aggregate_id`, `status`, or `endpoint_id`.

| Status       | Meaning                                                        |
| ------------ | -------------------------------------------------------------- |
| `PENDING`    | Waiting for its first attempt.                                 |
| `DELIVERING` | A worker is currently sending it.                              |
| `RETRYING`   | A previous attempt failed and another is scheduled.            |
| `SUCCEEDED`  | The receiver returned a `2xx` response.                        |
| `EXHAUSTED`  | All eight attempts failed.                                     |
| `CANCELLED`  | Delivery stopped because the endpoint was removed or disabled. |

Open a delivery to inspect its complete attempt history and response details.


## OpenAPI

````yaml reference/openapi.json GET /webhooks/deliveries
openapi: 3.0.0
info:
  title: Unifystays API
  description: >-
    One unified hotel API across suppliers. Integrate once, then enable and
    manage suppliers from the Unifystays portal.
  version: '1.0'
  contact: {}
servers:
  - url: https://api-sandbox.unifystays.com
    description: Sandbox
  - url: https://api.unifystays.com
    description: Production
security:
  - x-api-key: []
tags: []
paths:
  /webhooks/deliveries:
    get:
      tags:
        - Webhooks
      summary: List webhook deliveries
      description: >-
        Returns delivery status and the latest outcome for each endpoint/event
        pair.
      operationId: WebhookController_listDeliveries
      parameters:
        - name: event_type
          required: false
          in: query
          description: Return only this exact event type.
          schema:
            example: booking.confirmed
            type: string
        - name: aggregate_id
          required: false
          in: query
          description: Return records for one aggregate, such as a Unifystays booking ID.
          schema:
            type: string
            example: ubk_eGQ0dW9uV1Vi
        - name: status
          required: false
          in: query
          description: Delivery status filter. Used by the deliveries endpoint.
          schema:
            example: EXHAUSTED
            type: string
            enum:
              - PENDING
              - DELIVERING
              - RETRYING
              - SUCCEEDED
              - EXHAUSTED
              - CANCELLED
        - name: endpoint_id
          required: false
          in: query
          description: Endpoint UUID filter. Used by the deliveries endpoint.
          schema:
            format: uuid
            example: 8b95a9e0-4af3-4c6d-92df-84b64256d27f
            type: string
        - name: page
          required: false
          in: query
          description: Page number, starting at 1.
          schema:
            $ref: '#/components/schemas/Object'
        - name: limit
          required: false
          in: query
          description: Records per page.
          schema:
            $ref: '#/components/schemas/Object'
        - name: language
          description: Enter language code(ex. en)
          in: header
          schema: {}
      responses:
        '200':
          description: Webhook deliveries retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveryListResponseDto'
components:
  schemas:
    Object:
      type: object
      properties: {}
    WebhookDeliveryListResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WebhookDeliveryListItemResponseDto'
        meta:
          $ref: '#/components/schemas/WebhookPageMetaResponseDto'
      required:
        - data
        - meta
    WebhookDeliveryListItemResponseDto:
      type: object
      properties:
        id:
          type: string
          example: '1842'
          description: Numeric delivery ID.
        event_id:
          type: string
          example: evt_3bc2fa3d35cc4bbf98359b3fb85a4fb2
          description: Source event ID.
        endpoint_id:
          type: string
          format: uuid
          example: 8b95a9e0-4af3-4c6d-92df-84b64256d27f
          description: Destination endpoint ID.
        status:
          type: string
          enum:
            - PENDING
            - DELIVERING
            - RETRYING
            - SUCCEEDED
            - EXHAUSTED
            - CANCELLED
          example: SUCCEEDED
          description: Current delivery state.
        attempt_count:
          type: number
          example: 1
          description: Attempts completed so far.
        max_attempts:
          type: number
          example: 8
          description: Maximum permitted attempts.
        next_attempt_at:
          type: string
          format: date-time
          example: '2026-08-08T08:30:00.100Z'
          description: Time the next attempt is eligible to run.
        last_http_status:
          type: number
          nullable: true
          example: 204
          description: HTTP status from the latest receiver response.
        last_error_code:
          type: string
          nullable: true
          example: null
          description: Machine-readable code for the latest delivery error.
        last_error_message:
          type: string
          nullable: true
          example: null
          description: Safe error message from the latest failed attempt.
        last_duration_ms:
          type: number
          nullable: true
          example: 183
          description: Duration of the latest attempt in milliseconds.
        completed_at:
          type: string
          format: date-time
          nullable: true
          example: '2026-08-08T08:30:00.283Z'
          description: Time the delivery reached a terminal state.
        created_at:
          type: string
          format: date-time
          example: '2026-08-08T08:30:00.100Z'
          description: Delivery record creation time.
        event_type:
          type: string
          enum:
            - booking.created
            - booking.confirmed
            - booking.failed
            - booking.cancellation_requested
            - booking.cancelled
            - booking.cancellation_failed
            - webhook.test
          example: booking.confirmed
          description: Source event type.
        aggregate_type:
          type: string
          example: booking
          description: Source resource category.
        aggregate_id:
          type: string
          example: ubk_eGQ0dW9uV1Vi
          description: Source resource identifier.
        occurred_at:
          type: string
          format: date-time
          example: '2026-08-08T08:30:00.000Z'
          description: Time the source event occurred.
        endpoint_name:
          type: string
          example: Production booking events
          description: Destination endpoint name.
        endpoint_url:
          type: string
          format: uri
          example: https://example.com/webhooks/unifystays
          description: Destination endpoint URL.
      required:
        - id
        - event_id
        - endpoint_id
        - status
        - attempt_count
        - max_attempts
        - next_attempt_at
        - last_http_status
        - last_error_code
        - last_error_message
        - last_duration_ms
        - completed_at
        - created_at
        - event_type
        - aggregate_type
        - aggregate_id
        - occurred_at
        - endpoint_name
        - endpoint_url
    WebhookPageMetaResponseDto:
      type: object
      properties:
        total:
          type: number
          example: 42
          description: Total matching records.
        page:
          type: number
          example: 1
          description: Current page number.
        limit:
          type: number
          example: 20
          description: Maximum records per page.
        total_pages:
          type: number
          example: 3
          description: Total number of pages.
      required:
        - total
        - page
        - limit
        - total_pages
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: Environment-specific API key created in the Unifystays portal

````