Skip to main content
client.workspaces.startLedgerUnderstanding measures the workspace’s ingested journal package — table roles, integrity, open questions, and optional GL parsing — and returns a Job whose result is a LedgerUnderstandingResult. client.workspaces.getLedgerUnderstanding reads the latest report without starting a run. A sibling of journal-entry testing, not a search. JET tests a criterion over the package; this reads the package so later tests start from a settled census. Without force, an unchanged package republishes the stored report instead of scanning again.
LedgerUnderstandingResult is reachable as models.LedgerUnderstandingResult, the same way models.JetResult is. With the llm engine, package_confirmation: "required" (the default) stops discovery at source review: a person confirms the package and its columns before GL parsing runs. If the run later settles different columns, or the selection was confirmed by a model, parsing is skipped and report.parsing.confirmation_required lists the changes; confirm report.settled_structure as a structure review to parse. With package_confirmation: "automatic", discovery can confirm a package and start its measured run automatically. When the result has follow_up_job_id, wait for that job before reading the final analysis. report.proposals.auto_confirmation explains the confirmation or why review is needed. report.auto_decisions records model choices, suggestions, and validation refusals; measured evidence still controls parsing.

Method signature

Parameters

Returns

A Job whose result is a LedgerUnderstandingResult (result_type is ledger_understanding). The report also lives on result.report.

Read the latest report

GET returns the report itself, not a job. stale is true when the package has moved since this reading. A workspace that has never produced a report raises 404 ledger_understanding_not_found. For a confirmed source selection, pass the same selection_id to start and read.

Confirm sources

listLedgerSources is the review catalog. Pass review_reading_id from a reading that asked for source selection. selectLedgerSources freezes a primary and supporting sources against that catalog revision. Use the returned selection_id on start and get.

Workspace policy

create and update accept a ledger_understanding block. Updating replaces the block whole. package_scope: { path_prefix: "engagement" } sets the default for automatic runs, reads and reviews. Empty request selectors use this default. Read a per-request package with the same selectors used to start it. See package scope and parse coverage. A document-only corpus with trigger: "auto" never starts a run: the predicate is over sidecars ingestion already wrote. When ingestion does chain a run, IngestionResult.ledger_understanding_job_id names it. Poll that id with jobs.wait.

Reading the report

Conflicts

A second startLedgerUnderstanding while a run is already in flight returns 409 ledger_understanding_in_progress. Wait for the in-flight job, or read the current report with getLedgerUnderstanding. See Workspaces and the ledger-understanding API reference.