Skip to navigation

Retrieve a comprehensive income statement

Retrieves a single extracted comprehensive 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-07-19. 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-07-19.

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.
titlestring or null
The statement's printed title.
periodstring or null
The period wording printed over the statement, such as the years ended, when it prints one.
periodslist of objects
The statement's figure columns, one entry per column.
columnsinteger>=1
Number of figure columns.
lineslist of objects
The statement's printed lines from net income through comprehensive income and its split, in print order.
net_incomelist of nullable strings
Net income per column.
total_other_comprehensive_incomelist of nullable strings

Total other comprehensive income per column: the printed total, or the total of the items when the statement prints none.

comprehensive_incomelist of nullable strings
Comprehensive income per column.
comprehensive_income_attributable_to_parentlist of nullable strings or null

Comprehensive income attributable to the company per column; null when the statement prints no such line.

comprehensive_income_attributable_to_noncontrollinglist of nullable strings or null

Comprehensive income attributable to the noncontrolling interests per column; null when the statement prints no such line.

net_income_printedlist of enums

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

Allowed values:
total_other_comprehensive_income_printedlist of enums

How each figure of total_other_comprehensive_income is printed, per column.

Allowed values:
comprehensive_income_printedlist of enums

How each figure of comprehensive_income is printed, per column.

Allowed values:
comprehensive_income_attributable_to_parent_printedlist of enums or null

How each figure of the company's share is printed, per column; null when the statement prints no such line.

Allowed values:
comprehensive_income_attributable_to_noncontrolling_printedlist of enums or null

How each figure of the noncontrolling interests' share is printed, per column; null when the statement prints no such line.

Allowed values:
total_other_comprehensive_income_derivedboolean

True when the statement prints no total of other comprehensive income and total_other_comprehensive_income is the total of its items.

nci_directionenum

Whether the noncontrolling interests' line is deducted from (subtract) or added to (add) comprehensive income to reach the company's share, as the statement prints its sign; null when the statement prints no split.

Allowed values:
statusenum

RECONCILED when net income plus other comprehensive income equals comprehensive income, the items add to the printed total and the split nets to the company's share 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 statement is stated in thousands, 1000000 when it is stated in millions.

billing_yearsinteger
Years of data billed for the statement.
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 statement that does not hold, in words, when any does not.
packetobjectOptional
Where the statement 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