Skip to content

Create GL close run

POST/finance/gl-close-runs

Initiates a new general-ledger close run for the specified accounting period. The run starts in 'prepared' status; call the period lock endpoint to advance it to 'locked' once all checks pass.

Request

Request body

Content type application/json (required).

FieldTypeRequiredDescription
periodstringYes

Accounting period identifier in YYYY-MM format (e.g. "2026-03").

Max length: 24

checks_jsonstringNo

JSON-encoded array of pre-close check results. Each item should include a 'name' and 'passed' boolean field.

notesstringNo

Free-text notes recorded against this close run.

Example

{
  "period": "2026-03",
  "checks_json": "[{\"name\":\"unposted_journals\",\"passed\":true},{\"name\":\"bank_rec_complete\",\"passed\":true}]",
  "notes": "Q1 close — all checks passed."
}

Responses

302 Redirect to the finance ops index after successful creation

422 Validation error — period is required and must be a string ≤ 24 chars

Content type application/json, any.

Example

{
  "errors": {
    "period": [
      "The period field is required."
    ]
  }
}

Example request

curl -X POST "https://{tenant}.faciotech.net/api/v1/finance/gl-close-runs" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"period": "2026-03", "checks_json": "[{\"name\":\"unposted_journals\",\"passed\":true},{\"name\":\"bank_rec_complete\",\"passed\":true}]", "notes": "Q1 close — all checks passed."}'
Loading