Close
3 operations. All areas
GET/v1/close/checklist
The month-end close checklist of the period containing a date: bank accounts reconciled through the period end, no pending proposal dated in it, no unapplied payment older than N days, AR/AP aging tied to the control accounts, sales-tax liability reviewed (and unchanged since), then the lock. Computed live from the books.
- Operation
getCloseChecklist - Scope: read
- Read
- Parameters
datequery, stringunapplied_daysquery, integer
- Responses
200Checklist (object)- Errors
400,401,403,429,500(Error:error.type,message)
POST/v1/close/sales-tax-review
Sign off the period's sales-tax liability as reviewed (people with approve; agents are refused). The liability by agency is kept with the sign-off; if it changes later the checklist asks for a new review. Audited.
- Operation
reviewSalesTax - Scope: approve
- Write: needs Idempotency-Key (or dry_run)
- Request body
datestring, required Calendar date, YYYY-MM-DD.notestring
- Responses
200Reviewed (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)
POST/v1/close/lock
Close the period: lock it (soft or hard) only if every checklist item passes, else 422 close_incomplete listing the failing items. People only. The lock and the checklist as it stood are recorded and audited. dry_run reports what would happen.
- Operation
closePeriod - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Request body
datestring, required Calendar date, YYYY-MM-DD.status"soft_locked" | "hard_locked", requiredreasonstring, requiredunapplied_daysintegerdry_runboolean
- Responses
200Closed (or previewed) (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)