Skip to navigation

Retrieve an investment income statement

Retrieves a single extracted investment income statement. Requesting a document of any other type returns a 404.

Requires the extractions:read scope. Rate limit: 200 requests per minute per key (the api lane).

Authentication

AuthorizationBearer

Bearer token. Use ss_live_… for live data or ss_test_… for the sandbox (test mode). See Authentication.

Path parameters

borrower_idstringRequired
The borrower's id.
doc_idstringRequired
The document's id.

Headers

SpreadSpace-VersionstringOptionalformat: "^\d{4}-\d{2}-\d{2}$"

Pin the API version, e.g. 2026-10-07. Omit to get the latest. See Versioning.

Response headers

X-Request-IDstringOptional
Correlation ID for this request. Quote it in support tickets.
SpreadSpace-VersionstringOptional

The API surface version the server resolved for this request. Always present, regardless of whether the client supplied the request-side SpreadSpace-Version header. Default: 2026-10-07.

RateLimit-Limitinteger

Request budget of the endpoint’s rate-limit policy per 60-second sliding window. See Rate limits.

RateLimit-Remaininginteger

Requests left in the current window. Suppressed on 429 responses produced outside the rate limiter (for example a usage throttle), where a remaining budget would be misleading.

RateLimit-Resetinteger

Seconds until a guaranteed-fresh window.

RateLimit-PolicystringOptional

The active policy in limit;w=window-seconds form.

Response

OK
entitystring or null
The reporting entity's name as printed, when the page prints one.
titlestring or null
The table's printed title.
periodstring or null
The period wording printed over the table, such as the years ended, when it prints one.
periodslist of objects
The table's figure columns, one entry per column.
columnsinteger>=1
Number of figure columns.
lineslist of objects
The table's printed lines from the first component through net investment income, in print order.
net_investment_incomelist of nullable strings
Net investment income per column.
investment_expenseslist of nullable strings or null

Investment expenses per column, as a negative figure; null in a column where the table prints none.

gross_investment_incomelist of nullable strings or null

Gross investment income per column; null when the table prints no gross investment income line.

net_investment_income_printedlist of enums

How each figure of net_investment_income is printed, per column: money, dash for a printed dash, blank for an empty cell.

Allowed values:
investment_expenses_printedlist of enums

How the investment expenses are printed, per column: dash when every expense cell in the column prints a dash, blank when the column prints none, money otherwise.

Allowed values:
gross_investment_income_printedlist of enums or null

How each figure of gross_investment_income is printed, per column; null when the table prints no gross investment income line.

Allowed values:
statusenum

RECONCILED when the components less the investment expenses reach the printed net investment income and a printed gross investment income line equals the components above it, in every column; FLAGGED otherwise.

Allowed values:
reporting_unitenum
The unit the figures are printed in, such as ones or thousands.
Allowed values:
scale_multiplierinteger>=1

Scale of the printed figures: 1 for whole dollars, 1000 when the table is stated in thousands, 1000000 when it is stated in millions.

billing_yearsinteger
Years of data billed for the table.
cpa_engagementintegerOptional0-3

The accountant’s level of assurance: 0 unaudited, 1 compiled, 2 reviewed, 3 audited.

cpa_engagement_labelstringOptional
The assurance level in words.
presentationenumOptional

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).

Allowed values:
signalslist of objectsOptional
Each check of the table that does not hold, in words, when any does not.
packetobjectOptional
Where the table sat in the financial statement packet it arrived in, when it arrived in one.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error