---
title: "Read companies general ledger"
method: GET
path: "/accountant/companies/{customerId}/general-ledger"
tags: ["Accountant Portal"]
---

# Read companies general ledger

`GET /accountant/companies/{customerId}/general-ledger`

## Request

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

Generated minimal contract (#1940): parameters, auth, and status codes are authoritative; see the route handler for the exact row shape. `meta.truncated` is emitted for parity with the practice-wide read (#1959) and is always false on this customer-scoped route, which never fans out; its ledger lines are never dropped by a scope lookup.

## Response `200`

Success envelope; `meta.truncated` is present for parity with the practice-wide read and is always false here

- object
  - `success` boolean
  - `data` object[]
  - `meta` AccountantScopeMeta: Completeness of a practice-wide accountant read (#1959).
    - `truncated` boolean: True when at least one assigned customer was dropped from this practice-wide read because its client-status / report-access lookup could not be evaluated, so the payload is short that customer's rows (#1959). A customer deliberately excluded by its client status is not a gap and does not raise this. Always false on the customer-scoped route, which never fans out.

## Other responses

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

---

[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)
