> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

# Review notification logs (Portal)

> Find a notification Payabli sent, see why a delivery failed, and retry it

Payabli records a log entry for every notification it sends, whether that's a webhook delivery, an email, an SMS, or a generated report. Use the notification logs to confirm a notification reached its destination, find out why one didn't, and send it again.

To add or change a webhook, see [Manage webhooks (Portal)](/guides/pay-ops-portal-webhooks-manage). For how Payabli delivers and retries notifications, see [Notifications overview](/guides/pay-ops-notifications-webhooks-overview).

## Find a notification

Navigate to **Pay Ops > Developers > Notification Logs**. The log lists notifications newest first, and by default shows the delivery method, created date, event type and group, event ID, request ID, delivery status, and success date.

![The Notification Logs report filtered to the Ruvelo organization, listing webhook deliveries with columns for delivery method, created date, event type and group, event ID, request ID, delivery status, and success date. Every row shows a Success status. The toolbar holds Filters, Columns, and Retry controls, and the footer shows a total count of 108 records across 6 pages.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/6bcb85acbfa921ac4da5cbc57b93046ca54c6fb59d12bb253377197c2ba326e2/images/pay-ops-notification-logs.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=e2c889428e603bb99fa360614194d9fa9a06d0dfb8e19b512d613b802baf1c2f&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

The toolbar holds **Filters**, **Columns**, and **Retry**, plus a refresh control. The footer shows the total record count and pages the list, 20 rows at a time by default.

### Choose which columns to show

Click **Columns** to change which columns the list shows. The set mirrors the fields in the Event Details panel, so you can surface in the list whatever you'd otherwise open a row to read. That's worth doing when you're working through a batch of failures: add **Target** and **HTTP Response Code**, and you can triage the whole list without opening anything.

#### Available columns

* Delivery Method
* Created Date
* Event Type & Group
* Event ID
* Target
* Request ID
* Delivery Status
* HTTP Response Code
* Description
* Success Date
* Last Failed Date
* Organization Name & ID
* Paypoint DBA Name & ID

**Description** is the text shown under the webhook name on its details screen. Adding it tells you which webhook a delivery came from without opening the row.

### Filter the log

Click **Filters** to narrow the list. Two groups, **Log Details** and **Entity**, cover when the notification was created and who it belongs to.

If the log looks empty, add a date filter to widen the range.

#### Log Details filters

* Created Date, to filter by calendar day
* Created Date Time, to narrow to a date and time

#### Entity filters

* Org
* Target
* Request ID

The rest of the filters describe the notification itself:

* **Delivery Status**: Failed or Success. Filter to Failed to find deliveries that didn't arrive.
* **Delivery Method**: Email, Webhook, or SMS.
* **Notification Type**: Microdeposit, Vendor Link, Payment Receipt, Virtual Card - MFA, or Virtual Card - Link. Select more than one at a time.
* **Event Type**: search for an event, or expand a category and select events individually.

The **Delivery Method** and **Notification Type** lists show what the organization has configured, so another organization may offer different options.

Filter by **Target** to check one endpoint across every event it receives, which is the fastest way to tell a broken endpoint apart from a problem with one event type.

## Read a notification's details

Click the three-dot icon on a row, then click **View Details**.

![The three-dot menu open on a notification log row, showing View Details, Retry Now, and Download Payload.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/a5ecd2cf12b27c4d3b3d1e319b63b1031c5c1f8b33732896b50d8384198be2ca/images/pay-ops-notification-logs-actions.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=dcf6b2ef4e4566516953abd8d3e1a8f7f41846c0c228d11ed6be8f1cc4dc1a50&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

The Event Details panel opens with everything Payabli recorded about the delivery.

![The Event Details panel for a successful InvoiceSent webhook delivery, listing event type and group, organization name and ID, event ID and request ID with copy icons, created and success dates, a redacted target URL, a Success delivery status, an HTTP response code of 200, and a Retry link.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/681dc3d002e0fbd99c52f3299133febe19b90730d08799a59ea69cf0559830ab/images/pay-ops-notification-event-details.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=ccd5e6fcbcdf247266a9d19dbf30d9dd13b398897d087dc1d1188fecb00ddd2d&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

| Field                    | What it shows                                                             |
| ------------------------ | ------------------------------------------------------------------------- |
| Event Type               | The event that triggered the notification, such as `AuthorizedPayment`.   |
| Event Group              | The area the event belongs to, such as Pay In.                            |
| Organization Name and ID | The organization the event belongs to.                                    |
| Paypoint DBA Name and ID | The paypoint the event belongs to. Empty for organization-level events.   |
| Event ID                 | Payabli's identifier for this notification. Use the copy icon to grab it. |
| Request ID               | The identifier for the delivery request. Use the copy icon to grab it.    |
| Created Date             | When Payabli queued the notification.                                     |
| Success Date             | When delivery succeeded. Empty if it never has.                           |
| Last Failed Date         | When delivery last failed.                                                |
| Target                   | The endpoint Payabli delivered to.                                        |
| Delivery Status          | Whether the delivery succeeded or failed.                                 |
| HTTP Response Code       | The status code the target returned.                                      |

Read **Created Date**, **Success Date**, and **Last Failed Date** together to see what happened. A **Last Failed Date** with no **Success Date** means the delivery failed and hasn't succeeded since. That isn't a signal to step in on its own, because automatic retries may still be running. Webhook retries finish within about 10 minutes of the **Created Date**, so an entry older than that with no **Success Date** is waiting on you.

### Tell a rejected delivery from an unreachable one

The **HTTP Response Code** separates the two failures that look alike in the list:

* **A status code, such as `401` or `500`.** Your endpoint received the request and rejected it. Check the payload's `responseContent` for what your server said, then fix the endpoint before retrying.
* **`N/A`.** Payabli received no response at all and the payload's `responseStatus` reads `No response received from server.` The endpoint timed out, refused the connection, or isn't reachable from the internet. Confirm the URL is right and publicly reachable before retrying.

## Inspect the payload

The Payload section shows the full JSON Payabli sent, along with the delivery's own metadata. Use the copy icon to put it on the clipboard or the download icon to save it. To save it without opening the record, click **Download Payload** on the row's three-dot menu.

Alongside the event data in `jobData`, the payload records `webHeaders` (the custom headers Payabli sent), `responseHeaders` (headers the target returned), `responseContent` (the body the target returned), `target`, `responseStatusCode`, `responseStatus`, and `success`. Together these tell you exactly what left Payabli and what came back.

That comparison matters most when a delivery shows Success but nothing happened on your side. A Success status means your endpoint accepted the request, not that your system acted on the event. If what your endpoint returned isn't the usual acknowledgment it sends, the request arrived without reaching the code that handles it.

![The Payload panel showing JSON for a delivery, with a webHeaders array containing a content-type header and an x-eval-secret header whose value is redacted, followed by a responseHeaders array containing Cache-Control, Date, ETag, Server, and Strict-Transport-Security values returned by the receiving server.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/35e671ee259ae3f57dd19d30d3e8455fdd303df7fb0696942fd14e32b1a23fc2/images/pay-ops-notification-logs-payload-example-tall.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=5c038bd124ce2e36db7085cb8c7d186781ff376eaa925cd9262e16f97a48bc5c&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

The payload includes any custom headers configured on the webhook, with their values in plain text. Redact them before sharing a payload in a ticket or a screenshot.

## Retry a failed notification

Payabli retries a failed webhook twice on its own, waiting 5 minutes between tries. After the second failed retry, it marks the delivery failed and leaves it for you to retry by hand.

Fix whatever caused the failure before you retry, since a retry to an endpoint that's still broken fails the same way.

Retry doesn't apply to everything. Bulk retries exclude emails, and Payabli can't retry some email notifications at all, such as password resets. Retry also stays available on deliveries that already succeeded, so check **Delivery Status** before you use it when you're working through a list.

### Retry one notification

Click **Retry Now** on the three-dot menu of a row, or the **Retry** link in its Event Details panel.

### Retry several notifications

Click **Retry** in the toolbar to open its menu. It offers two ways to retry in bulk.

![The Retry control in the Notification Logs toolbar, expanded to show two options, Select and Retry, and Retry All.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/791e5fa4c6b02f603343298d90988fd20262191e5d0235f2221eff50eb956c44/images/pay-ops-notification-logs-retry-menu.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=46d102ed86d89e5174002e1898a8e470417230c03a6eddc9649d2ae1fb400204&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

**Select and Retry** lets you pick the rows. A checkbox column appears with a **Select all** option, and the toolbar switches to **Cancel** and **Retry Selected**. Select the rows you want, then click **Retry Selected**. It stays disabled until you select at least one row, and **Cancel** leaves without retrying anything.

![The Notification Logs report in selection mode, with a checkbox column added and two of five rows selected. The toolbar shows Cancel alongside an enabled Retry Selected button.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/e7e20fcfa1ae943545872fe87522653bc3a53651c18da53a57f4646910d61d4b/images/pay-ops-notification-logs-retry-selected.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=7b0dceea9f52794157e92136206593542b1b0f5ec3b8125559722ea8f60a85aa&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

**Retry All** skips the selecting and asks you to confirm first.

![The Retry All Failed Logs confirmation dialog, explaining that it retries all eligible failed webhooks on the current page, that emails are excluded, and that the process may take several minutes, with Cancel and Retry buttons.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/a9f43a770227690a5aa454fa7eed97c072578fd8ddd4d48729bb42c67affdb1b/images/pay-ops-notification-logs-retry-all-modal.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=d139143220dd83cb1c9a7a5a20236317cac0783a3c95e4633fc4d08a00237e07&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

Retry All covers the **current page** of results, not everything matching your filters. With the default page size of 20, a backlog spread across several pages needs a pass on each one. It also excludes emails, so it retries only failed webhooks.

### Check whether a retry worked

However you retry, a confirmation appears in the bottom right and names how many notifications Payabli is retrying.

![A success message reading Retrying 2 notifications, refresh in 2 to 5 minutes to see status.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/payabli.docs.buildwithfern.com/cb297fb86f973eb057c4ed55b08218935e24cf70d2d83528a19761e33b7b14fc/images/pay-ops-notification-logs-retry-success.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T213608Z&X-Amz-Expires=604800&X-Amz-Signature=88337908364b6c25564d048bd91cd13dcbe27f2479748e06436f4846527bedfd&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

That message confirms Payabli accepted the retry, not that the delivery landed. Refresh the list after 2 to 5 minutes, then check whether Success Date fills in.

## Related resources

See these related resources to help you get the most out of Payabli.

#### References

* **[Search notification logs](/developers/api-reference/notification-logs/search-notification-logs-with-filtering-and-pagination)** - Query the same log data through the API

#### Related topics

* **[Manage webhooks (Portal)](/guides/pay-ops-portal-webhooks-manage)** - Add a webhook, change the events it sends, and trace what a given event delivered
* **[Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview)** - Get automated reports and notifications for key events
* **[Manage notifications (Portal)](/guides/pay-ops-portal-notifications-manage)** - Learn how to add and manage event notifications in the UI