# Lists webhook delivery logs

<a id="flute-v2-get-webhooks-delivery-logs"></a>
<span class="api-endpoint">GET {{<a href="#urlbases">baseURL</a>}}/v2/webhooks/delivery-logs</span>
This endpoint lists webhook delivery logs for the merchant account.
<span class="api-seealso">See Also:</span><br>
To list all available webhooks, see `GET /v2/webhooks/endpoints`.<br>
To retrieve a specified delivery log, see `GET /v2/webhooks/delivery-logs/{{endpointId}}`.<br>
To export delivery log, see `GET /v2/webhooks/delivery-logs/export`.
Query parameters may be combined to filter the exported results.

Endpoint: GET /v2/webhooks/delivery-logs
Version: V2 Beta
Security: Bearer

## Query parameters:

  - `pageIndex` (integer)
    Specifies the page number of the returned search results.

A page is considered each set of the `pageSize` values.

The page count is zero-based.
The maximum for `pageIndex`, or the page number, is the `pageSize` divided by the `total` count rounded down.
For example, the `pageSize` is 50 and the `total` is 130.
That means there are three pages, but the `pageIndex` value is in the inclusive range from zero to two.

Value restrictions include:
* A value less than zero is not permitted.<br>
* Values equal to or greater than `totalPages` end successfully but will not return any items.

For page size information, see `pageSize`.

Example: 0

  - `pageSize` (integer)
    Specifies the number of items for each page of the returned search results.

A page is considered each set of the `pageSize` values.

The page count is zero-based.
The maximum for `pageIndex`, or the page number, is the `pageSize` divided by the `total` count rounded down.
For example, the `pageSize` is 50 and the `total` is 130.
That means there are three pages, but the `pageIndex` value is in the inclusive range from zero to two.

For page numbering information, see `pageIndex`.

Example: 50

  - `sortBy` (string)
    Specifies the field the results get ordered or sorted by.

The sort order is specified by the `sortOrder` value.<br>
The field that gets sorted by is specified by the `sortBy` value.

  - `sortOrder` (string)
    Specifies the sort order.

The sort order is specified by the `sortOrder` value.<br>
The field that gets sorted by is specified by the `sortBy` value.

Valid values are:

| Value  | Description                                               |
| ------ | --------------------------------------------------------- |
| asc    | Sort results from the lowest value to the highest value.  |
| desc   | Sort results from the highest value to the lowest value.  |

  - `endpointId` (string)
    <br>Specifies the webhook identifier to filter by.

  - `eventType` (string)
    Filters delivery logs to a single event type.

Omit this parameter to include all event types.

Valid values are:

| Wire value                    | Meaning | Group |
|-------------------------------|---|---|
| api_key.created               | An API key was created | API Keys (affiliate only) |
| api_key.deleted               | An API key was revoked or deleted | API Keys (affiliate only) |
| invoice.created               | A new invoice was created | Invoices |
| invoice.paid                  | An invoice was marked as paid | Invoices |
| merchant.created              | A new merchant account was created | Merchants (affiliate only) |
| payment_session.completed     | A payment session reached a terminal state (completed, failed, or cancelled) | Payment Sessions |
| payment_session.created       | A payment session was created | Payment Sessions |
| quick_payment.created         | A quick payment link was created | Quick Payments |
| quick_payment.paid            | A quick payment link was paid | Quick Payments |
| settlement.batch.completed    | A batch settlement was processed and settled | Settlement |
| subscription.created          | A new subscription was created | Subscriptions |
| subscription.delinquent       | A subscription entered a delinquent state after repeated payment failures | Subscriptions |
| subscription.paid             | A subscription payment was successfully collected | Subscriptions |
| subscription.payment_failed   | A subscription payment attempt failed | Subscriptions |
| terminal.added                | A new terminal was registered to the account | Terminals |
| terminal.deactivated          | A terminal was deactivated on the account | Terminals |
| terminal.out_of_paper         | A terminal paper roll is empty | Terminals |
| transaction.ach.cancelled     | An ACH transaction was cancelled before processing | ACH Transactions |
| transaction.ach.charged_back  | An ACH transaction was returned or charged back | ACH Transactions |
| transaction.ach.cleared       | An ACH transaction successfully cleared | ACH Transactions |
| transaction.ach.failed        | An ACH transaction failed due to a processing error | ACH Transactions |
| transaction.ach.held          | An ACH transaction was placed on hold for review | ACH Transactions |
| transaction.ach.in_progress   | An ACH transaction was submitted to the network | ACH Transactions |
| transaction.ach.refunded      | An ACH transaction was refunded to the originator | ACH Transactions |
| transaction.ach.scheduled     | An ACH transaction was created and scheduled | ACH Transactions |
| transaction.card.authorized   | A card payment authorization was approved | Card Transactions |
| transaction.card.captured     | An authorized card payment was captured | Card Transactions |
| transaction.card.declined     | A card payment was declined by the issuer | Card Transactions |
| transaction.card.failed       | A card payment failed due to a processing error | Card Transactions |
| transaction.card.refunded     | A card payment was refunded to the cardholder | Card Transactions |
| transaction.card.voided       | A card authorization was voided before capture | Card Transactions |

  - `deliveryLogStatus` (string)
    Filters by the delivery success status code.

| HTTP Status | Meaning |
|-------------|---------|
| Success     | Delivery succeeded |
| Failure     | Delivery failed |

  - `endpointHTTPResponseCode` (integer)
    Filters by the HTTP response status code.

This is the HTTP status code returned by the attempted delivery.

The following is a list of HTTP response status codes that include but are not limited to:

| HTTP Status | Meaning |
|:-----------:|---------|
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

  - `fromDate` (string)
    Filters returning webhooks created on or after this date (in an ISO 8601 date-time format).

If only `fromDate` is specified, the search returns all available items from the `fromDate` value to the present.
The fields `fromDate` and `toDate` may be used together to create an exclusive range.
We recommend creating an exclusive range to avoid a potentially excessive number of returns.

  - `toDate` (string)
    Filters returning webhooks created on or to this date (in an ISO 8601 date-time format).

If only `toDate` is specified, the search returns all available items up to the `toDate` value.
The fields `fromDate` and `toDate` may be used together to create an exclusive range.
We recommend creating an explicit range to avoid a potentially excessive number of returns.

  - `search` (string)
    Filters using a search string.

This performs a case-insensitive search that matches exactly or partially.

The field does not have to be specified.
If the results are to be sorted, use the `orderby` field to specify the sort field.

The search includes the following fields:<br>
EventId (Exact match and complete UUID only. Otherwise, this value is ignored.)<br>
WebhookName<br>
EndpointUrl

## Response 200 fields (application/json):

  - `data` (array)

  - `data.deliveryLogId` (string)
    Indicates the webhook delivery log identifier to retrieve.

Example: 89a2c8d9-0e1f-4a2b-3c4d-5e6f7a8b9c25
    Example: 89a2c8d9-0e1f-4a2b-3c4d-5e6f7a8b9c25

  - `data.endpointId` (string)
    Indicates the webhook endpoint identifier.

Example: 9ab3d9e0-1f2a-4b3c-4d5e-6f7a8b9c0d36
    Example: 9ab3d9e0-1f2a-4b3c-4d5e-6f7a8b9c0d36

  - `data.endpointName` (string)
    Indicates the display name for the webhook.

This is a free-formed name that is convenient to recognize.

Example: Peppared Street Cafe's Reconciliation
    Example: Peppared Street Cafe's Reconciliation

  - `data.endpointUrl` (string)
    Indicates the HTTPS callback URL that receives webhook events.

Example: https://example.com/webhooks/pepparedstreetcafe
    Example: https://example.com/webhooks/pepparedstreetcafe

  - `data.eventId` (string)
    Indicates the event identifier.

Example: 399f9d7d-0714-453c-9b6d-dda836e1d8e6
    Example: 399f9d7d-0714-453c-9b6d-dda836e1d8e6

  - `data.eventType` (string)
    Identifies events that are subscribed to.
Valid values are:
| Wire value | Meaning | Group |
|  --- | --- | --- |
| api_key.created | An API key was created | API Keys (affiliate only) |
| api_key.deleted | An API key was revoked or deleted | API Keys (affiliate only) |
| invoice.created | A new invoice was created | Invoices |
| invoice.paid | An invoice was marked as paid | Invoices |
| merchant.created | A new merchant account was created | Merchants (affiliate only) |
| payment_session.completed | A payment session reached a terminal state (completed, failed, or cancelled) | Payment Sessions |
| payment_session.created | A payment session was created | Payment Sessions |
| quick_payment.created | A quick payment link was created | Quick Payments |
| quick_payment.paid | A quick payment link was paid | Quick Payments |
| settlement.batch.completed | A batch settlement was processed and settled | Settlement |
| subscription.created | A new subscription was created | Subscriptions |
| subscription.delinquent | A subscription entered a delinquent state after repeated payment failures | Subscriptions |
| subscription.paid | A subscription payment was successfully collected | Subscriptions |
| subscription.payment_failed | A subscription payment attempt failed | Subscriptions |
| terminal.added | A new terminal was registered to the account | Terminals |
| terminal.deactivated | A terminal was deactivated on the account | Terminals |
| terminal.out_of_paper | A terminal paper roll is empty | Terminals |
| transaction.ach.cancelled | An ACH transaction was cancelled before processing | ACH Transactions |
| transaction.ach.charged_back | An ACH transaction was returned or charged back | ACH Transactions |
| transaction.ach.cleared | An ACH transaction successfully cleared | ACH Transactions |
| transaction.ach.failed | An ACH transaction failed due to a processing error | ACH Transactions |
| transaction.ach.held | An ACH transaction was placed on hold for review | ACH Transactions |
| transaction.ach.in_progress | An ACH transaction was submitted to the network | ACH Transactions |
| transaction.ach.refunded | An ACH transaction was refunded to the originator | ACH Transactions |
| transaction.ach.scheduled | An ACH transaction was created and scheduled | ACH Transactions |
| transaction.card.authorized | A card payment authorization was approved | Card Transactions |
| transaction.card.captured | An authorized card payment was captured | Card Transactions |
| transaction.card.declined | A card payment was declined by the issuer | Card Transactions |
| transaction.card.failed | A card payment failed due to a processing error | Card Transactions |
| transaction.card.refunded | A card payment was refunded to the cardholder | Card Transactions |
| transaction.card.voided | A card authorization was voided before capture | Card Transactions |

Examples:
null
[ "transaction.card.captured" ]
[ "transaction.card.captured", "transaction.card.authorized" ]
    Enum: "api_key.created", "api_key.deleted", "invoice.created", "invoice.paid", "merchant.created", "payment_session.completed", "payment_session.created", "quick_payment.created", "quick_payment.paid", "settlement.batch.completed", "subscription.created", "subscription.delinquent", "subscription.paid", "subscription.payment_failed", "terminal.added", "terminal.deactivated", "terminal.out_of_paper", "transaction.ach.cancelled", "transaction.ach.charged_back", "transaction.ach.cleared", "transaction.ach.failed", "transaction.ach.held", "transaction.ach.in_progress", "transaction.ach.refunded", "transaction.ach.scheduled", "transaction.card.authorized", "transaction.card.captured", "transaction.card.declined", "transaction.card.failed", "transaction.card.refunded", "transaction.card.voided"

  - `data.attemptNumber` (integer)
    Indicates the current delivery attempt number for the webhook.

Example: 3
    Example: 3

  - `data.status` (string)
    Indicates the webhook delivery log status.
Valid values are:
| Status | Explanation |
|  --- | --- |
| Failure | The webhook delivery attempt did not succeed. |
| Success | The webhook delivery attempt succeeded. |

Example: Success
    Enum: "Success", "Failure"

  - `data.endpointHTTPResponseCode` (integer)
    Indicates the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 200
    Example: 200

  - `data.roundTripDurationMs` (integer)
    Indicates the round-trip duration (in milliseconds).

Example: 367
    Example: 367

  - `data.errorMessage` (string)
    Indicates an error message if the delivery failed.

Example: Recipient not available
    Example: Recipient not available

  - `data.createdOn` (string)
    Indicates the date-time (in an ISO 8601 UTC date-time format) the webhook was created on.

Example: 2025-01-27T12:05:54.322Z
    Example: 2025-01-27T12:05:54.322Z

  - `pageInfo` (object)
    Indicates an object describing the pagination status.
If additional pages to review are needed, repeat the exact same search but include a new pageIndex value.
Typically, this will increment the current `pageIndex` by one.
However, any valid value may be used.
Value restrictions include:
* A value less than zero is not permitted.
* Values equal to or greater than `totalPages` end successfully but will not return any items.

  - `pageInfo.pageIndex` (integer)
    Indicates the page number from the search results.
The pageIndex value is zero-based.
Valid values range from zero to `totalPages` less one.
For example, if `totalPages` = 10, then the valid range is zero to nine.
Example: 0
    Example: 0

  - `pageInfo.pageSize` (integer)
    Indicates the number of items returned per page.

Example: 20
    Example: 20

  - `pageInfo.totalItems` (integer)
    Indicates the total number of items across all pages.

Example: 1012
    Example: 1012

  - `pageInfo.totalPages` (integer)
    Indicates the total number of pages available.

Example: 51
    Example: 51

  - `pageInfo.hasMore` (boolean)
    Indicates additional pages are available after the current one.
If `true`, additional pages are available after the current one.
If `false`, additional pages are not available after the current one.
Example: true
    Example: true

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

## Response 500 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

