Xulo Docs

REST API

Notification stats

GET /api/v1/notifications/{id} returns the status, progress and counts of one push send.

HTTP
GET https://api.xulo.io/api/v1/notifications/{id}

Returns the status, progress and counts of one push. {id} is the id from the send response. Use the same app's REST key.

Shell
curl https://api.xulo.io/api/v1/notifications/42 \
  -H "Authorization: Key $XULO_REST_KEY"
JSON
{
  "id": 42,
  "sent": 120,
  "failed": 2,
  "skipped": 3,
  "clicked": 14,
  "remaining": 0,
  "successful": 120,
  "converted": 14,
  "errored": 0,
  "status": "approved",
  "total_recipients": 125,
  "processed": 125
}

Fields

Field Meaning
status queued, sending, scheduled, approved or draft. See Send notification.
total_recipients Devices in the audience of this send.
processed Devices handled so far: sent plus failed plus skipped.
remaining Devices still waiting to be sent. For a segment or tag send going out in the background, the devices not handled yet. For a scheduled send or a list still sending, the devices in the audience not sent to yet. 0 once the send is done.
sent Devices Apple accepted.
successful The same as sent.
failed Devices Apple refused.
skipped Devices not sent to.
clicked Opens of this push that the SDK reported.
converted The same as clicked.
errored Always 0.

See Delivery and analytics for what each count means.

Following a background send

A segment or tag send starts as queued, with processed at 0 and remaining equal to total_recipients. While it goes out, its status is sending, processed goes up and remaining goes down. When every device is handled, status is approved and remaining is 0. If Apple accepted none of the devices, status is draft.

Delivery paused during a send

If delivery pauses for an unpaid invoice while a segment or tag send is going out, the devices not reached yet are not sent, then or later. The send stops:

  • status is approved if some devices got it, or draft if none did.
  • total_recipients still counts the whole audience.
  • processed counts the devices handled before the pause.
  • remaining is 0. The devices left out are in neither processed nor remaining.

Not found

An id that does not exist, belongs to another app, or is an in-app card returns 404.