API reference menu
Getting started
OverviewAuthentication and rate limitExamplesSending
Send a notificationPriority and repeatLinks, images and buttonsSourcesScheduled sendsWebhook templatesReceipts and replies
Receipts and callbacksRepliesTeams
Teams, roles and endpointsChannels and escalationWebhooks and emailAlert email and timelineTeam formsPlans, audit log and transferCompany sign‑in and SCIMThe web consoleAccount
Identity and moving phonesDevices, keys and historyThe Upgrade PassCompatibility
ntfy's publish APIProwl's APIAppendix
Endpoint indexErrors and status codesLimitsPriorities and fieldsGlossaryntfy's publish API
Everything else in this reference is the API worth writing against. This page and Prowl's API are for the senders you cannot rewrite.
Uptime Kuma, anything built on Apprise (changedetection.io and many more) and a long list of other self-hosted apps have an ntfy notifier that lets you set the server. Nowlark answers ntfy's publish API, so that notifier works unchanged:
| In the tool | Put |
|---|---|
Server URL |
https:/ |
Topic |
Any name. It becomes the source, so give each tool its own |
Access token |
Your nlk_… key |
Priority |
ntfy's 1 to 5, which is Nowlark's −2 to 2 step for step: 4 and 5 break through a Focus |
For Apprise, the URL is ntfys://nowlark.com/<topic>?token=nlk_…. The ?token= form
matters: Apprise only sends a bare nlk_…@ as a token if it starts with tk_.
curl -sS https://nowlark.com/backup \
-H "Authorization: Bearer nlk_…" \
-H "Title: Nightly" -H "Priority: high" \
-d "412 GB in 38 minutes."
What is accepted: POST|PUT /<topic> with the message as the body or as message=; POST /
with a JSON document naming its topic; Title, Priority (1 to 5 or min, low, default,
high, max, urgent) and Click as X- headers, plain headers or query parameters; the key as
a Bearer token, as the password of Basic auth, or in ?auth=. Click, or the first view
action, becomes the notification's link. Tags, icons, attachments, e‑mail and delays are accepted
and ignored rather than refused. The same routes also answer under /ntfy.
Errors are ntfy's JSON ({"code": 40101, "http": 401, "error": "…"}), and a key that does not
work is always 401, which is what a tool's "Test" button reports as needing authorization.
Nowlark is not an ntfy server to subscribe to. It only receives: the notifications go to the Nowlark app, not to an ntfy client.