How to send the key
RecommendedEach API Key belongs to one workspace. You cannot access another workspace with the same key.
Common combinations
Send only
push:sendSend and query
push:send, push:readFull Web setup
push:apps:manage, push:devices:register, push:send, push:readRegister devices only
push:devices:registerAvailable scopes
push:apps:read
push:apps:read
List and query Push Apps in the workspace.
push:apps:manage
push:apps:manage
Create, update (VAPID, FCM, APNs as product evolves), and delete Push Apps.
push:devices:register
push:devices:register
Register a device or subscription. Also used to remove a device.
push:send
push:send
Send immediate or scheduled notifications to up to 500 device IDs per request.
push:read
push:read
- List and query sends
- List and query devices
- Cancel queued or scheduled push (
QUEUEDorSCHEDULEDstatus)
Per-app limit
If the key has configuredpushAppIds, it can only send to devices from those apps. Device from another app → 403 (PUSH_APP_NOT_ALLOWED).
Empty list = any app in the workspace.
Common errors
401: missing, invalid, or revoked key
401: missing, invalid, or revoked key
Check
Authorization: Bearer sk_... and that the key wasn’t deleted in the dashboard.403: missing scope or app not allowed
403: missing scope or app not allowed
Check operation scope,
pushAppIds on the key, and allowed origin on the app (ORIGIN_NOT_ALLOWED on public registration).402: credits or blocked plan
402: credits or blocked plan
Insufficient credits (
PLAN_LIMIT_CREDITS, INSUFFICIENT_CREDITS), expired plan (WORKSPACE_BLOCKED), or API key spend limit (API_KEY_SPEND_LIMIT_EXCEEDED).403: scope, app, or scheduling
403: scope, app, or scheduling
Missing scope, app outside
pushAppIds (PUSH_APP_NOT_ALLOWED), quiet hours (PUSH_QUIET_HOURS), or scheduling not allowed (PLAN_LIMIT_SCHEDULING).
