SureshakeDocs
API ReferenceEndpoints

SFRS Endpoints

Read SFRS-normalized financial statements and introspect the governed concept nomenclature behind them.

SFRS — the open Sureshake Financial Reporting Standard — is the normalized financial substrate behind Sureshake's models, comparisons, and terminal data. These endpoints let you read a company's SFRS statements and introspect the concept registry that defines what every line means.

All three endpoints are public reads: statement data derives from SEC filings, and the registry is the open standard's published nomenclature (governed at github.com/sureshake/sfrs).

List Registry Concepts

Every SFRS line resolves to a governed concept: an ID, definition, role, and ordered XBRL mapping chain. Use this to interpret statement payloads, build integrations against stable line names, or map your own data into SFRS.

GET/v2/sfrs/concepts
curl "https://api.sureshake.com/v2/sfrs/concepts?status=active&taxonomy=us-gaap"
200 OK
{
"data": [
  {
    "id": "revenue",
    "label": "Revenue",
    "definition": "The total amount of income generated by the sale of goods or services related to the company's primary operations.",
    "dataType": "monetary",
    "periodType": "duration",
    "balance": "credit",
    "status": "active",
    "role": "reported",
    "prevalence": "universal",
    "snakeKey": "revenue",
    "rollup": null,
    "derivation": null,
    "sourceability": ["sec-edgar", "accounting-connector", "form-c-ar", "manual"],
    "mappings": [
      { "taxonomy": "us-gaap", "version": "2025", "xbrlConcept": "RevenueFromContractWithCustomerExcludingAssessedTax" },
      { "taxonomy": "us-gaap", "version": "2024", "xbrlConcept": "Revenues" }
    ]
  }
],
"meta": {
  "registryVersion": "1.2.0",
  "standardVersion": "0.2.0",
  "registrySha256": "e9514a07839a23d1…",
  "count": 91
}
}

Query parameters: status (active | deprecated | proposed), role (reported | subtotal | derived), taxonomy (e.g. us-gaap, ifrs-full, dei — only concepts with a mapping in that taxonomy).

Reading a concept:

  • rolereported values come straight from the source; subtotal concepts declare their arithmetic in rollup (value = Σ weight × concept); derived concepts are computed by convention.
  • derivation — alternate sourcing arithmetic used when no direct tag resolves. Example: many filers never tag total liabilities directly, so totalLiabilities derives as liabilitiesAndStockholdersEquitytotalStockholdersEquity.
  • prevalenceuniversal concepts appear in effectively every commercial filing; conditional concepts appear when applicable (e.g. preferred stock, discontinued operations).
  • mappings — ordered by preference; the first tag that resolves in a source filing wins.

List Runtime Schema Versions

The platform validates filed documents against versioned, hash-pinned schema artifacts. Use this to see which schema versions exist, which are active, and the canonical source each was ingested from.

GET/v2/sfrs/schemas
curl "https://api.sureshake.com/v2/sfrs/schemas?activeOnly=true"
200 OK
{
"data": [
  {
    "schemaType": "income_statement",
    "schemaVersion": "2.0.0",
    "schemaSha256": "1d4fa584c93bca9d…",
    "canonicalSourceUrl": "https://github.com/sureshake/sfrs/releases/tag/v0.2.0#schemas/core/filing.schema.json",
    "isActive": false,
    "ingestedAt": "2026-07-27T19:40:20.943Z"
  }
],
"meta": { "count": 8 }
}

A schemaSha256 is an integrity digest of the canonical schema body: it proves an artifact hasn't changed, not that any document validated against it is financially correct.

Get SFRS Statements for a Company

Converts a public company's canonical SEC EDGAR fiscal periods into SFRS statements.

GET/v2/entities/:id/sfrs-statements
curl "https://api.sureshake.com/v2/entities/8f2349ef.../sfrs-statements"

Reading statement responses

Each period's statements report a conversion status you must respect:

  • converted — the strict payload validated against the registered schema version (sfrsSchemaId/sfrsVersion).
  • incomplete — the source could not faithfully fill every required field. The gaps are listed in missingFields; values are never estimated to force completeness.
  • fields — line-level observed values (decimal strings), present even when the strict document is incomplete. Analysis consumes fields; strictness belongs to filed documents. A null line means the source could not faithfully fill it — treat it as missing, never as zero.

Multi-source metadata

Responses may carry additive source metadata:

  • dataPathpersisted: served from the multi-source SFRS substrate. (The legacy computed on-the-fly path was retired once the substrate was fully backfilled.)
  • periods[].source / periods[].sources — on the persisted path, the winning source for each period (highest precedence rank: audited 100 > regulator 80 > connector 60 > manual 40) plus every contributing source, so source disagreement is visible rather than silently resolved.

The nomenclature behind every line is queryable at GET /v2/sfrs/concepts. If converted SFRS data ever disagrees with EDGAR, the SEC source filing controls.

On this page