most-cli webhook-outbox redeliver
Send every webhook a subscriber did not accept again, oldest first (authenticated POST /v3/webhook-outbox/redeliver); events still kept afterwards fail the command.
Invocation#
most-cli webhook-outbox redeliver [--subscription-id <id>]Purpose#
Send every webhook a subscriber did not accept again, oldest first (authenticated POST /v3/webhook-outbox/redeliver); events still kept afterwards fail the command.
Inputs and options#
- `--subscription-id <id>`: only the events kept for that subscription.
- `--text`, anywhere on the line: print the answer as `key: value` lines for a person.
Output and state effect#
Mutating on the service (`POST /v3/webhook-outbox/redeliver`): every kept event is sent again, oldest first, and an accepted one leaves the outbox. Prints each attempt and what remains; events still kept afterwards fail the command.
Refusals#
- `reading the arguments of webhook-outbox redeliver: webhook-outbox redeliver takes nothing or --subscription-id <id>` — exit 2. Fix: run `most-cli webhook-outbox redeliver` for every kept event, or add `--subscription-id <id>` for one subscription's (cause `most.agent.redeliver.arguments`).
- `redelivering the webhook outbox: a subscriber did not accept every event sent again` — exit 69, and sending it again can help. Fix: `most-cli webhook-outbox` lists each with what its subscriber answered; bring that subscriber back, then run the redelivery again (cause `most.agent.redeliver.events-kept`).
- `redelivering the webhook outbox: the service's answer carries no whole-number `remaining` count, so whether events are still kept is unknown` — exit 1. Fix: run the most-cli built from the revision `most-cli health` reports for the service, and read `most-cli webhook-outbox` for what is kept (cause `most.agent.redeliver.answer-unreadable`).
- `finding the Most service: MOST_BASE_URL is not set, and no origin is assumed in its place` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-unset`).
- `finding the Most service: MOST_BASE_URL is not UTF-8 text, so it names no URL` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-not-text`).
- `finding the Most service: MOST_BASE_URL is set but holds nothing besides whitespace and slashes` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-empty`).
- `finding the Most service: MOST_BASE_URL is not an absolute http or https URL` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-not-url`).
- `reading the bearer for {url}: MOST_AGENT_API_TOKEN is set but is not UTF-8 text, so it cannot travel as a bearer; nothing was sent without it` — exit 1. Fix: set MOST_AGENT_API_TOKEN to the bearer the Most service accepts, or unset it for a read that needs none, such as `most-cli health` (cause `most.agent.service.token-not-text`).
- `reading the bearer for {url}: a mutation is sent only with the service bearer, and MOST_AGENT_API_TOKEN holds none; nothing was sent` — exit 1. Fix: set MOST_AGENT_API_TOKEN to the bearer the Most service accepts: the token in the file its MOST_API_TOKEN_FILE names, or the workload capability it is configured with (cause `most.agent.service.token-unset`).
- `starting the HTTP client for {url}: the HTTP client could not load its TLS configuration, so no request could be made` — exit 1. Fix: repair the TLS or proxy setting the observed error names on this machine, then run the command again (cause `most.agent.service.client-unavailable`).
- `connecting to the Most service at {url}: nothing accepted the connection at that origin` — exit 69, and sending it again can help. Fix: start the Most service MOST_BASE_URL names, or point MOST_BASE_URL at the origin it answers at; `most-cli health` shows when it answers (cause `most.agent.service.unreachable`).
- `sending the request to {url}: the connection broke before the service answered` — exit 69, and sending it again can help. Fix: run the command again; when it keeps breaking, read the Most service's log for the request it was handling (cause `most.agent.service.unsent`).
- `reading the answer from {url}: the service answered HTTP {status}, and its body broke off before it was read whole` — exit 69, and sending it again can help. Fix: run the command again; when it keeps breaking, read the Most service's log for the request it was answering (cause `most.agent.service.answer-unreadable`).
- `{method} {url}: the service did not accept the bearer the request carried` — exit 1. Fix: set MOST_AGENT_API_TOKEN to the bearer the Most service accepts: the token in the file its MOST_API_TOKEN_FILE names, or the workload capability it is configured with (cause `most.agent.service.refused-auth`).
- `{method} {url}: what the request names does not exist on the service` — exit 1. Fix: name one that exists: the list reads (`most-cli calls`, `most-cli accounts`, `most-cli webhook-outbox`) show what the service holds (cause `most.agent.service.refused-absent`).
- `{method} {url}: the service refused the request for what it asked` — exit 1. Fix: change what the answer names and send it again; `most-cli --help` lists each command's arguments (cause `most.agent.service.refused-request`).
- `{method} {url}: the service is not set up to do what the request asked` — exit 1. Fix: declare what the answer names on the Most service's host (its MOST_* settings and composition, see the operations page), then send it again (cause `most.agent.service.refused-unconfigured`).
- `{method} {url}: the service or a dependency of it is limiting how often it is asked` — exit 69, and sending it again can help. Fix: send it again later (cause `most.agent.service.throttled`).
- `{method} {url}: the service or a dependency of it did not answer in time` — exit 69, and sending it again can help. Fix: send it again; when it keeps timing out, read the Most service's log for the dependency it waited on (cause `most.agent.service.timed-out`).
- `{method} {url}: a dependency of the service is down` — exit 69, and sending it again can help. Fix: send it again; when it stays down, read the Most service's log, which names the dependency and its cause (cause `most.agent.service.unavailable`).