PushNowAPI

HTTP + HPKE

Encrypted notification API

Authorize a sender, encrypt content locally and notify your account's devices.

Start with a trusted sender

Verify your email and finish device setup in the app. Then log in with the CLI and approve the sender on iOS. Web login or adding a transport Key does not replace encryption authorization.

npm --prefix cli ci
node cli/src/main.js login --api https://api.pushnow.dev --name "My automation"
node cli/src/main.js send --title "Build complete" --body "Ready for review"

Run these commands from the repository root. They do not assume a published npm package.

Endpoints and credentials

https://api.pushnow.dev

MethodPathCredentialPurpose
GET/v1/secure/devicesAccount sessionList your devices
GET/v2/keysAccount sessionList sender Key metadata
GET/v2/logsAccount sessionInspect notification attempts
GET/v2/recipientsSender KeyRead the signed recipient directory
POST/v2/messagesSender KeySubmit an encrypted envelope
POST / PUT/v2/attachments[/<ID>]Sender KeyReserve and upload encrypted files

Sending contract

POST /v2/messages accepts an SDK-prepared encrypted envelope, not plaintext title and body fields. Idempotency-Key must equal message_id; retries must reuse the original encrypted payload.

  • Omit notify_device_ids to alert all eligible devices; use an empty array for inbox-only.
  • scheduled_at supports reminders within the next 30 days; history is available immediately.
  • Encrypted titles, body text, links and attachments are supported. Custom notification sound is currently unsupported.
  • accepted means provider accepted, not device delivered.

Documentation and testing