Menu

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

limitintegeroptional

min > 0 · max 100 · default 20

cursorstringoptional

1–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.

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.

min -9007199254740991 · max 9007199254740991

lastRegisteredAtstring | nullrequired

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

date-time

appsPushApp[]required
13 child attributes
idstringrequired

uuid

pushProjectIdstringrequired

The project the app belongs to.

uuid

namestringrequired
platformstringrequired

one of ios, android, web

environmentstringrequired

one of sandbox, production

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.

min -9007199254740991 · max 9007199254740991

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