Properties
| Name | Type | Description |
|---|---|---|
| companyId | string | |
| entityId | string | |
| asOf | stringnull | Cutoff for every balance-sheet figure. The customer route returns today (UTC); the accountant mirror returns the last closed GL period's end date, or null when none is closed. |
| totals | object | |
| balanceSheetLiabilities | arraynull | Every non-zero liability line on the balance sheet at the same cutoff, largest first (including lines no tab details, e.g. a SAFE). |
| debt | object | |
| leases | object | |
| deferred | object | |
| accrued | object | |
| equity | object | |
| tax | object | Sales-tax pairing (payable ↔ 1210 held asset). null when no account in the COA is identifiable as sales-tax payable; see taxUnavailableReason. |
| taxUnavailableReason | stringnull | Set when a code-2200 liability account exists but is not a sales-tax account (in practice a named credit card, #2000). Callers must render a named-unavailable state instead of captioning that balance |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/medianfi-com/json-schema/medianfi-com-sub-ledger-liabilities-view-schema.json",
"title": "SubLedgerLiabilitiesView",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/medianfi-com-openapi.json#/components/schemas/SubLedgerLiabilitiesView",
"type": "object",
"required": [
"companyId",
"entityId",
"asOf",
"totals",
"debt",
"leases",
"deferred",
"accrued",
"equity"
],
"properties": {
"companyId": {
"type": "string",
"format": "uuid"
},
"entityId": {
"type": "string",
"format": "uuid"
},
"asOf": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Cutoff for every balance-sheet figure. The customer route returns today (UTC); the accountant mirror returns the last closed GL period's end date, or null when none is closed."
},
"totals": {
"type": "object",
"required": [
"totalLiabilitiesCents",
"totalEquityCents"
],
"properties": {
"totalLiabilitiesCents": {
"type": "integer",
"description": "Sum of signed GL balances for all Liability accounts. Ties to /reports/balance-sheet totalLiabilities within 1 cent.\n"
},
"totalEquityCents": {
"type": "integer",
"description": "Sum of signed GL balances for all Equity accounts. Omits earnings not yet closed to retained earnings; see balanceSheetEquityCents."
},
"balanceSheetEquityCents": {
"type": [
"integer",
"null"
],
"description": "Total equity from the balance sheet at the same cutoff, including prior- and current-year earnings not yet closed (#1994). Null when the balance sheet could not be read."
},
"balanceSheetLiabilitiesCents": {
"type": [
"integer",
"null"
],
"description": "Total liabilities from the same balance-sheet read, so a caption built from it and balanceSheetEquityCents sums to total assets."
}
}
},
"balanceSheetLiabilities": {
"type": [
"array",
"null"
],
"description": "Every non-zero liability line on the balance sheet at the same cutoff, largest first (including lines no tab details, e.g. a SAFE).",
"items": {
"$ref": "#/$defs/SubLedgerAccountRow"
}
},
"debt": {
"type": "object",
"required": [
"totalCents",
"loans",
"loansUnavailableReason",
"creditCards"
],
"properties": {
"totalCents": {
"type": "null"
},
"loans": {
"type": "null"
},
"loansUnavailableReason": {
"type": "string",
"enum": [
"loan_register_not_entity_scoped"
]
},
"creditCards": {
"type": "array",
"items": {
"$ref": "#/$defs/CreditCardDebtEntry"
}
},
"loanAccounts": {
"type": "array",
"description": "Posted loan, note and line-of-credit accounts (no cards, no SAFEs).",
"items": {
"$ref": "#/$defs/SubLedgerAccountRow"
}
},
"postedBalanceCents": {
"type": "integer",
"description": "Credit cards plus loan accounts, from the ledger."
}
}
},
"leases": {
"type": "object",
"required": [
"totalCents",
"entries",
"runOffUnavailableReason"
],
"properties": {
"totalCents": {
"type": [
"integer",
"null"
]
},
"entries": {
"type": "array",
"items": {
"$ref": "#/$defs/LeaseEntry"
}
},
"runOffUnavailableReason": {
"$ref": "#/$defs/ScheduleRunOffUnavailableReason"
},
"postedBalanceCents": {
"type": "integer",
"description": "Posted balance of lease-liability accounts."
}
}
},
"deferred": {
"type": "object",
"required": [
"totalCents",
"monthlyRollup",
"schedules",
"runOffUnavailableReason"
],
"properties": {
"totalCents": {
"type": [
"integer",
"null"
],
"description": "Closing balance of the deferred revenue roll-up (last row's closingCents)."
},
"monthlyRollup": {
"type": "array",
"maxItems": 12,
"description": "Up to 12 months ending in the asOf month from entity-keyed schedules; empty when schedule authority is not entity-scoped.\n",
"items": {
"$ref": "#/$defs/DeferredRevenueMonthRow"
}
},
"schedules": {
"type": "array",
"description": "Active persisted deferred-revenue schedules, including posted and upcoming runs.",
"items": {
"$ref": "#/$defs/ScheduleRunOffSchedule"
}
},
"runOffUnavailableReason": {
"$ref": "#/$defs/ScheduleRunOffUnavailableReason"
},
"postedBalanceCents": {
"type": "integer",
"description": "Posted deferred-revenue balance (detail type or name), available whether or not schedules are."
},
"byAccount": {
"type": "array",
"items": {
"$ref": "#/$defs/SubLedgerAccountRow"
}
}
}
},
"accrued": {
"type": "object",
"required": [
"totalCents",
"byAccount",
"schedules",
"runOffUnavailableReason"
],
"properties": {
"totalCents": {
"type": "integer"
},
"byAccount": {
"type": "array",
"items": {
"type": "object",
"required": [
"glAccountId",
"name",
"balanceCents"
],
"properties": {
"glAccountId": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"code": {
"type": [
"string",
"null"
]
},
"balanceCents": {
"type": "integer"
}
}
}
},
"schedules": {
"type": "array",
"description": "Pending reversal schedules only after the paired accrual has posted by the Books cutoff. Never forecasts an unposted accrual.\n",
"items": {
"$ref": "#/$defs/ScheduleRunOffSchedule"
}
},
"runOffUnavailableReason": {
"$ref": "#/$defs/ScheduleRunOffUnavailableReason"
}
}
},
"equity": {
"type": "object",
"required": [
"totalCents",
"byAccount"
],
"properties": {
"totalCents": {
"type": "integer"
},
"byAccount": {
"type": "array",
"items": {
"type": "object",
"required": [
"glAccountId",
"name",
"balanceCents"
],
"properties": {
"glAccountId": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"code": {
"type": [
"string",
"null"
]
},
"balanceCents": {
"type": "integer"
}
}
}
},
"balanceSheetRows": {
"type": [
"array",
"null"
],
"description": "Balance-sheet equity rows at the same cutoff, including the synthetic prior-year and current-year earnings rows.",
"items": {
"$ref": "#/$defs/SubLedgerAccountRow"
}
}
}
},
"tax": {
"oneOf": [
{
"$ref": "#/$defs/SalesTaxEntry"
},
{
"type": "null"
}
],
"description": "Sales-tax pairing (payable ↔ 1210 held asset). null when no account in the COA is identifiable as sales-tax payable; see taxUnavailableReason.\n"
},
"taxUnavailableReason": {
"type": [
"string",
"null"
],
"enum": [
"sales_tax_account_not_identifiable",
null
],
"description": "Set when a code-2200 liability account exists but is not a sales-tax account (in practice a named credit card, #2000). Callers must render a named-unavailable state instead of captioning that balance as tax owed to authorities. Null when tax is populated, and also null when the COA simply has no 2200 account at all.\n"
}
},
"$defs": {
"CreditCardDebtEntry": {
"type": "object",
"required": [
"glAccountId",
"name",
"balanceCents",
"monthlyInterestCents",
"aprUsed",
"interestUnavailableReason"
],
"properties": {
"glAccountId": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"balanceCents": {
"type": "integer"
},
"monthlyInterestCents": {
"type": "null",
"description": "Unavailable until an authoritative APR or charge feed exists."
},
"aprUsed": {
"type": "null",
"description": "No APR is inferred from GL account metadata or defaults."
},
"interestUnavailableReason": {
"type": "string",
"enum": [
"credit_card_apr_not_available"
]
}
}
},
"DeferredRevenueMonthRow": {
"type": "object",
"required": [
"month",
"additionsCents",
"recognizedCents",
"closingCents"
],
"properties": {
"month": {
"type": "string",
"description": "Month label in YYYY-MM format"
},
"additionsCents": {
"type": "integer",
"description": "New deferred revenue booked in this month across all schedules."
},
"recognizedCents": {
"type": "integer",
"description": "Revenue recognized (posted) in this month."
},
"closingCents": {
"type": "integer",
"description": "Running balance of additions minus recognized through this month."
}
}
},
"LeaseEntry": {
"type": "object",
"required": [
"scheduleId",
"sourceEventId",
"leaseType",
"totalAmountCents",
"remainingPeriods",
"startDate",
"endDate",
"monthlyPaymentCents"
],
"properties": {
"scheduleId": {
"type": "string"
},
"sourceEventId": {
"type": "string"
},
"leaseType": {
"type": "string",
"enum": [
"operating",
"finance"
]
},
"totalAmountCents": {
"type": "integer"
},
"remainingPeriods": {
"type": "integer"
},
"startDate": {
"type": "string",
"format": "date"
},
"endDate": {
"type": "string",
"format": "date"
},
"monthlyPaymentCents": {
"type": "integer"
}
}
},
"PrepaidAmortScheduleEntry": {
"type": "object",
"required": [
"sequenceNum",
"scheduledDate",
"amountCents",
"status"
],
"properties": {
"sequenceNum": {
"type": "integer"
},
"scheduledDate": {
"type": "string",
"format": "date"
},
"amountCents": {
"type": "integer"
},
"status": {
"type": "string"
}
}
},
"SalesTaxEntry": {
"type": "object",
"required": [
"payableGlAccountId",
"payableAccountName",
"payableBalanceCents",
"heldAssetGlAccountId",
"heldAssetBalanceCents",
"heldAssetUnavailableReason"
],
"properties": {
"payableGlAccountId": {
"type": "string",
"format": "uuid",
"description": "The sales-tax payable GL account, resolved by account name/subtype rather than by code. Code 2200 is the seeded credit-card code, so it is never sufficient on its own (#2000).\n"
},
"payableAccountName": {
"type": "string",
"description": "Name of the resolved account, so the caption can be audited against the source."
},
"payableBalanceCents": {
"type": "integer"
},
"heldAssetGlAccountId": {
"type": [
"string",
"null"
],
"format": "uuid",
"description": "GL account 1210 if it exists; null when no posted held-asset account exists."
},
"heldAssetBalanceCents": {
"type": [
"integer",
"null"
],
"description": "Posted balance of the held-asset account; never inferred from the payable."
},
"heldAssetUnavailableReason": {
"type": [
"string",
"null"
],
"enum": [
"held_asset_account_not_available",
null
],
"description": "Explicit reason the held-asset balance is unavailable. Null when a real 1210 account and its posted balance are present.\n"
}
}
},
"ScheduleRunOffSchedule": {
"type": "object",
"required": [
"scheduleId",
"kind",
"totalAmountCents",
"remainingPeriods",
"startDate",
"endDate",
"currency",
"sourceLabel",
"sourceLink",
"entries"
],
"properties": {
"scheduleId": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"prepaid_amortization",
"deferred_revenue_recognition",
"accrual_reversal"
]
},
"totalAmountCents": {
"type": "integer"
},
"remainingPeriods": {
"type": "integer",
"minimum": 0
},
"startDate": {
"type": "string",
"format": "date"
},
"endDate": {
"type": "string",
"format": "date"
},
"currency": {
"type": [
"string",
"null"
],
"pattern": "^[A-Z]{3}$"
},
"sourceLabel": {
"type": [
"string",
"null"
],
"description": "Customer-safe lineage label. Never contains confidence or routing metadata."
},
"sourceLink": {
"oneOf": [
{
"$ref": "#/$defs/ScheduleSourceLink"
},
{
"type": "null"
}
]
},
"entries": {
"type": "array",
"items": {
"$ref": "#/$defs/PrepaidAmortScheduleEntry"
}
}
}
},
"ScheduleRunOffUnavailableReason": {
"type": [
"string",
"null"
],
"enum": [
"no_active_schedules",
"not_available_for_books",
"schedule_authority_not_entity_scoped",
null
],
"description": "null when persisted run-off schedules are available. no_active_schedules means the Books cutoff has no active persisted schedule. not_available_for_books means the required durable schedule read model is not active for these books. schedule_authority_not_entity_scoped means only a company-wide legacy source exists.\n"
},
"ScheduleSourceLink": {
"type": "object",
"required": [
"kind",
"id"
],
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"transaction",
"document",
"ar_item",
"ap_item"
]
},
"id": {
"type": "string"
}
}
},
"SubLedgerAccountRow": {
"type": "object",
"description": "One posted GL account balance, signed by the balance sheet's rule. Balance-sheet synthetic rows (unclosed earnings) carry `glAccountId` = `synthetic:<kind>` and `code` null.",
"required": [
"glAccountId",
"name",
"code",
"balanceCents"
],
"properties": {
"glAccountId": {
"type": "string"
},
"name": {
"type": "string"
},
"code": {
"type": [
"string",
"null"
]
},
"balanceCents": {
"type": "integer"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/medianfi-com-sub-ledger-liabilities-view"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.