In short
- Create a Push App, Web VAPID is generated automatically on create.
- Register each device when the user accepts in the browser and save the device ID.
- Dispatch notifications by passing device IDs in
to(up to 100 per call).
Before you start
- Key with
push:apps:manage,push:devices:register, andpush:send(or admin scope in testing) - Plan with push enabled
- Auth:
Authorization: Bearer sk_live_...orx-api-key - Base URL:
https://api.notifique.dev, usesk_test_...in Sandbox when getting started
A key with
pushAppIds in the dashboard only sends to devices from those apps. Another app → 403 (PUSH_APP_NOT_ALLOWED).1. Create Push App
Two paths, pick what fits your integration:1A, Via dashboard
- Push → New app
- Enter the product name
- Note the app
idand VAPID public key (for the site)
1B, Via API
push:apps:manage. Save the id and use vapidPublicKey on the front end to register the subscription.
Custom VAPID (optional)
To use your own key pair instead of the generated one:2. Register device
When the user grants permission in the browser, send the subscription to your backend and register via API:id, that goes in to when sending. Scope: push:devices:register.
Public registration (no API Key) also exists for front-end flows, only
appId + subscription. With a key, the scope above is required.3. Send notification
Up to 100 device IDs per call. At least title or body is required. Each send consumes 1 credit.payload is required.
Send with template
If you already have a workspace template with push enabled:messageIds is the canonical field; pushIds is a compatibility alias. Scope: push:send.
Schedule, include schedule.sendAt (ISO 8601) in the body. Webhook for this batch only: options.webhook with url and secret.
4. Query, list, and cancel
List sendsstatus, appId. Scope: push:read.
View one send
5. Avoid duplicates
Idempotency-Key header on the send POST. Repeats within 24 h do not create duplicate pushes. See Security and reliability.
6. Webhooks (optional)
Configurepush.sent, push.delivered, push.clicked, push.failed, and push.cancelled to track without polling.
Guide: Webhook events.
All send types
In the API reference (Push tab), open Send push notification and pick an example in the playground: Full push, Template, Scheduled.Next steps
- Introduction: when to use and status lifecycle
- Scopes: key permissions
- Webhook events: real-time status
- Error responses: HTTP codes and
code

