## How It Works

A server-scoped `Subscription` fires for rest-hook changes across **every project on the server**, not just its own project. It's useful for project-per-tenant deployments that need one central, server-wide data-processing flow.

:::info Self-hosted only
This feature requires the [Super Admin](/content/docs/self-hosting/super-admin-guide/index.html) project and a server config flag, both of which are only available when you run your own Medplum server. It is **not** available on hosted Medplum (`app.medplum.com`).
:::

## Enabling and Using

Both are required:

1. Set `serverScopedSubscriptionsEnabled` to `true` in your [server config](/content/docs/self-hosting/server-config#serverscopedsubscriptionsenabled/index.html) (default `false`), then restart the server.
2. Sign in as a member of the [Super Admin](/content/docs/self-hosting/super-admin-guide/index.html) project and create a `Subscription` with **no**`meta.project`. Being a super admin is what grants the privilege — the Subscription itself must not be assigned to any project (not even the Super Admin project); leaving `meta.project` unset is what makes it project-less and server-scoped:

```json
{
  "resourceType": "Subscription",
  "reason": "Central processing for all tenants",
  "status": "active",
  "criteria": "Patient",
  "channel": {
    "type": "rest-hook",
    "endpoint": "https://example.com/central-hook"
  }
}
```

With the flag off, project-less Subscriptions are ignored. For single-project flows, use an ordinary [Subscription](/content/docs/subscriptions/index.html) instead.
