grv_sec_, sent as Authorization: Bearer or X-API-Key). Never ship the secret key in a client app.
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.