Push projects
List push projects
GET/v1/push-projects
Requires an API key with the push:read scope. About keys and scopes
Each project groups the iOS, Android and web apps of one product, with whether any can send (ready). Rules that ask whether a contact is reachable by push name a project. Credentials are described, never returned.
Query parameters
limitintegeroptionalmin > 0 · max 100 · default
20cursorstringoptional1–2048 characters
Returns
Returns 200 OK with a list of PushProject objects in data, and the next page's cursor in meta (see pagination). Otherwise returns an error; Errors lists every code and which to retry.
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.
min -9007199254740991 · max 9007199254740991
lastRegisteredAtstring | nullrequiredAcross its apps: when a device last registered; null until the first one.
date-time
appsPushApp[]required13 child attributes
idstringrequireduuid
pushProjectIdstringrequiredThe project the app belongs to.
uuid
namestringrequiredplatformstringrequiredone of
ios,android,webenvironmentstringrequiredone of
sandbox,productionreadybooleanrequiredWhether 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.
min -9007199254740991 · max 9007199254740991
lastRegisteredAtstring | nullrequiredWhen a device that can receive last registered or refreshed; null until then.
date-time
updatedAtstringrequireddate-time
createdAtstringrequireddate-time
updatedAtstringrequireddate-time