Skip to main content
All self-hosted PowerSync Service instances ship with a Diagnostics API for inspecting replication state, surfacing errors, and monitoring source database health.

CLI

If you have the PowerSync CLI installed, use powersync status to check instance status without calling the API directly. This works with any running PowerSync instance, whether local or remote.

Diagnostics API

Configuration

  1. Specify an API token in your PowerSync YAML file:
service.yaml
Use a secure, randomly generated API token.
  1. Restart the PowerSync Service.
  2. Send a POST request to the diagnostics endpoint, passing the token as a Bearer token:

Response Structure

The response data object contains: connections — whether PowerSync can reach the configured source database and any connection-level errors. active_sync_rules — the currently serving sync config (Sync Streams or Sync Rules). Contains a connections[] array with details about each replication connection including slot name, WAL status, and tables being replicated. Also includes an errors[] array for warnings or errors. deploying_sync_rules — only present while a new sync config is being deployed and the initial replication is in progress. PowerSync runs this process in parallel so clients continue to be served by the existing active config. Once initial replication completes, this section disappears and active_sync_rules updates. Each connection in active_sync_rules.connections[] includes:

Errors and Warnings

Warnings and errors appear in the errors[] array at the sync rules level (active_sync_rules.errors[] or deploying_sync_rules.errors[]). This includes:
  • Replication lag warnings are raised if no replicated commit has been received in more than 5 minutes (warning level) or 15 minutes (fatal level).
  • WAL budget warnings appear when the remaining WAL budget drops below 50%.
  • Replication errors such as PSYNC_S1146 appear when a replication slot is invalidated (when wal_status is lost).
For guidance on configuring max_slot_wal_keep_size and managing replication slots, see Postgres maintenance.