medianfi-com · Schema

SubLedgerLiabilitiesView

FinanceBookkeepingAIStartupAccounting

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
View JSON Schema on GitHub

JSON Schema

medianfi-com-sub-ledger-liabilities-view-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.