# 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. A registration body without a `provider` field is a `webpush` registration, so existing clients need no change. There is no server-side unsubscribe endpoint: unsubscription is handled entirely in the browser by calling `PushManager.unsubscribe()` on the subscription. The server 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.