Event history
Check every delivery attempt of a webhook in the admin console and troubleshoot failed deliveries.
BreezeAuth records every attempt to deliver an event to your webhooks, whether it succeeded or failed. You can check these records in the admin console to confirm that your endpoint is receiving events, or to find out why it is not.
Open the event history
- In the sidebar, select Organization, then the Webhooks tab.
- Select the webhook you want to check.
- Scroll to the Event History section, below Webhook information.
Note: viewing the event history requires permission to read webhook send attempts. If the section is empty or unavailable, ask an administrator of your organization.
Reading the list
Each row is one delivery attempt, the most recent first:
| Column | What it shows |
|---|---|
| Event | The event type, for example Membership created. |
| Attempts | Which attempt this row is: 1 attempt for the original delivery, 2 attempts for the first retry, and so on. |
| Status | Success if your endpoint replied 2xx within 15 seconds, Failed otherwise. |
| Created at | When the attempt was made. |
An event that failed and was retried therefore appears in several rows, one per attempt. An event that was delivered on the first try appears once, with 1 attempt and Success.
Attempt details
Select a row to open the details of that attempt:
| Field | What it shows |
|---|---|
| Attempt | The attempt number (1 to 3). |
| Event | The event type. |
| Event ID | The unique identifier of the event. It is the webhook-id header and the uuid field your endpoint received. Use it to find the message in your own logs. All attempts of the same event share it. |
| URL | The address this attempt was sent to. If the webhook’s URL was changed in the meantime, it shows the address used at the time. |
| Status | Success or Failed. |
| Error code | For failed attempts: the HTTP status your endpoint returned, or a network error code. See the table below. |
| Error message | For failed attempts: a technical description of the error. |
| Triggered at | When the attempt was made. |
| Data | The data of the message: the identifiers of the resources involved in the event. |
Common errors
| Error code | What it means | What to do |
|---|---|---|
301, 302, 307, 308 |
Your endpoint replied with a redirect, which BreezeAuth does not follow. | Update the webhook with the final URL, usually the https:// version or with a trailing slash. |
400, 401, 403 |
Your endpoint rejected the message. | Check your endpoint’s logs. A signature or organization check may be failing; see Verify signatures. |
404, 405 |
Nothing at that address accepts POST requests. |
Check the URL path and that the endpoint accepts POST. |
500, 502, 503, 504 |
Your endpoint, or a proxy in front of it, had an error or is unavailable. | Check your endpoint’s logs and availability. |
ECONNABORTED, ETIMEDOUT |
No response within 15 seconds. | Reply first and process in the background. See Receive events reliably. If you use an IP allowlist, check that a firewall is not silently dropping BreezeAuth’s addresses. |
ECONNREFUSED |
The server refused the connection: nothing is listening on that address and port, or a firewall rejected it. | Check that the service is running, the port is open to the internet and BreezeAuth’s addresses are allowed. |
ENOTFOUND |
The domain name in the URL could not be resolved. | Check the URL for typos and the domain’s DNS records. |
ECONNRESET |
The connection was closed unexpectedly. | Check firewalls, load balancers and proxies between the internet and your endpoint. |
CERT_HAS_EXPIRED, DEPTH_ZERO_SELF_SIGNED_CERT, UNABLE_TO_VERIFY_LEAF_SIGNATURE |
The endpoint’s TLS certificate is expired, self-signed or incomplete. | Install a valid certificate from a public certificate authority, including the intermediate chain. |
Troubleshooting checklist
If your endpoint is not receiving events:
- The webhook is Enabled and subscribes to the event you expect.
- The event actually happened in this organization.
- The Event History shows attempts for the event. If it shows none, check the two items above.
- The URL is reachable from the internet, not only from your internal network.
- If you restrict access by IP address, every BreezeAuth address is allowed.
- The URL is the final address and does not redirect.
- The endpoint replies
2xxin less than 15 seconds. - The endpoint verifies the signature using the raw body and the right public key.
Tip: to see exactly what BreezeAuth sends, you can temporarily point a test webhook at a request inspection tool that displays incoming requests. Disable or delete the test webhook when you are done.
Last updated: October 13, 2026