---
title: "Assets sub-ledger view (accountant mirror)"
method: GET
path: "/accountant/companies/{customerId}/sub-ledgers/assets"
tags: ["Sub-Ledgers"]
---

# Assets sub-ledger view (accountant mirror)

`GET /accountant/companies/{customerId}/sub-ledgers/assets`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/accountant/companies/{customerId}/sub-ledgers/assets`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Accountant-scoped mirror of `GET /companies/{companyId}/sub-ledgers/assets`. Same payload shape for the same company; requires the accountant to be assigned to the customer (403 otherwise). Unlike the customer route (which reads today's balances, #2411), balance-sheet figures here use the last closed GL period, and `asOf` is that period's end date or null. All amounts in cents. Posted-only.

## Query parameters

- `entityId` string, uuid

## Response `200`

Assets sub-ledger payload

- object
  - `success` boolean
  - `data` SubLedgerAssetsView
    - `companyId` string, uuid, required
    - `entityId` string, uuid, required
    - `asOf` string, date, nullable, required: 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.
    - `current` object, required
      - `totalCents` integer, required: Sum of signed GL balances for current (non-fixed) Asset accounts. Ties to /reports/balance-sheet current assets total within 1 cent.
      - `byAccount` SubLedgerCurrentAssetRow[], required
        - `glAccountId` string, uuid, required
        - `name` string, required
        - `code` string, nullable
        - `balanceCents` integer, required
    - `fixed` object, required
      - `netBookValueCents` integer, required: Sum of signed GL balances on fixed-asset accounts (cost accounts positive, contra-asset accum-dep accounts negative). Ties to /reports/balance-sheet fixed-asset total within 1 cent.
      - `originalCostCents` integer, nullable, required: null while the fixed-asset register lacks legal-entity authority.
      - `accumDepreciationCents` integer, nullable, required: null while the fixed-asset register lacks legal-entity authority.
      - `activeCount` integer, nullable, required: null while the fixed-asset register lacks legal-entity authority.
      - `register` FixedAssetRegisterEntry[], nullable, required
        - `assetId` string, required
        - `name` string, required
        - `originalCostCents` integer, required
        - `inServiceDate` string, date, required
        - `usefulLifeMonths` integer, required
        - `status` 'active' | 'retired', required
        - `glAssetAccountId` string, uuid, nullable
        - `latestScheduleEntry` FixedAssetDepreciationEntry
          - `assetId` string, required
          - `month` string, date, required
          - `depreciationCents` integer, required
          - `accumulatedCents` integer, required
          - `netBookValueCents` integer, required
      - `registerUnavailableReason` 'fixed_asset_register_not_entity_scoped', required
      - `byAccount` SubLedgerAccountRow[]: Posted fixed-asset and accumulated-depreciation accounts; they net to netBookValueCents.
        - `glAccountId` string, required
        - `name` string, required
        - `code` string, nullable, required
        - `balanceCents` integer, required
    - `prepaid` object, required
      - `totalCents` integer, nullable, required: null when no entity-keyed schedule authority is available.
      - `schedules` PrepaidAmortSchedule[], required
        - `scheduleId` string, required
        - `sourceEventId` string, required
        - `kind` 'prepaid_amortization', required
        - `totalAmountCents` integer, required
        - `remainingPeriods` integer, required
        - `startDate` string, date, required
        - `endDate` string, date, required
        - `currency` string, nullable, required
        - `sourceLabel` string, nullable, required: Customer-safe lineage label. Never contains confidence or routing metadata.
        - `sourceLink` ScheduleSourceLink, required
          - `kind` 'transaction' | 'document' | 'ar_item' | 'ap_item', required
          - `id` string, required
        - `entries` PrepaidAmortScheduleEntry[], required
          - `sequenceNum` integer, required
          - `scheduledDate` string, date, required
          - `amountCents` integer, required
          - `status` string, required
      - `runOffUnavailableReason` 'no_active_schedules' | 'not_available_for_books' | 'schedule_authority_not_entity_scoped' | 'null', nullable, required: 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.
      - `postedBalanceCents` integer: Posted balance of prepaid accounts (detail type or name), available whether or not schedules are.
      - `byAccount` SubLedgerAccountRow[]
        - `glAccountId` string, required
        - `name` string, required
        - `code` string, nullable, required
        - `balanceCents` integer, required
    - `inventory` unknown, required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
