Skip to main content
Every webhook Nudj sends — successful or not — is persisted to a dedicated log collection. You can query the log via the Admin API, or inspect it in the admin panel and re-trigger failed deliveries with one click.
Delivery logs are organisation-scoped. You need an Admin-tier API token to read them.

When are logs written?

Nudj writes a log record each time it attempts to deliver a webhook:
  • On the initial attempt, whether the endpoint returns 2xx or not.
  • On each automatic retry (up to your configured maxRetries).
  • On any manual retry triggered from the admin panel or API.

Log record shape

Secret values in requestHeaders are redacted in the stored record.

Query logs via the API

Use the Admin API endpoint to page through recent delivery attempts:
See GET /webhooks/logs for filter options (by eventSubCategory, success, date range, etc.).

Retry a failed delivery

In the admin panel, navigate to Settings → Organisation → Webhooks → Delivery Logs and click the Retry icon next to any failed row. Nudj will resend the exact same payload to your endpoint and write a fresh log entry with attempt: N+1.
Manual retries do not count against your configured maxRetries. Don’t loop retries programmatically — fix the root cause first, then retry.

Use cases

  • Debugging a broken handler: compare requestBody to what your handler received. Check if a reverse proxy, payload size limit, or JSON parser is stripping fields.
  • Replaying events after downtime: your endpoint was down for 10 minutes? Filter logs by success: false and retry each one.
  • Auditing: prove to internal stakeholders that a specific event was delivered with the exact payload and response.

Retry semantics

Automatic retries use a fixed 5-second delay and stop after the webhook’s maxRetries value (default 3). There is no exponential backoff today — if your endpoint is flapping, use the manual retry flow once the root cause is fixed instead of relying on auto-retry. Every retry attempt — automatic or manual — gets its own log entry, so you can trace the exact delivery timeline per event.

Troubleshooting

Diagnose common delivery failures.

Implementation Guide

Build a compliant handler from scratch.