Command line
Two ways from a shell: curl with the URL key and nothing installed, or npx youlmk with a token or a key and flags for every field.
curl
$ curl youlmk.com/k/k_7hq2nk3f9qd8w4 -d "backup finished"
Plain text becomes the title; JSON sets everything else. Every form is in the HTTP API.
npx youlmk
Part of the youlmk npm package; Node 18 and up. The token comes from YOULMK_TOKEN or --token; a URL key from YOULMK_KEY or --key.
$ export YOULMK_TOKEN=ylk_…
$ npx youlmk "backup finished" --body "4.2 GB in 3 min 10 s" --priority low --field Host=db-1
ntf_8f21c4a9b2d0
Flag
What it sets
--body text
Up to 2,000 characters under the title.
--priority level
low, normal, high or critical.
--url https://…
The primary button, with --url-label for its text.
--field Name=value
A row on the notification; up to six, one flag each.
--group key
Identical group within the source's window becomes one card.
--image https://…
A picture for this one notification.
--idempotency-key key
The same key within 24 hours sends nothing twice.
--json
Print the whole answer instead of the id.
It prints the notification's id and exits 0; on an error it prints the door's sentence and exits 1, or 2 when the arguments are wrong. In a script, --idempotency-key "$RUN_ID" keeps a retried step from sending twice.