Free diagnostic, no account
Use this analyzer in the browser or download the offline CLI. No provider fees, hosted AI or subscription are required for the check. It is separate from the paid Developer Assurance Kit.
Get the offline tool
Elkwai SolutionsDid a retry recover a delivery, or repeat a business action? Compare expected events with recorded attempts, separate acknowledgements from committed effects and export the evidence. Nothing is sent to a provider.
Session-only inputs. No upload, autosave, provider connection or replay requests.
Up to 500 expected events and 1,000 attempts; 512 KiB and 20,000 parsed JSON nodes per input. Use one provider, tenant, environment, endpoint and observation window per report. Never paste payloads, authorization headers, API keys or personal details. IDs can still be sensitive.
Timing is event creation to attempt start, not response latency or business completion time. A matching count describes supplied logs, not a guarantee of exactly-once processing.
Includes identifiers, cohort labels, attempt metadata, definitions and source hashes. Review identifiers before sharing.
| Field | Meaning |
|---|---|
| event_id | Stable identity within one provider, tenant, environment and endpoint. Use the same event ID in both arrays. |
| expected_effects | Required integer, 0-100: the intended count of durable business effects for that event. |
| attempt_id | Unique delivery attempt identity. Duplicate log rows are rejected, not miscounted as retries. |
| offset_ms | Integer milliseconds from event creation to attempt start, between 0 and 30 days. |
| http_status | 100-599, or 0 when no HTTP response was recorded. A 2xx is an acknowledgement only. |
| effects_created | New durable business effects attributable to this attempt, 0-100. Not a cumulative count or processing-start count. Omit when unknown; explicit zero means known none. |
IDs accept 1-128 letters, digits, dots, colons, underscores or hyphens. Optional expected-event group labels are up to 80 characters. Unknown fields, duplicate IDs and duplicate JSON keys are rejected.
Missing expected events stay in the report. Unexpected event attempts never inflate expected-event summaries. If known effects already exceed the expected count, excess effects are flagged even when other attempts lack telemetry. Missing effect telemetry is never silently treated as zero.
Download the self-contained Node.js 22+ module. No package install, credentials or provider connection is required. The CLI reads two bounded JSON files and writes its report to standard output; it never edits source files. Its analyzeDelivery(expectedText, attemptsText) export is also available to your own JavaScript scripts. It is not an MCP server.
node webhook-delivery-audit.mjs --expected webhook-expected.json --attempts webhook-attempts.json > report.json
For repeatable use, retain the module version, both input files and your observation-window notes. A valid report can contain problems; the CLI exits nonzero for invalid inputs or I/O errors, not for operational findings.
Version 1.0.0. Module SHA-256: 27e6ee8ec70483e069ada6098f45a044899be8ae4e77a547576e6be9d7bd5f40. The hash identifies these file bytes, not a security certification.
Use this analyzer in the browser or download the offline CLI. No provider fees, hosted AI or subscription are required for the check. It is separate from the paid Developer Assurance Kit.
Get the offline toolElkwai Solutions can implement a receiver, durable queue, scoped idempotency, reconciliation and an operating dashboard around an agreed workflow. A written project quote defines connectors, milestones, acceptance checks, handoff and any ongoing costs.
Discuss API and workflow integrationFor reusable API/schema, MCP catalog and AI regression checks, the Developer Assurance Kit remains a separate $79 one-time purchase with five local MCP tools. This webhook analyzer is free and is not an additional MCP tool in Kit 1.1.0.