Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operations

The supporting commands: schema inspection, destructive admin, configuration introspection, shell completions.

Schemas

The server publishes a schema per event type, describing which identifier fields exist, which are required, and what types they hold. Two commands let you look at them.

List event types

aviso schema list

On a terminal you get a header line and a bullet list of event types. When piped (or with --json), each entry comes out as a JSON object, one per line:

aviso schema list | jq -r .event_type

Get one schema

aviso schema get mars

You get the schema as pretty JSON. Use it to discover which identifiers the server insists on when publishing or filtering.

To fetch every schema in one command:

aviso schema list | jq -r .event_type | xargs -I{} aviso schema get {}

aviso does not validate notifications against schemas locally. The server is the single source of truth; these commands are for human discovery.

Admin

Three destructive commands sit under aviso admin. They all require a --yes flag on the command line; the flag cannot be set in the configuration file, by design.

Wipe one event-type stream

aviso admin wipe-stream mars --yes

Deletes every notification of type mars on the server. Useful in test environments. Operator-level credentials required.

Wipe everything

aviso admin wipe-all --yes

Deletes every notification of every type. Useful when you want a completely clean slate.

Delete a single notification

aviso admin delete 'mars@42' --yes

The argument is the notification id (the <event_type>@<sequence> form the server emits).

Configuration introspection

aviso config dump --redact

Prints the resolved configuration to stdout with a comment on each line saying where the value came from (flag, env, file, or default). --redact masks tokens and passwords.

The dump is what aviso would use right now, given your current flags, environment, and config file. It is the fastest way to debug “why is aviso not picking up my setting”.

For JSON output (so you can jq it):

aviso config dump --redact --json

The auth block is summarised rather than printed per-field. In the YAML form, provider is <set>, <set; redacted> with --redact, or <unset>. In the JSON form the same fact is the boolean provider_set, alongside a redacted boolean. source names where the credential came from (flag, environment, config file, or credentials file); an absent source is <unset> in YAML and null in JSON. Use source when the credential in use is not the one you expected. The listeners block is summarised by name, event, identifier count, and trigger count.

Shell completions

aviso completions <shell> prints a completion script for bash, zsh, fish or elvish. Where to save it, and what to do when Tab does nothing afterwards, is covered in Install: shell completions.

Exit codes

CodeMeaning
0Success. A clean Ctrl+C with no prior failure also returns 0.
1Runtime error. Server returned 4xx/5xx, network failure, or a listener task errored out.
2Usage error. Missing required flag, invalid argument, destructive admin command without --yes, no listeners resolved, unparseable --from value.
130Second Ctrl+C within five seconds. Hard exit; no drain.

What next