# rivr journey runs the patient journey against your own receiver

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

`rivr journey` (CLI 0.5.0) runs five scenarios from a clinic's day in the sandbox: the patient pays by card, the card is declined, the patient pays with Swish, takes an invoice, and the clinic cancels before the patient pays. Each is a real test order, and every webhook Rivr sends for it goes on to your receiver: the bytes Rivr signed, with `Rivr-Signature` and `Rivr-Webhook-Id` as Rivr set them. Every check says whose it is: Rivr's (the payment ended the way the scenario says and the webhooks came, signed) or yours (your receiver answered `2xx` within 5 seconds, and to the same delivery once more as Rivr retries it, which needs every key Rivr signs with in `RIVR_WEBHOOK_SECRET`). The exit code is 1 when your receiver fails a check, 2 when only Rivr's side did, with the reason (run it again later, what to set up, such as a signing key, or a webhook Rivr should not have sent), and 3 when the journey could not run. It watches your relay without taking anything from `rivr listen`, and it runs with your sign-in to the portal, not with an organisation key. `rivr listen` now also passes `Rivr-Webhook-Id` on, as Rivr sends it. Run the install command again to update.

