- Lists webhook delivery logs
GET {{baseURL}}/v2/webhooks/delivery-logs
This endpoint lists webhook delivery logs for the merchant account.
Results are returned in pages of pageSize items, with a default of 20 and a maximum of 100 per page. The pageIndex parameter selects which page to return, starting at 0. The endpointId parameter narrows results to one webhook endpoint. The deliveryLogStatus and endpointHTTPResponseCode parameters filter by delivery outcome. The fromDate and toDate parameters filter by a date range.
This endpoint does not require a specific API token. Either a merchant or partner API token can be used.
See Also:
To list all available webhooks, see GET /v2/webhooks/endpoints.
To retrieve a specified delivery log, see GET /v2/webhooks/delivery-logs/{{endpointId}}.
To export delivery log, see GET /v2/webhooks/delivery-logs/export.
Query parameters may be combined to filter the exported results.
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.
- Values equal to or greater than
totalPagesend successfully but will not return any items.
For page size information, see pageSize.
Example: 0
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
Specifies a field name to sort the results by.
If null or omitted, results come back newest first.
The sort order is specified by the sortOrder value.
The following fields may be used to sort results:
deliveryLogId
endpointId
endpointName
endpointUrl
eventId
eventType
attemptNumber
status
endpointHTTPResponseCode
roundTripDurationMs
errorMessage
createdOn
Example: deliveryLogId
Specifies the sort order.
The sort order is specified by the sortOrder value.
The field that gets sorted by is specified by the sortBy value.
Valid values are:
| Value | Description |
|---|---|
| asc | Sorts results in ascending order, from the lowest value to the highest, or from the oldest timestamp to the most recent. |
| desc | Sorts results in descending order, from the highest value to the lowest, or from the most recent timestamp to the oldest. |
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 canceled) | 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 canceled 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 |
Example: transaction.card.captured
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 |
Example: 401
Specifies a filter to return items at or after this date-time (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 inclusive range. We recommend creating an inclusive range to avoid a potentially excessive number of returns.
Example: 2025-01-27T12:05:54.322Z
Specifies a filter to return items at or before this date-time (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 inclusive range. We recommend creating an inclusive range to avoid a potentially excessive number of returns.
Example: 2026-02-27T12:05:54.322Z
Filters using a search string.
This performs a case-insensitive search that matches exactly or partially. Multiple fields may be included to return precise results.
The field does not have to be specified. If the results are to be sorted, use the sortBy field to specify the sort field.
The search includes the following fields:
EventId (Exact match and complete UUID only. Otherwise, this value is ignored.)
WebhookName
EndpointUrl
Example:
https://webhook.flute.com/webhooks (example EndpointUrl)
PepparedStreetCafe-PurchaseCompleted-Webhook (example WebhookName)
- Sandbox environmenthttps://sandbox.api.flute.com/v2/webhooks/delivery-logs
- Production environmenthttps://api.flute.com/v2/webhooks/delivery-logs
curl -i -X GET \
'https://sandbox.api.flute.com/v2/webhooks/delivery-logs?pageIndex=0&pageSize=20&sortBy=deliveryLogId&sortOrder=desc&endpointId=0dab4e68-8d18-42ce-93ba-77b0e8dbafdc&eventType=transaction.card.captured&deliveryLogStatus=Success&endpointHTTPResponseCode=401&fromDate=2025-01-27T12%3A05%3A54.322Z&toDate=2026-02-27T12%3A05%3A54.322Z&search=PepparedStreetCafe-PurchaseCompleted-Webhook' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'OK
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
totalPagesend successfully but will not return any items.
{ "data": [ { "deliveryLogId": "89a2c8d9-0e1f-4a2b-3c4d-5e6f7a8b9c25", "endpointId": "9ab3d9e0-1f2a-4b3c-4d5e-6f7a8b9c0d36", "endpointName": "Peppared Street Cafe's Reconciliation", "endpointUrl": "https://example.com/webhooks/pepparedstreetcafe", "eventId": "399f9d7d-0714-453c-9b6d-dda836e1d8e6", "eventType": [ "transaction.card.captured", "transaction.card.refunded", "settlement.batch.completed", null ], "attemptNumber": 3, "status": "Success", "endpointHTTPResponseCode": 200, "roundTripDurationMs": 367, "errorMessage": "Recipient not available", "createdOn": "2025-01-27T12:05:54.322Z" } ], "pageInfo": { "pageIndex": 0, "pageSize": 20, "totalItems": 1012, "totalPages": 51, "hasMore": true } }