Centre d'aide Report a notification status

Report a notification status

POST /api/push/notifications/{guid}/status
X-Push-App-Key: <application key>
Content-Type: application/json
{ "status": "delivered", "occurredAt": "2026-08-07T12:44:03.219Z" }

Fields

FieldNotes
statusdelivered or seen.
occurredAtWhen the event happened on the device, ISO-8601.

The guid comes from data.guid in the message payload.

This is not telemetry

The cascade waits on delivered before falling through to SMS or Viber. A missing callback means the client is charged for a message the user already read on screen.

Report delivered the moment the message is received — from the foreground handler and the background handler — and seen when the notification is tapped.

Deduplicate by guid

The same message can reach the app through more than one path, and a locally re-presented notification arrives again through the expo-notifications listener. Deduplicate on data.guid before reporting.

Where the guid comes from

Messages are sent data-only, so every field arrives inside data:

  • Android: remoteMessage.data["guid"]
  • iOS: userInfo["guid"]

If callbacks stop arriving after a backend change

On Android, a message carrying a notification block is drawn by the system and never reaches JS until it is tapped — so no delivered is ever sent. That is precisely why the service sends data-only. If callbacks stop after a backend change, check whether a notification block crept back into the payload.