> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.spreadspace.app/api/api-reference/equity-statements/object/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.spreadspace.app/_mcp/server.
# The Equity Statement object
> The extracted statement of changes in equity: its columns, rows and checks as the readers return them.
An extracted statement of changes in equity.
The retrieve endpoint returns this object on its own. The list endpoint
returns one per document, wrapped as
`{ "borrower_id": …, "statements": [ { "extracted_document_id", "document_category", "report_data" } ] }`.
## Explore
[Retrieve an equity statement](/api/api-reference/equity-statements/get-equity-statement)
GET`/api/borrowers/:borrower_id/extractions/:doc_id/equity-statement`
[List all equity statements](/api/api-reference/equity-statements/get-equity-statements)
GET`/api/borrowers/:borrower_id/extractions/equity-statements`
`columns` names the statement's figure columns in print order and `rows`
carries its balances and movements, each with one entry in `values` and one in
`printed` per column. A cell printed as money is a string with exactly two
decimals, except under a par value column, which keeps its printed figure; a
share count is a whole number as text. `status` and `signals` say whether the
statement adds up.
The documents behind this object carry `document_category` `equity_statement`, `statement_of_equity`, `statement_of_stockholders_equity` or `statement_of_changes_in_equity`. Money keys are JSON strings with exactly two decimals (`"9200000.00"`, `"-1250.50"`). Date keys are `YYYY-MM-DD`, as each key's Type column shows.
## Fields
| Key | Type | Present when | Description |
| ---------------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity` | string, nullable | Always | The reporting entity's name as printed. |
| `title` | string, nullable | Always | The statement's printed title. |
| `layout` | string, one of `matrix`, `vertical` | Always | How the statement is laid out: `matrix` when the equity components run across as columns and the balances and movements run down as rows; `vertical` when the periods run across as columns. |
| `period_header` | string | Always | The period wording printed over the statement, such as the years ended; empty when the statement prints none. |
| `cpa_engagement` | integer | Always | The accountant's level of assurance: 0 unaudited, 1 compiled, 2 reviewed, 3 audited. |
| `cpa_engagement_label` | string | Always | The assurance level in words. |
| `presentation` | string, one of `formal`, `free_form` | On a statement extracted with its presentation read; absent on an older extraction. | How the statement is presented: `formal` when it is presented as issued financial statements; `free_form` when it is a report out of the books (accounting software or a spreadsheet). |
| `periods` | array of objects | Always | The periods the statement covers, one entry per period. |
| `billing_years` | integer | Always | Years of data billed for the statement. |
| `reporting_unit` | string, one of `ones`, `thousands`, `millions`, `billions` | Always | The unit the figures are printed in, such as ones or thousands. |
| `scale_multiplier` | integer | Always | Scale of the printed figures: 1 for whole dollars, 1000 when the statement is stated in thousands, 1000000 when it is stated in millions. |
| `unit_exceptions` | array of string | Always | The carve-outs the statement's unit declaration lists, such as share data, which keep their printed figures; empty when it lists none. |
| `unit_source` | string, one of `printed`, `none` | Always | Where the statement states its unit: `printed` when the statement header, a column header or a heading line prints it; `none` when nothing is printed and the figures are whole dollars as printed. |
| `columns` | array of objects | Always | The statement's figure columns in print order. |
| `total_column` | integer, nullable | Always | Position in `columns`, counting from zero, of the column that prints the total of the components; null when the statement has none. |
| `rows` | array of objects | Always | The statement's rows in print order. |
| `status` | string, one of `RECONCILED`, `FLAGGED` | Always | `RECONCILED` when every row's components add to its printed total and every opening balance plus the period's movements equals the closing balance; `FLAGGED` otherwise. |
| `signals` | array of objects | When the document states it | Each check of the statement that does not hold, in words, when any does not. |
| `packet` | object | When the document states it | Where the statement sat in the financial statement packet it arrived in, when it arrived in one. |
## `periods[]`
One period the statement covers.
| Key | Type | Present when | Description |
| ------- | ----------------------------- | ------------ | ------------------------------------------------------- |
| `label` | string, nullable | Always | The period as printed, such as a year. |
| `start` | string (YYYY-MM-DD), nullable | Always | First day of the period, when the statement states one. |
| `end` | string (YYYY-MM-DD), nullable | Always | Last day of the period, when the statement states one. |
## `columns[]`
One figure column.
| Key | Type | Present when | Description |
| ------- | ---------------------------------------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `label` | string, nullable | Always | The column heading as printed. |
| `group` | string, nullable | Always | The heading printed over a group of columns, such as a class of stock, when the column sits under one. |
| `kind` | string, one of `money`, `total`, `shares`, `par`, `period` | Always | What the column holds: `money` for an equity component in dollars, `total` for the total of the components, `shares` for a share count, `par` for a par value per share as printed, `period` for a period's figures on a vertical statement. |
## `rows[]`
One printed row.
| Key | Type | Present when | Description |
| ----------- | ---------------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kind` | string, one of `balance`, `movement`, `header`, `note` | Always | `balance` for a balance at a date, `movement` for a change during a period, `header` for a caption that prints no figures, `note` for a sentence printed among the rows. |
| `label` | string | Always | The row's caption as printed. |
| `date` | string (YYYY-MM-DD), nullable | Always | The date a balance row states, when it states one; null on every other row. |
| `block` | integer, nullable | Always | The roll-forward the row belongs to, numbered from zero in print order: an opening balance, the period's movements and the closing balance share one number. Null on a row outside every roll-forward. |
| `opens` | integer, nullable | Always | On a balance row, the number of the roll-forward it opens; null otherwise. |
| `closes` | integer, nullable | Always | On a balance row, the number of the roll-forward it closes; null otherwise. |
| `component` | string, nullable | Always | On a vertical statement, the equity component the row belongs to, as its caption prints it; null otherwise. |
| `values` | array of string or null | Always | The row's figure per column, in `columns` order; null where the cell is blank. A cell printed as money is a decimal string with exactly two decimals, in dollars, except under a par value column, which keeps its printed figure. A share count is a whole number as text, and a printed dash reads `0`. |
| `printed` | array of string, one of `money`, `dash`, `shares`, `blank` | Always | How each cell is printed, in `columns` order: `money`, `shares` for a share count, `dash` for a printed dash, `blank` for an empty cell. |
## `signals[]`
A check of the statement that does not hold, or a note about its reporting period.
| Key | Type | Present when | Description |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ----------------------------------------------- |
| `severity` | string, one of `info`, `warn` | Always | How much weight the note carries: info or warn. |
| `code` | string, one of `coverage_unreadable`, `equity_rollforward_mismatch`, `equity_row_footing_mismatch`, `no_reporting_period`, `year_from_file_metadata`, `year_from_filename`, `year_from_page_image`, `year_matches_print_stamp` | Always | The note's identifier. |
| `detail` | string | Always | The note in words. |
## `packet`
Where the statement sat in the financial statement packet it arrived in, when it arrived in one.
| Key | Type | Present when | Description |
| --------------- | ----------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `section_index` | integer | Always | Position of the statement among the packet's statements, counting from zero. |
| `pages` | array of integer | Always | First and last page of the statement within the packet, counting from one. |
| `letter_date` | string (YYYY-MM-DD), nullable | Always | Date of the accountant's letter that accompanied the packet, when the letter printed one. |
| `letter_page` | integer, nullable | Always | Page of the packet the accountant's letter is on, when the packet carries one. |
| `page_list` | array of integer | On a statement whose pages in the packet are not one unbroken run; absent otherwise. | Every page of the packet the statement is printed on, counting from one, when they are not one unbroken run; absent otherwise. |
> The extracted statement of changes in equity: its columns, rows and checks as the readers return them.