Server-Scoped Subscriptions | Medplum

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 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 (default false), then restart the server.
  2. Sign in as a member of the Super Admin project and create a Subscription with nometa.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:
{
  "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 instead.