How-to
Replay a message
Replay is how you recover after a downstream outage. Sirius never edits the original ledger row. It writes a new, auditable attempt with a causation link back to the first message.
From the console
- Open Monitor.
- Search the ledger by integration, time, status, or payload text.
- Open the message. Confirm the payload and the original destination.
- Click Replay. Optionally set an idempotency key if you will retry the click.
- Watch the new attempt in History. The original row stays put.
If the message is already in the dead-letter queue, prefer the DLQ actions:
| Action | When to use it |
|---|---|
| Retry | The destination is healthy again. Creates a new attempt. |
| Resolve | A human handled it outside Sirius. Closes the item without another send. |
| Terminal | You are done. Irreversible. Do not use this as a first try. |
From the API
curl -s "$SIRIUS/messages?tenant_id=default&limit=20"
curl -s -X POST "$SIRIUS/messages/<queue_id>/<sequence>/replay" \
-H 'content-type: application/json' \
-d '{"request_id":"replay-001"}'
curl -s "$SIRIUS/failures?tenant_id=default&limit=50"
curl -s -X POST "$SIRIUS/failures/<id>/retry"
curl -s -X POST "$SIRIUS/failures/<id>/resolve"
Reuse request_id if the first replay call times out. A new key means a second replay.
What replay does not do
- It does not mutate the original payload in place.
- It does not skip the transform. The live graph runs again.
- It does not copy secrets or invent a destination. The integration must still be bound and started.
If the same message keeps failing, fix the destination or the mapping first — then retry. See Page on failure and Write a transform.