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
2xxor not. - On each automatic retry (up to your configured
maxRetries). - On any manual retry triggered from the admin panel or API.
Log record shape
requestHeaders are redacted in the stored record.
Query logs via the API
Use the Admin API endpoint to page through recent delivery attempts: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 withattempt: N+1.
Use cases
- Debugging a broken handler: compare
requestBodyto 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: falseand 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’smaxRetries 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.
Related
Troubleshooting
Diagnose common delivery failures.
Implementation Guide
Build a compliant handler from scratch.

