# Probe your own webhook receiver with rivr verify

- Date: 2026-10-25
- Type: New
- Surface: Developer portal and CLI
- What you need to do: Nothing.
- Address: https://developers.rivr.io/changelog/2026-10-25-rivr-verify-command

`rivr verify --url <receiver url>` plays Rivr against your own webhook receiver and says for each of five signed test deliveries whether the receiver answered as the guides say it should. A correctly signed delivery must get `2xx` within five seconds. The same delivery again, with the same `Rivr-Webhook-Id`, a new `t` and a new signature, must get `2xx` too: a duplicate is acknowledged, not failed. A wrong signature, a correct signature on a `t` 600 seconds old and a delivery with no `Rivr-Signature` must each get a `4xx`, and `401` is recommended. The body is the `Completed` event of an order with invented ids and `"test": true`, sent with `Rivr-Webhook-Test: true` and a `Rivr-Webhook-Id`, as a test delivery from Send test is. The signing secret is read from `RIVR_WEBHOOK_SECRET` and is never printed, not even its length; `--secret` works too, but warns that it lands in your shell history. The address must be https, or http://localhost or http://127.0.0.1 for a receiver on your own machine. Nothing goes to Rivr: the command needs no sign-in and never calls the portal. It prints one `PASS` or `FAIL` line per probe with the reason, and only when all five pass a last line that reads `Passed Rivr's automated webhook checks on <date> with rivr CLI <version>`. The exit code is 1 when a probe fails, so the command runs in CI, and `--json` prints the result as JSON. The CLI is now version 0.2.0: run the install command again to get it.

