Register the current user's web browser
Stores the FCM token encrypted and returns only the device id/platform. Re-registering the same owned token is idempotent; another account cannot claim an active token.
bearerAuthAuthorizationBearer <token>Obtained from POST /api/v1/auth/login, on the tenant's own subdomain. Presenting it on another tenant's subdomain is a 403.
application/json- body
token*string[A-Za-z0-9_:.-]+20 <= length <= 4096Existing owned browser registration refreshed
application/json- response
id?stringuuidplatform?stringcurl -X POST 'https://api.monetaryai.uz/api/v1/push/devices' \ -H 'Content-Type: application/json' \ -d '{ "token": "stringstringstringst"}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "platform": "string"}Read a tenant-scoped web push message status GET
Requires live company permission. Per-device ACCEPTED is Firebase acceptance only; UNCERTAIN is not automatically retried. COMPLETE means no pending/claimed work, not proof of browser display. Company permission: `getWebPushMessageStatus`. Defaults: ADMIN. Current company role permissions and active membership are checked on every request; signed legacy role claims alone do not authorize this operation.
Enqueue a tenant-scoped web push message POST
Default ADMIN access; live company permission is checked again at delivery. The request UUID is idempotent. A 202 means queued, not Firebase acceptance or browser delivery. Company permission: `enqueueWebPushMessage`. Defaults: ADMIN. Current company role permissions and active membership are checked on every request; signed legacy role claims alone do not authorize this operation.