Glossary
Plain definitions, in the order the ideas appear. Chapter numbers point at where each one does its work.
Topic — a named channel on a server. Publishing and subscribing are both addressed to a topic; a topic exists by being used. Chapter 1.
Publish — send a message to a topic: an HTTP POST or PUT with the message as the body. Chapter 2.
Server — the ntfy process that
receives messages, caches them, and
forwards them to subscribers. The
public one is ntfy.sh; the lab's is
your own. Chapter 1, chapter 7.
Message — one notification: a
text, plus whatever of the anatomy
below it carries. Identified on the
server by a twelve-character id,
accepted at time, forgotten at
expires. Chapter 2.
Receipt — the JSON the server returns for a publish, and the same JSON subscribers receive. If a field is absent from it, the message does not have that field. Chapter 2.
Title — a message's optional bold
first line (X-Title). Chapter 3.
Priority — how insistently the
receiving device presents a message:
1 (min) to 5 (max), default 3.
Carried as a number; absent from the
receipt when default. Chapter 3.
Tag — a comma-separated label on a
message (X-Tags). Some tags render
as emoji on receiving apps, which
decide that for themselves. Chapter 3.
Action — a button on a
notification (X-Actions): a view
action opens an address, an http
action makes a request. Chapter 3.
Click — the address a tap on the
notification opens (X-Click).
Chapter 3.
Subscribe — open a GET on a topic and stay: the server writes each new message as it is published. Chapter 4.
Stream — a held-open subscription
in one of three shapes: json (one
object per line), sse
(Server-Sent Events), or raw (bare
message texts). Chapter 4.
Open event — the first line of a
stream, event: "open": the server
confirming the subscription is live,
before any message. Chapter 4.
Cache — the server's memory of
recent messages: 12 hours by default,
in the file cache-file names.
Chapter 5.
Poll — ask once and close:
?poll=1 returns the cached messages
instead of holding the connection.
Chapter 5.
Since — where a poll or subscription starts reading: a duration, a timestamp, or a message ID — meaning strictly after the named message. Chapter 5.
Delay — publish now, deliver
later (X-Delay): 10 seconds to
3 days, documented range. Chapter 6.
Attachment — the one file a message can carry, uploaded with the message and kept for 3 hours by default, under its own address. Chapter 6.
Message size limit — the boundary
(message-size-limit, default 4k)
below which a request body is a
message and at which it becomes a
file. Chapter 6.
Config file — the server's one
YAML file (server.yml): listen
address, base address, and the paths
of the three state files. Chapter 7.
Base URL — the address the server believes it lives at, used to build the links it hands out. Chapter 7.
Auth file — the user database
(auth-file). Without one, a server
has no users, only the default access.
Chapter 7, chapter 8.
Default access —
auth-default-access: what a request
with no matching grant may do, from
read-write down to deny-all.
Chapter 8.
Grant — one user's allowed access
to one topic (read-write,
read-only, write-only, or none),
made with ntfy access. Chapter 8.
Role — a user's standing: an
admin reads and writes everything;
a user has only their grants.
Chapter 8.
Anonymous (the * user) —
everyone with no login: exactly what
the default access says, and nothing
more. Chapter 8.
401 / 403 — the locked server's two refusals: unauthorized (your credentials were not believed) and forbidden (you were believed, and the answer is no). Chapter 8, chapter 11.
Token — a per-user access key
issued by ntfy token, so scripts
need not carry the account password.
Named in chapter 8; documented, not
run, in this guide.
Web app — the interface the server serves at its own root address: subscribe, read, and publish from a browser. Chapter 1, chapter 4.