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
| Endpoint | Request |
|---|---|
| List push projects | GET /v1/push-projects |
The PushProject object
{
"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"
}idstringrequireduuid
namestringrequiredenvironmentstringrequiredone of
sandbox,productionreadybooleanrequiredAt least one app can send; the others' devices are skipped until they can.
installationCountintegerrequiredAcross its apps: devices that can receive now.
lastRegisteredAtstring | nullrequiredAcross its apps: when a device last registered; null until the first one.
date-time
appsPushProjectApp[]requiredIts iOS, Android and web apps, each with whether it can send.
11 child attributes
idstringrequireduuid
namestringrequiredplatformstringrequiredone of
ios,android,webreadybooleanrequiredWhether the app can send: web apps, and native apps with a credential Apple or Google has not refused.
credentialobject | nullrequiredA native app's credential, without its key. Null until an admin uploads one.
One of 2 shapes
- APNs (iOS)
4 child attributes
kind"apns"requiredkeyIdstringrequiredteamIdstringrequiredbundleIdstringrequired
- FCM (Android)
3 child attributes
kind"fcm"requiredprojectIdstringrequiredThe Firebase project ID.
clientEmailstringrequiredThe service account's email.
credentialRefusalobject | nullrequiredSet 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
reasonstringrequiredThe provider's own explanation.
refusedAtstringrequireddate-time
vapidPublicKeystring | nullrequiredA web app's public key, passed to the browser when it subscribes; null for native apps.
createdAtstringrequireddate-time
installationCountintegerrequiredDevices that can receive now: registered, active, permission granted.
lastRegisteredAtstring | nullrequiredWhen a device that can receive last registered or refreshed; null until then.
date-time
updatedAtstringrequireddate-time
createdAtstringrequireddate-time
updatedAtstringrequireddate-time