Broadcast a notification to a project
Creates the order to send one notification to every ISSUED pass in the project. The request body is identical to sending a notification to a single pass. At dispatch time (sendAt, or immediately) the project’s issued passes are snapshotted and one ordinary pass notification is created per pass; those per-pass notifications carry all delivery state and appear under GET /v1/passes/{id}/notifications with their broadcastId set; the broadcast itself only reports its dispatch lifecycle (status, passCount). Set sendAt to a future time to schedule; reuse an idempotencyKey to make retries safe (returns the existing broadcast with 200). The per-pass Google rate limit (3 per pass per 24 hours) is not checked here; passes over the cap resolve their google delivery as FAILED on their own notification.
Requires the pass-notifications:write scope on the access token.
Authorizations
Passlet access token (plt_*) sent as Authorization: Bearer <token> or X-API-Key. Authorized scopes are listed per operation under x-required-scopes.
Path Parameters
Resource identifier
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Body
Message text shown on the pass and in the push notification
1 - 1000Wallet platforms to deliver to; omit to deliver to all platforms
1Wallet platform a notification is delivered to
apple, google Schedule delivery for a future time; omit to send immediately
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Unique per workspace. Reusing a key returns the existing notification (200) instead of sending a duplicate
8 - 100Provider-specific delivery options
Response
OK
Pass notification broadcast identifier
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Project whose issued passes the broadcast targets
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Message text
Wallet platforms every fanned-out notification targets
Wallet platform a notification is delivered to
apple, google Provider-specific options supplied at creation
Scheduled dispatch time; null for immediate broadcasts
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Dispatch lifecycle: SCHEDULED (sendAt in the future, fan-out not started), PENDING (fan-out in progress), DISPATCHED (every per-pass notification created). Delivery state lives on the per-pass notifications, never on the broadcast
SCHEDULED, PENDING, DISPATCHED "SCHEDULED"
Issued passes the broadcast fanned out to; null until dispatch completes
-9007199254740991 <= x <= 9007199254740991ISO 8601 timestamp
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ISO 8601 timestamp
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$