Delivery statuses
| Status | Meaning |
|---|---|
pending | Delivery has been queued but not yet attempted. |
delivered | Your endpoint returned a 2xx response. |
retrying | A delivery attempt failed; more retries are scheduled. |
failed | All retry attempts were exhausted without a successful response. |
Retry behaviour
When a delivery attempt fails (non-2xx response, timeout, or network error), FirstPromoter waits before retrying. The delay grows with each attempt:
| Attempt | Delay before retry |
|---|---|
| 1st retry | 20 minutes |
| 2nd retry | 40 minutes |
| 3rd retry | 60 minutes |
| … | … (attempt × 20 min) |
max_retries value configured on the subscription (default: 3). After that, the delivery is marked failed.
Set max_retries to 0 on a subscription to disable retries entirely.
Delivery record fields
Internal ID of the delivery record.
The UUID of the event. Matches
event_id in the payload.The event type string, e.g.
commission.updated.created, updated, or deleted.The type of the resource, e.g.
referral.The ID of the resource.
Current status:
pending, delivered, retrying, or failed.How many delivery attempts have been made so far.
The HTTP status code returned by your endpoint on the last attempt.
The first 1,000 characters of your endpoint’s response body.
A description of the last error (e.g., timeout message, HTTP error). Up to 1,000 characters.
For
updated events, the fields that changed (same as changes in the payload).The full JSON payload that was (or will be) sent to your endpoint.
ISO 8601 timestamp of the successful delivery.
null until delivered.When the delivery record was created.
Viewing deliveries
You can view delivery history for any subscription from the Settings → Integrations → Webhooks page in the dashboard. Click into a subscription to see all delivery attempts, their status, response codes, and error details.Manually retrying a failed delivery
If a delivery has afailed status you can re-attempt it directly from the dashboard without waiting for the automatic retry schedule. Navigate to the subscription’s delivery history and click Retry on the failed delivery.
Sending a test delivery
When setting up a new subscription you can send a test payload to your endpoint from the dashboard without needing to trigger a real event. Navigate to the subscription and click Send test. The test payload has"data": { "test": true } and is signed with your subscription’s secret_key just like a real delivery.