Push projects overviewMenu
On this page

Push projects

A push project is a product whose iOS, Android and web apps receive push, with whether each can send. Push to a contact goes through their installations on a project that can send. See Push notifications.

Endpoints

EndpointRequest
List push projectsGET /v1/push-projects

The PushProject object

PushProject example
{
  "id": "018f2a4e-6b1c-7d3e-9f40-37386ae05a6b",
  "name": "name_example",
  "environment": "sandbox",
  "ready": true,
  "installationCount": 1,
  "lastRegisteredAt": "2030-03-14T09:30:00Z",
  "apps": [
    {
      "id": "018f2a4e-6b1c-7d3e-9f40-37386ae05a6b",
      "name": "name_example",
      "platform": "ios",
      "ready": true,
      "credential": {
        "kind": "apns",
        "keyId": "018f2a4e-6b1c-7d3e-9f40-3c9ae5415a6b",
        "teamId": "018f2a4e-6b1c-7d3e-9f40-3c35d4215a6b",
        "bundleId": "018f2a4e-6b1c-7d3e-9f40-4cfa7a405a6b"
      },
      "credentialRefusal": {
        "reason": "reason_example",
        "refusedAt": "2030-03-14T09:30:00Z"
      },
      "vapidPublicKey": "vapidPublicKey_example",
      "createdAt": "2030-03-14T09:30:00Z",
      "installationCount": 1,
      "lastRegisteredAt": "2030-03-14T09:30:00Z",
      "updatedAt": "2030-03-14T09:30:00Z"
    }
  ],
  "createdAt": "2030-03-14T09:30:00Z",
  "updatedAt": "2030-03-14T09:30:00Z"
}
idstringrequired

uuid

namestringrequired
environmentstringrequired

one of sandbox, production

readybooleanrequired

At least one app can send; the others' devices are skipped until they can.

installationCountintegerrequired

Across its apps: devices that can receive now.

lastRegisteredAtstring | nullrequired

Across its apps: when a device last registered; null until the first one.

date-time

appsPushProjectApp[]required

Its iOS, Android and web apps, each with whether it can send.

11 child attributes
idstringrequired

uuid

namestringrequired
platformstringrequired

one of ios, android, web

readybooleanrequired

Whether the app can send: web apps, and native apps with a credential Apple or Google has not refused.

credentialobject | nullrequired

A native app's credential, without its key. Null until an admin uploads one.

One of 2 shapes
APNs (iOS)
4 child attributes
kind"apns"required
keyIdstringrequired
teamIdstringrequired
bundleIdstringrequired
FCM (Android)
3 child attributes
kind"fcm"required
projectIdstringrequired

The Firebase project ID.

clientEmailstringrequired

The service account's email.

credentialRefusalobject | nullrequired

Set when Apple or Google refused the credential while sending (a revoked key, a wrong team ID, a service account that lost permission). Sends stop until a new credential is uploaded.

2 child attributes
reasonstringrequired

The provider's own explanation.

refusedAtstringrequired

date-time

vapidPublicKeystring | nullrequired

A web app's public key, passed to the browser when it subscribes; null for native apps.

createdAtstringrequired

date-time

installationCountintegerrequired

Devices that can receive now: registered, active, permission granted.

lastRegisteredAtstring | nullrequired

When a device that can receive last registered or refreshed; null until then.

date-time

updatedAtstringrequired

date-time

createdAtstringrequired

date-time

updatedAtstringrequired

date-time