Skip to main content

Get Mirror Sync Status

GET 

/api/xero/v2/sync-status

Per-entity sync status for the Xero mirror - how many records each mirror holds, how many carry an unresolved push error, when it last synced, and the most recent failure.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Authentication: Requires Bearer token.

Top level:

  • order (array of strings) - the entity keys in display order. Every other key is one entity.

Fields per entity:

  • key / label - the entity identifier and its display name.
  • direction - pull (pulled from Xero), push (pushed to Xero from this integration), or ledger (written when the accounting ledger pushes a document; there is no sync to trigger for these).
  • count - records in the mirror.
  • error_count - records carrying an unresolved push error. Always 0 for reference data pulled from Xero.
  • last_mirror_write_at - the newest write to the mirror. For ledger entities this is the only meaningful freshness value, because they are never synced as a set.
  • cursor_at - incremental watermark: everything changed in Xero at/before this timestamp has been mirrored.
  • last_sync_started_at / last_sync_completed_at - the most recent recorded sync run.
  • last_sync_failed_at / last_sync_error - populated when the most recent attempt failed; cleared by the next successful run.
  • enabled - whether the nightly scheduled sync runs for this entity. Bank transactions and payments are opt-in per connection; everything else is on the normal schedule and reports true.
  • can_sync_now - whether Sync Entity From Xero accepts this entity.

Telemetry fields are null for an account that has never synced. Bank transactions and payments record a sync only on their scheduled run - a scoped manual pull deliberately does not, because it would claim coverage the mirror does not have.

Request​

Responses​

OK

Response Headers
    Content-Type