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

# List Deliveries

> Deliveries to your webhooks, newest first, cursor-paged. Delivered rows are kept 7 days, dead ones 30. Scope: read.

Every event FlowIQ sent to your webhooks, newest first, with the result of the last attempt and when the next one is due. See [Delivery behaviour](https://docs.flowapt.com/flowiq-api-reference/webhooks.md#delivery-behaviour) for the retry schedule.

## Basic Usage

```bash theme={null}
curl "https://api.flowiq.live/v1/webhooks/deliveries?status=failed&limit=50" \
  -H "Authorization: Bearer fiq_YOUR_API_KEY"
```

***

## Query Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `status` | string | No | `pending`, `in_flight`, `delivered`, `failed` or `dead` |
| `event_type` | string | No | e.g. `message_received`, `call`, `subscription.renewed` |
| `webhook_id` | string | No | Only this webhook (from [Get Webhooks](https://docs.flowapt.com/flowiq-api-reference/endpoint/get-webhooks.md)) |
| `event_id` | string | No | Every delivery of one event (one per webhook) |
| `since` | string | No | ISO date or time; deliveries created at or after it |
| `until` | string | No | ISO date or time; deliveries created before it |
| `cursor` | string | No | `next_cursor` from the previous page |
| `limit` | integer | No | Per page, default `50`, max `100` |

***

## Response

### Success (200)

```json theme={null}
{
  "organization_id": "a4234f32-…",
  "data": [
    {
      "id": "c0a1f3d2-5e6b-4a7c-9d8e-1f2a3b4c5d6e",
      "webhook_id": "7c370d81-f159-4279-b383-a514cf1c6675",
      "url": "https://your-server.com/webhook",
      "platform": "whatsapp",
      "event_type": "message_received",
      "event_id": "9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b",
      "status": "failed",
      "attempts": 3,
      "max_attempts": 8,
      "next_attempt_at": "2026-10-27T00:31:00.000Z",
      "last_attempt_at": "2026-10-27T00:26:00.000Z",
      "last_status_code": 503,
      "last_error": "HTTP 503",
      "last_duration_ms": 412,
      "delivered_at": null,
      "created_at": "2026-10-27T00:25:48.000Z"
    }
  ],
  "pagination": { "limit": 50, "has_more": false, "next_cursor": null }
}
```

***

| `status` | Meaning |
| - | - |
| `pending` | Recorded, first attempt about to run |
| `in_flight` | An attempt is running now |
| `delivered` | Your server answered `2xx` |
| `failed` | The last attempt failed; another is due at `next_attempt_at` |
| `dead` | All 8 attempts failed; retry by hand if you want it |


## OpenAPI

````yaml flowiq-api-reference/openapi-webhook-deliveries.json GET /v1/webhooks/deliveries
openapi: 3.1.0
info:
  title: FlowIQ Webhook Deliveries API
  version: 1.0.0
  description: >-
    The delivery log of your webhooks: every event FlowIQ sent, each attempt's
    result, and a way to send one again.
servers:
  - url: https://api.flowiq.live
    description: FlowIQ Production API
security:
  - BearerAuth: []
paths:
  /v1/webhooks/deliveries:
    get:
      tags:
        - Webhooks
      summary: List Deliveries
      description: >-
        Deliveries to your webhooks, newest first, cursor-paged. Delivered rows
        are kept 7 days, dead ones 30. Scope: read.
      operationId: listWebhookDeliveries
      parameters:
        - name: status
          in: query
          required: false
          description: One status
          schema:
            type: string
            enum:
              - pending
              - in_flight
              - delivered
              - failed
              - dead
        - name: event_type
          in: query
          required: false
          description: e.g. message_received, call, subscription.renewed
          schema:
            type: string
        - name: webhook_id
          in: query
          required: false
          description: Only this webhook
          schema:
            type: string
            format: uuid
        - name: event_id
          in: query
          required: false
          description: Every attempt of one event
          schema:
            type: string
            format: uuid
        - name: since
          in: query
          required: false
          description: ISO date or time; deliveries created at or after it
          schema:
            type: string
        - name: until
          in: query
          required: false
          description: ISO date or time; deliveries created before it
          schema:
            type: string
        - name: cursor
          in: query
          required: false
          description: next_cursor from the previous page
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Per page, default 50, max 100
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  organization_id:
                    type: string
                    format: uuid
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Delivery'
                  pagination:
                    type: object
                    properties:
                      limit:
                        type: integer
                      has_more:
                        type: boolean
                      next_cursor:
                        type:
                          - string
                          - 'null'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    Delivery:
      type: object
      properties:
        id:
          type: string
          format: uuid
        webhook_id:
          type:
            - string
            - 'null'
          format: uuid
          description: The webhook it was sent to (null once that webhook is deleted)
        url:
          type: string
        platform:
          type:
            - string
            - 'null'
          example: whatsapp
        event_type:
          type: string
          example: message_received
        event_id:
          type: string
          format: uuid
          description: Same as event_id in the body; one per event, shared by every attempt
        status:
          type: string
          enum:
            - pending
            - in_flight
            - delivered
            - failed
            - dead
        attempts:
          type: integer
        max_attempts:
          type: integer
          example: 8
        next_attempt_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When FlowIQ tries again (pending / failed only)
        last_attempt_at:
          type:
            - string
            - 'null'
          format: date-time
        last_status_code:
          type:
            - integer
            - 'null'
          description: Your server's HTTP status on the last attempt
        last_error:
          type:
            - string
            - 'null'
          example: HTTP 503
        last_duration_ms:
          type:
            - integer
            - 'null'
        delivered_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
        code:
          type: string
        message:
          type: string
        request_id:
          type: string
          format: uuid
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The key lacks the scope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: 240 reads or 60 actions per minute per key; Retry-After says when
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: fiq_ API key
      description: >-
        Your FlowIQ organisation API key (Settings → API Keys), sent as a bearer
        token. Format: `Bearer fiq_YOUR_API_KEY`

````

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