Confirm opening balances
POST
https://app.speybooks.com/api/v1/opening-balances/{id}/confirmConfirm an opening balance import, creating an immutable migration journal with balanced double-entry postings. Passes the triple gate:
- Balance proof: total debits must equal total credits
- Mapping completeness: all rows mapped to valid accounts
- Singleton check: no active OB journal exists
The journal is created with source: 'migration', locked: true,
and deferred constraint checking (lines must sum to zero). Four DB
triggers prevent subsequent modification. Only voiding restores the
ability to re-import.
Path parameters
idstringrequiredData import ID (e.g. dimp_2). Must be in pending status with canConfirm: true.
Response
200Opening balance journal committed. Returns transaction ID, line count, totals, cutover date, and reference.
Show response fields
cutoverDatestringjournalLinesintegerreferencestringtotalCreditstringtotalDebitstringtransactionIdstringError codes
404Pending opening balance import not found.
409An active opening balance journal already exists (singleton violation).
422Import not confirmable: balance proof failed, unmapped accounts remain, or canConfirm is false.