Push, human approvals and passwordless sign-in, all over plain HTTPS. Whatever language you already write, it already speaks this.
Registering a service, and the key that comes with it, both live in the console — sign in with an email link and it is a two-minute job.
This is the complete surface for the two things people reach for first. Everything else is the same shape.
# Send a notification curl -X POST https://api.lauther.id/v1/push \ -H "Authorization: Bearer lpt_…" \ -d '{"title":"Order shipped","message":"Your package is on the way"}' → {"ok":true,"id":"…","delivered":1} # Ask a human, and wait for them curl -X POST https://api.lauther.id/v1/approve \ -H "Authorization: Bearer lpt_…" \ -d '{"title":"Deploy v2.4 to production?", "message":"14 commits · staging green", "wait":25}' → {"ok":true,"response":"approve"}
Both published, both a token away from working. Node 18 and up.
npm install lauther-client // Tell someone something await lauther.push({ title: "Order shipped" }); // Or ask, and wait for the answer if (await lauther.ask("Deploy v2.4 to production?")) { await deploy(); } → true only when a person pressed Approve
Add this to Claude Code, Cursor or Windsurf and the agent puts the question on your phone before it deploys, deletes or spends — then waits for your thumb.
// .mcp.json {"mcpServers": {"lauther": { "command": "npx", "args": ["-y", "lauther-mcp"], "env": {"LAUTHER_TOKEN": "lpt_…"} }}} → APPROVED after 34s. Confirmed by biometric.
One blocking call puts a real decision in front of a real person and returns their answer to your script. Built for AI agents, deploy pipelines and anything that spends money. POST /v1/approve
Two endpoints and a QR code. Each user arrives as a per-service alias and a random ID — everything you need to recognise a returning customer. POST /v1/pair/start
Gate the expensive action behind a fingerprint. The response tells you it was confirmed biometrically, so you can log why you trusted it. POST /v1/identity/verify
Point a notification at a page on your own site. The tap lands there already signed in, ready to answer with a real keyboard. POST /v1/push {path}
Publish once, reach every subscriber, and let them stay anonymous to you. Ideal for a status page or an alert feed. POST /v1/topics/publish
Three routes home for a returning user — from the app, by the name they chose for you, or a fresh scan. Build all three and nobody gets stranded. POST /v1/session/claim
Lauther implements the Pushover message API, so anything that lets you change the server URL works the moment you point it here. Anything with a webhook field works as it is.
Sign in with a link sent to your email, and you're in — the address is for sign-in and recovery only.
Apps → + → New token gives you an lpt_… string. Revoke or regenerate it any time.
Paste the curl above, or open the Workbench and let it build the request for you.
Every integration you ship lands in an app your users chose for themselves — one inbox, their own names, their own off switch. How it works from their side →