All self-hosted PowerSync Service instances ship with a Diagnostics API for inspecting replication state, surfacing errors, and monitoring source database health.Documentation Index
Fetch the complete documentation index at: https://powersync-mintlify-e254fcc3.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
CLI
If you have the PowerSync CLI installed, usepowersync status to check instance status without calling the API directly. This works with any running PowerSync instance, whether local or remote.
Diagnostics API
Configuration
- Specify an API token in your PowerSync YAML file:
service.yaml
- Restart the PowerSync Service.
- Send a POST request to the diagnostics endpoint, passing the token as a Bearer token:
Response Structure
The responsedata 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:
| Field | Description |
|---|---|
slot_name | The name of the Postgres replication slot used by this sync rules version. |
initial_replication_done | Whether the initial snapshot has completed. |
replication_lag_bytes | Replication lag in bytes. |
wal_status | The WAL status of the replication slot (reserved, extended, unreserved, or lost). |
safe_wal_size | Remaining WAL budget in bytes before the slot risks invalidation. |
max_slot_wal_keep_size | The configured max_slot_wal_keep_size value on the source Postgres database. |
Errors and Warnings
Warnings and errors appear in theerrors[] 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_S1146appear when a replication slot is invalidated (whenwal_statusislost).