API reference

Close runs

Each close of each month: its tasks, who signed each off, and the sequence it closed at.

Guides: Close the month

List every close of every month

GET/v1/close_runs

client.closeRuns.list()

Every close of every month, newest first: the run being worked, and the record of each close before it.

Parameters

NameTypeDescription
periodQuerystring or null

Only the runs of this month, like 2026-09.

statusQuerystring or null

Only runs in this state.

One of open, closed, reopened
limitQueryinteger

Page size, 1–200.

Default 50
cursorQuerystring or null

The next_cursor of the previous page.

Response

200CloseRunPage

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl "https://api.ledgerit.ai/v1/close_runs" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN"

Get a close run and its tasks

GET/v1/close_runs/{run_id}

client.closeRuns.get()

One close of one month, with its tasks: who signed each off, when, and what they wrote beside it.

Parameters

NameTypeDescription
run_idPath · Requiredstring

An id that starts with close_run_.

Response

200CloseRunOut

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl "https://api.ledgerit.ai/v1/close_runs/{run_id}" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN"

Start a month's close run

POST/v1/periods/{key}/close_run· Idempotent

client.closeRuns.start()

Start a month's close: a run asking for every task on the checklist. A month whose close is already being worked returns that run. Signing off a task or closing the month starts it too. Refused with period_closed in a closed month.

Parameters

NameTypeDescription
keyPath · Requiredstring

Response

201CloseRunOut

Errors

400
The request was malformed or a parameter is invalid.
401
No valid credential was sent.
403
The credential or the member's role does not allow this.
404
No such resource in this ledger.
409
A conflicting request, e.g. one with the same Idempotency-Key still running.
422
A well-formed request a business rule refused.
429
Too many requests; retry after the Retry-After header.
500
Something failed on our side; the request_id identifies it.

Example

curl
curl -X POST "https://api.ledgerit.ai/v1/periods/{key}/close_run" \
  -H "Authorization: Bearer $LEDGERIT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Objects

The objects these operations take and return.

CloseRunPage

NameTypeDescription
dataRequiredarray of CloseRunSummaryOut
has_moreRequiredboolean
next_cursorRequiredstring or null

CloseRunOut

A close run with its tasks.

NameTypeDescription
created_atRequiredstring (date-time)

When the run started.

forcedRequiredboolean

Closed with the explicit override, with blocking tasks still open.

idRequiredstring

The run's id.

periodRequiredstring

The month it closes, like 2026-09.

reopened_atRequiredstring (date-time) or null

When the month was reopened after it.

signed_off_atRequiredstring (date-time) or null

When it was closed.

signed_off_byRequiredstring or null

An id that starts with usr_.

statusRequiredstring

open while the month's close is worked, closed once the month is locked with it, reopened once the month was reopened after it.

One of open, closed, reopened
tasksRequiredarray of ChecklistItemOut

Its tasks, in the checklist's order.

tasks_doneRequiredinteger

How many of its tasks are signed off.

tasks_totalRequiredinteger

How many tasks it asks for.

through_sequenceRequiredinteger or null

Once closed, the posting sequence its figures reflect: every entry up to it is in the close. Null while open.

versionRequiredinteger

Which close of the month this is: 1 the first time, 2 after one reopening, and so on.

CloseRunSummaryOut

One close of one month.

NameTypeDescription
created_atRequiredstring (date-time)

When the run started.

forcedRequiredboolean

Closed with the explicit override, with blocking tasks still open.

idRequiredstring

The run's id.

periodRequiredstring

The month it closes, like 2026-09.

reopened_atRequiredstring (date-time) or null

When the month was reopened after it.

signed_off_atRequiredstring (date-time) or null

When it was closed.

signed_off_byRequiredstring or null

An id that starts with usr_.

statusRequiredstring

open while the month's close is worked, closed once the month is locked with it, reopened once the month was reopened after it.

One of open, closed, reopened
tasks_doneRequiredinteger

How many of its tasks are signed off.

tasks_totalRequiredinteger

How many tasks it asks for.

through_sequenceRequiredinteger or null

Once closed, the posting sequence its figures reflect: every entry up to it is in the close. Null while open.

versionRequiredinteger

Which close of the month this is: 1 the first time, 2 after one reopening, and so on.

ChecklistItemOut

One task as one month's close asks for it.

NameTypeDescription
assignee_emailRequiredstring or null

The owner's address in these books, when there is an owner.

assignee_idRequiredstring or null

An id that starts with usr_.

blockingRequiredboolean

Whether the month's close waits on it.

close_task_idRequiredstring or null

An id that starts with run_task_.

depends_on_idsRequiredarray of string

The tasks it waits on, by task_id.

detailsRequiredstring or null

How to do it, when the task says.

due_daysRequiredinteger or null

The task's due day, in days after each month ends, or null.

due_onRequiredstring (date) or null

The day it falls due for this month, or null for no due day.

is_overdueRequiredboolean

Not signed off, and its due day has passed.

noteRequiredstring or null

What the person who signed it off wrote beside it: the evidence.

signed_offRequiredboolean

Whether it is signed off for this month.

signed_off_atRequiredstring (date-time) or null

When it was signed off.

signed_off_byRequiredstring or null

An id that starts with usr_.

signed_off_by_emailRequiredstring or null

The address of whoever signed it off, while they are a member of these books.

task_idRequiredstring or null

An id that starts with task_.

titleRequiredstring

The task's title; on a closed month, as it stood when the month closed.

waits_on_idsRequiredarray of string

Of those, the ones not yet signed off this month: until they are, it cannot be.