grv_sec_, sent as X-API-Key or Authorization: Bearer). Never ship the secret key in a client app — a public key on this route returns 403.
event is your own event name, 1–100 characters. Publish to one channel with channel or up to 100 with channels.
Alert push
payload is merged at the APNs payload root as custom userInfo. Use channels: ["a", "b"] instead of channel to publish to several channels — a token subscribed to more than one still receives a single push.
Live Activity push
Grantiva sets
apns-push-type: liveactivity, topic <bundleID>.push-type.liveactivity, priority 10, and the payload envelope (timestamp, event, content-state, plus attributes-type/attributes on start).
Response
pruned— subscriptions deleted because APNs returned410 Unregisteredor400 BadDeviceToken.- Publishing to a channel with zero subscribers is a 200 with
delivered: 0. - Publishing before the app’s APNs credentials are configured returns 409.