grv_pub_). Send it as X-API-Key or Authorization: Bearer — the header is checked in that order, and query strings are never accepted. The app’s secret key also works here; the public key never works on publish.
Rate limit: 240 requests per minute per key. Exceeding it returns 429 with a Retry-After header.
Subscribe
Subscriptions upsert by (app, deviceToken, tokenType, channel): re-registering updates rather than duplicates. Returns 201 on create, 200 on update.
Response
List a device’s subscriptions
deviceToken is required; omitting it returns 400.
Unsubscribe
channel (optionally narrowed by tokenType), removes the matching subscriptions. With deviceToken alone, wipes every subscription for the device (logout). Returns { "removed": <count> }.