Schema Reference
Field-level reference for the canonical SFRS v2 filing model and its legacy compatibility surface.
This page documents the canonical SFRSV2Filing surface first.
If you are working against the older statement-shaped model, treat it as legacy compatibility and prefer the downloadable examples rather than using it as the design source.
Root Object
| Field | Type | Required | Description |
|---|---|---|---|
document | object | Yes | Canonical filing metadata |
entity | object | Yes | Reporting entity and identifiers |
taxonomyRefs | array | Yes | Referenced taxonomies |
contexts | array | Yes | Context definitions used by facts |
units | array | Yes | Reusable unit definitions |
facts | array | Yes | Canonical facts |
footnotes | array | No | Fact-linked footnotes |
relationships | array | No | Semantic relationships |
extensions | array | No | Extension metadata |
views | object | No | Derived convenience views |
document
{
"document": {
"version": "2.0.0",
"documentType": "filing",
"profile": "sec-us-gaap-annual",
"jurisdiction": "US-SEC",
"sourceFormat": "xbrl",
"createdAt": "2026-03-10T00:00:00Z",
"generatedBy": "example-app"
}
}| Field | Type | Required | Description |
|---|---|---|---|
version | string | Yes | Canonical schema version, currently 2.0.0 |
documentType | string | Yes | Currently filing |
profile | string | Yes | Filing profile such as sec-us-gaap-annual |
jurisdiction | string | No | Jurisdiction marker such as US-SEC |
sourceFormat | string | No | sfrs-json, xbrl, ixbrl, manual, or api |
sourceUri | string | No | Source location if known |
createdAt | string | Yes | ISO timestamp |
generatedBy | string | No | Generator or importer name |
checksum | string | No | Optional document checksum |
entity
{
"entity": {
"name": "Acme Corporation",
"jurisdiction": "US-DE",
"identifiers": [
{ "scheme": "cik", "value": "0001234567" },
{ "scheme": "lei", "value": "5493001KJTIIGC8Y1R12" }
]
}
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Legal entity name |
jurisdiction | string | No | Entity jurisdiction |
identifiers | array | Yes | One or more identifier objects |
Each identifier contains:
| Field | Type | Required | Description |
|---|---|---|---|
scheme | string | Yes | lei, cik, isin, ticker, or local |
value | string | Yes | Identifier value |
taxonomyRefs
{
"taxonomyRefs": [
{
"name": "us-gaap",
"version": "2025",
"namespace": "http://fasb.org/us-gaap/2025"
}
]
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Taxonomy name |
version | string | Yes | Taxonomy version |
namespace | string | No | Namespace URI |
entryPoint | string | No | Entry point URI |
contexts
{
"id": "c_duration_2024",
"entityIdentifier": "0001234567",
"period": {
"startDate": "2024-01-01",
"endDate": "2024-12-31"
},
"dimensions": [
{
"axis": "us-gaap:StatementBusinessSegmentsAxis",
"member": "us-gaap:CloudServicesMember"
}
]
}| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Context ID |
entityIdentifier | string | No | Entity ID used in source filing |
period | object | Yes | Instant or duration period |
dimensions | array | No | Explicit or typed dimensions |
period may contain:
instantstartDateendDate
Each dimension may contain:
axismembertypedValue
units
{
"id": "u_usd",
"measures": ["iso4217:USD"]
}| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unit ID |
measures | array | Yes | Unit measures |
divideBy | array | No | Denominator measures for compound units |
facts
{
"id": "f_revenue",
"concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
"contextRef": "c_duration_2024",
"unitRef": "u_usd",
"value": 25000000,
"decimals": -3
}| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Fact ID |
concept | string | Yes | Qualified concept name |
contextRef | string | Yes | Referenced context ID |
unitRef | string | No | Referenced unit ID |
value | primitive or null | No | Fact value |
decimals | number | No | Declared decimals |
precision | number | No | Declared precision |
nil | boolean | No | Nil marker |
language | string | No | Language for text facts |
footnotes
{
"id": "fn_revenue",
"factRefs": ["f_revenue"],
"language": "en",
"content": "Revenue reflects product and services contracts recognized during fiscal year 2024."
}| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Footnote ID |
factRefs | array | Yes | Referenced fact IDs |
language | string | No | Language tag |
content | string | Yes | Footnote text |
relationships
{
"arcrole": "calculation",
"from": "f_liabilities",
"to": "f_assets",
"weight": 1
}| Field | Type | Required | Description |
|---|---|---|---|
arcrole | string | Yes | Relationship type |
from | string | Yes | Source node |
to | string | Yes | Target node |
order | number | No | Ordering hint |
weight | number | No | Calculation weight |
Profiles
The current prerelease profile registry includes:
sec-us-gaap-annualifrs-esef-annual
Profiles are used by validation, export, and package creation.
Legacy Compatibility
Legacy v1 filings are still accepted in parts of the API and codebase, but they are no longer the primary schema reference.
If you need examples for that shape, use: