Apply Start Date Transition
POST/api/ledger/opening-balance/transition/apply
Confirms the parked accounting-start-date change. The opening balance is re-imported IN PLACE from the replacement trial balance at the new anchor (the same opening-balance row is kept — preserving its notes, created-by, equity account, applied status and history), its entry is reversed and reposted through the standard outbox pipeline, and the reconciliation is re-anchored + re-backfilled via a tracked Sync Provider GL Journals job.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Authentication: Requires Bearer token + accounting.manage_settings.
No request body. Applying intentionally permits a metered provider capture if the replacement trial balance hasn't been snapshotted yet (it is a deliberate user action). On success the pending transition settles to applied and opening_balance_overview.pending_start_date_transition becomes null.
Errors: 422 when there is no pending transition, when no Xero accounting connection exists, or when ledger generation is disabled for the tenant.
Request
Responses
- 200
- 401
- 403
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.