gate — ntfy tells you things. gate asks you things. POST /{topic} ask; body = question (text or JSON {question,options,context}) ?wait=secs blocks for the decision (default 300, max 3600) ?async=1 returns 201 {id, poll} immediately GET /{topic}/{id} poll one ask (?wait=secs); 200 decided / 408 pending GET /{topic} pending + recent asks (browser: tap-to-decide page) POST /{topic}/{id}/decide {decision: "approve"|"deny", note?} + X-Decide-Token (or ?t=) PUT /{topic}/config {"notify": "https://ntfy.sh/xyz"} -> new asks ping that URL GET /{topic}/log audit trail Topics: [a-zA-Z0-9_-]{1,64}, created on first use. Docs: GET /README.md (full docs) · GET /llms.txt · https://github.com/legible-sh/gate