# Web Push Push notifications are delivered by one or more providers. `webpush` is the default and implements the Web Push protocol: fetch the public VAPID key, then register a `PushSubscription` obtained from the browser's `PushManager`. `apns` delivers to an Apple Push Notification service device token and is only offered when an administrator has configured it. `GET /push.json` lists the providers that currently accept registrations. When `apns` is active it includes `environment` (`production` or `sandbox`) so a native client can match its build. A registration body without a `provider` field is a `webpush` registration, so existing clients need no change. An APNs body may include a stable `client_id` so a later token rotation updates the same device instead of inserting another row. `DELETE /push.json` removes a single registration by the same identity used to create it (`endpoint` for webpush, `token` or `client_id` for apns). The server also stops delivering to a subscription once its push endpoint reports it as gone. These mirror the in-app [Notifications](/docs/notifications.html) feed. Every endpoint follows the shared [Conventions & Errors](/docs/conventions.html) (auth, content negotiation, pagination, status codes); see [Authentication](/docs/authentication.html) for the four ways to sign requests.
GET /push.json Minimal role: Public

Get the public key

Return the VAPID public key and the providers that accept registrations.

POST /push.json Minimal role: Member

Register a subscription

Register a push subscription. Sends a welcome notification.

DELETE /push.json Minimal role: Member

Unregister a subscription

Remove one push registration by its identity.