- Retries a failed webhook delivery
POST {{baseURL}}/v2/webhooks/delivery-logs/{{endpointId}}/retry
This endpoint manually retries a failed webhook delivery.
This is a single try each time. It does not automatically retry multiple times. It does not interfere with or interrupt the normal retry procedures.
See Also:
To list all available webhooks, see GET /v2/webhooks/endpoints.
To test a webhook, see POST /v2/webhooks/endpoints/{{endpointId}}/ping.
To list all available delivery logs, see GET /v2/webhooks/delivery-logs
- Sandbox environmenthttps://sandbox.api.flute.com/v2/webhooks/delivery-logs/{deliveryLogId}/retry
- Production environmenthttps://api.flute.com/v2/webhooks/delivery-logs/{deliveryLogId}/retry
curl -i -X POST \
https://sandbox.api.flute.com/v2/webhooks/delivery-logs/87915d04-5b6c-4d7e-8f9a-0b1c2d3e4f70/retry \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'OK. Attempt retried.
Indicates the webhook delivery log identifier to retrieve.
Example: 89a2c8d9-0e1f-4a2b-3c4d-5e6f7a8b9c25
Indicates the webhook endpoint identifier.
Example: 9ab3d9e0-1f2a-4b3c-4d5e-6f7a8b9c0d36
Indicates the display name for the webhook.
This is a free-formed name that is convenient to recognize.
Example: Peppared Street Cafe's Reconciliation
Indicates the HTTPS callback URL that receives webhook events.
Example: https://example.com/webhooks/pepparedstreetcafe
Indicates the event identifier.
Example: 399f9d7d-0714-453c-9b6d-dda836e1d8e6
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 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 |
Examples:
null
[ "transaction.card.captured" ]
[ "transaction.card.captured", "transaction.card.authorized" ]
[ "transaction.card.captured", "transaction.card.refunded", "settlement.batch.completed", null ]
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
Indicates the current delivery attempt number for the webhook.
Example: 3
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
Indicates the round-trip duration (in milliseconds).
Example: 367
Indicates an error message if the delivery failed.
Example: Recipient not available
Indicates the date-time (in an ISO 8601 UTC date-time format) the webhook was created on.
Example: 2025-01-27T12:05:54.322Z
Indicates the timestamp (in an ISO 8601 date-time UTC format) of the next retry attempt.
This value may be null if an attempt succeeded or there is no next retry attempt.
Example: 2026-02-19T20:24:52.934Z
{ "requestHeaders": { "Content-Type": "application/json", "X-Flute-Signature": "t=1746450622,v1=5257a869e7ecebeda32affa6c66e8fb5e5e64a50b9b3e8bbf9c1a8d8f5e9d0a1", "X-Flute-Event-Id": "0e991cfc-28cf-4558-8874-bf2bbee8a406", "X-Flute-Event-Type": "settlement.batch.completed" }, "requestBody": "{\"id\":\"8b7f1c87-c1da-48f7-82d1-426ae0960c53\",\"type\":\"settlement.batch.completed\",\"createdAt\":\"2026-05-05T13:10:00Z\",\"data\":{\"batchId\":\"617f9259-8900-4134-b035-c53dd5d9675e\",\"settledAmount\":12500.00}}", "responseHeaders": { "Content-Type": "text/plain", "Server": "nginx" }, "responseBody": "Service Unavailable", "nextRetryAt": "2026-05-05T13:25:22Z", "deliveryLogId": "98602c85-294d-4215-8e02-78c4458106d6", "endpointId": "fa48084e-ed38-46e3-b761-774b76d06de1", "endpointName": "Peppared Street Cafe's Reconciliation", "endpointUrl": "https://example.com/webhooks/pepparedstreetcafe", "eventId": "399f9d7d-0714-453c-9b6d-dda836e1d8e6", "eventType": "settlement.batch.completed", "attemptNumber": 3, "deliveryLogStatus": "Failure", "endpointHTTPResponseCode": 503, "roundTripDurationMs": 5012, "errorMessage": "Service Unavailable", "createdOn": "2026-05-05T13:10:22Z" }