# Get a ledger account

> The ledger.accounts.get operation: GET /api/v1/ledger/accounts/{id} in the REST API and the ledger_accounts_get tool in the MCP server.

Returns one account of the legal entity's ledger by its ID (`acct_…`): code, type, normal side, currency and
balance (integer micros, signed in the account's normal direction), plus its newest transactions
(`recentTransactions`, up to 10). For the full statement, list transactions with
`accountId` (`recentTransactions.url`). An account of another entity or mode is `resource_not_found`.

## At a glance

- **REST:** `GET /api/v1/ledger/accounts/{id}`
- **MCP tool:** `ledger_accounts_get`
- **Operation ID:** `ledger.accounts.get`
- **Scope:** Legal entity
- **Permission:** `ledger:read`
- **Risk tier:** `read`
- **Dry run:** Not supported
- **Idempotency:** Not needed (read only)
- **Modes:** Test and live
- **Authentication:** API key with the `ledger:read` scope
- **Since:** M2

## Request

### Path parameters

| Field | Type        | Description |
| ----- | ----------- | ----------- |
| `id`  | `acct_…` ID |             |

### Query parameters

This operation takes no query parameters.

## Response

`200 OK` with a JSON object:

| Field                                              | Type                                                                                                      | Description                                                                                                          |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `id`                                               | `acct_…` ID                                                                                               |                                                                                                                      |
| `object`                                           | `"ledger_account"`                                                                                        |                                                                                                                      |
| `entityId`                                         | `ent_…` ID                                                                                                |                                                                                                                      |
| `livemode`                                         | boolean                                                                                                   |                                                                                                                      |
| `brandId`                                          | `brd_…` ID or null                                                                                        | The brand of a revenue, deferred revenue or receivables account, or of a customer's account.                         |
| `code`                                             | string                                                                                                    | The account code from the chart of accounts, e.g. `opening_balances:EUR`.                                            |
| `kind`                                             | one of 19 values, e.g. `processor_clearing`, `bank`, `receivable_customers` (all in the OpenAPI document) | What the code names, e.g. `usage_revenue` or `tax_payable`.                                                          |
| `type`                                             | one of `asset`, `liability`, `revenue`, `expense`, `equity`                                               |                                                                                                                      |
| `currency`                                         | string                                                                                                    |                                                                                                                      |
| `normalSide`                                       | one of `debit`, `credit`                                                                                  | The side that increases the balance: debit for assets and expenses, credit for the rest.                             |
| `noNegative`                                       | boolean                                                                                                   | The posted balance can't go below zero.                                                                              |
| `balance`                                          | object                                                                                                    | Integer micros, signed in the normal direction (negative: on the other side). `pending` counts pending transactions. |
| `balance.posted`                                   | integer string                                                                                            |                                                                                                                      |
| `balance.pending`                                  | integer string                                                                                            |                                                                                                                      |
| `createdAt`                                        | date-time                                                                                                 |                                                                                                                      |
| `updatedAt`                                        | date-time                                                                                                 |                                                                                                                      |
| `recentTransactions`                               | object                                                                                                    |                                                                                                                      |
| `recentTransactions.object`                        | `"list"`                                                                                                  |                                                                                                                      |
| `recentTransactions.data`                          | array of object                                                                                           |                                                                                                                      |
| `recentTransactions.data[].id`                     | `txn_…` ID                                                                                                |                                                                                                                      |
| `recentTransactions.data[].object`                 | `"ledger_transaction"`                                                                                    |                                                                                                                      |
| `recentTransactions.data[].entityId`               | `ent_…` ID                                                                                                |                                                                                                                      |
| `recentTransactions.data[].livemode`               | boolean                                                                                                   |                                                                                                                      |
| `recentTransactions.data[].brandId`                | `brd_…` ID or null                                                                                        |                                                                                                                      |
| `recentTransactions.data[].kind`                   | one of 19 values, e.g. `topup`, `sale`, `grant` (all in the OpenAPI document)                             |                                                                                                                      |
| `recentTransactions.data[].status`                 | one of `pending`, `posted`, `voided`                                                                      |                                                                                                                      |
| `recentTransactions.data[].entries`                | array of object                                                                                           |                                                                                                                      |
| `recentTransactions.data[].entries[].accountId`    | `acct_…` ID                                                                                               |                                                                                                                      |
| `recentTransactions.data[].entries[].accountCode`  | string                                                                                                    | The account's code from the chart of accounts.                                                                       |
| `recentTransactions.data[].entries[].side`         | one of `debit`, `credit`                                                                                  |                                                                                                                      |
| `recentTransactions.data[].entries[].amount`       | string                                                                                                    | Integer micros, more than zero.                                                                                      |
| `recentTransactions.data[].entries[].currency`     | string                                                                                                    |                                                                                                                      |
| `recentTransactions.data[].totals`                 | array of object                                                                                           | Debit and credit totals per currency, always equal.                                                                  |
| `recentTransactions.data[].totals[].currency`      | string                                                                                                    |                                                                                                                      |
| `recentTransactions.data[].totals[].debits`        | string                                                                                                    |                                                                                                                      |
| `recentTransactions.data[].totals[].credits`       | string                                                                                                    |                                                                                                                      |
| `recentTransactions.data[].effectiveAt`            | date-time                                                                                                 | The business date of the movement.                                                                                   |
| `recentTransactions.data[].postedAt`               | date-time or null                                                                                         |                                                                                                                      |
| `recentTransactions.data[].voidedAt`               | date-time or null                                                                                         |                                                                                                                      |
| `recentTransactions.data[].reversalOf`             | `txn_…` ID or null                                                                                        | The posted transaction this one reverses.                                                                            |
| `recentTransactions.data[].links`                  | object                                                                                                    | Objects the transaction is about, by ID.                                                                             |
| `recentTransactions.data[].memo`                   | string                                                                                                    | The description; for a manual adjustment, its reason.                                                                |
| `recentTransactions.data[].actor`                  | object                                                                                                    | Who posted it. `approvalId` names the approval request when a second person approved it.                             |
| `recentTransactions.data[].actor.type`             | one of `user`, `api_key`, `agent`, `app`, `system`, `public`, `customer`                                  |                                                                                                                      |
| `recentTransactions.data[].actor.id`               | string                                                                                                    |                                                                                                                      |
| `recentTransactions.data[].actor.via`              | one of `console`, `api`, `mcp`, `assistant`, `portal`, `job` or null                                      |                                                                                                                      |
| `recentTransactions.data[].actor.approvalId`       | string or null                                                                                            |                                                                                                                      |
| `recentTransactions.data[].actor.onBehalfOfUserId` | string or null                                                                                            |                                                                                                                      |
| `recentTransactions.data[].actor.clientId`         | string or null                                                                                            |                                                                                                                      |
| `recentTransactions.data[].actor.supportGrantId`   | string or null                                                                                            |                                                                                                                      |
| `recentTransactions.data[].createdAt`              | date-time                                                                                                 |                                                                                                                      |
| `recentTransactions.has_more`                      | boolean                                                                                                   |                                                                                                                      |
| `recentTransactions.url`                           | string                                                                                                    |                                                                                                                      |

## Examples

### The entity's EUR bank account

```http
GET /api/v1/ledger/accounts/acct_01m4tx5nj8emwbyf7y9vcf47xc
Authorization: Bearer or_test_…
```

Response (`200`):

```json
{
  "id": "acct_01m4tx5nj8emwbyf7y9vcf47xc",
  "object": "ledger_account",
  "entityId": "ent_01m4tx5nj8emwbyf7y9vcf47x2",
  "livemode": true,
  "brandId": null,
  "code": "bank:ent_01m4tx5nj8emwbyf7y9vcf47x2:EUR",
  "kind": "bank",
  "type": "asset",
  "currency": "EUR",
  "normalSide": "debit",
  "noNegative": false,
  "balance": {
    "posted": "1500000000",
    "pending": "0"
  },
  "createdAt": "2026-10-13T12:00:00.000Z",
  "updatedAt": "2026-10-14T09:30:00.000Z",
  "recentTransactions": {
    "object": "list",
    "data": [
      {
        "id": "txn_01m4tx5nj8emwbyf7y9vcf47xg",
        "object": "ledger_transaction",
        "entityId": "ent_01m4tx5nj8emwbyf7y9vcf47x2",
        "livemode": true,
        "brandId": null,
        "kind": "adjustment",
        "status": "posted",
        "entries": [
          {
            "accountId": "acct_01m4tx5nj8emwbyf7y9vcf47xc",
            "accountCode": "bank:ent_01m4tx5nj8emwbyf7y9vcf47x2:EUR",
            "side": "debit",
            "amount": "1500000000",
            "currency": "EUR"
          },
          {
            "accountId": "acct_01m4tx5nj8emwbyf7y9vcf47xd",
            "accountCode": "opening_balances:EUR",
            "side": "credit",
            "amount": "1500000000",
            "currency": "EUR"
          }
        ],
        "totals": [
          {
            "currency": "EUR",
            "debits": "1500000000",
            "credits": "1500000000"
          }
        ],
        "effectiveAt": "2026-10-14T09:30:00.000Z",
        "postedAt": "2026-10-14T09:30:00.000Z",
        "voidedAt": null,
        "reversalOf": null,
        "links": {},
        "memo": "Opening bank balance from the 2026-09-30 statement",
        "actor": {
          "type": "user",
          "id": "usr_01m4tx5nj8emwbyf7y9vcf47xa",
          "via": "console",
          "approvalId": "apr_01m4tx5nj8emwbyf7y9vcf47xj",
          "onBehalfOfUserId": null,
          "clientId": null,
          "supportGrantId": null
        },
        "createdAt": "2026-10-14T09:30:00.000Z"
      }
    ],
    "has_more": false,
    "url": "/api/v1/ledger/transactions?accountId=acct_01m4tx5nj8emwbyf7y9vcf47xc"
  }
}
```

## Errors

| Code                                                                                     | HTTP status | When                                                                       | What to do                                                                                                                                         |
| ---------------------------------------------------------------------------------------- | ----------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`resource_not_found`](https://ownrecord.io/docs/reference/errors.md#resource_not_found) | 404         | No account with this ID is in this entity's ledger in this mode.           | Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.                                               |
| [`scope_required`](https://ownrecord.io/docs/reference/errors.md#scope_required)         | 400         | The request names no legal entity (an org key without `Ownrecord-Entity`). | Call the operation with credentials or a target at its level: an organization, a legal entity, a brand or the platform (`details.required_scope`). |
| [`permission_denied`](https://ownrecord.io/docs/reference/errors.md#permission_denied)   | 403         | You can't see this entity's ledger (brand-scoped members never can).       | Ask an organization owner or admin for a role or scope that allows this action.                                                                    |

It can also return these [common errors](https://ownrecord.io/docs/reference.md#common-errors): [`validation_failed`](https://ownrecord.io/docs/reference/errors.md#validation_failed), [`api_version_unsupported`](https://ownrecord.io/docs/reference/errors.md#api_version_unsupported), [`authentication_required`](https://ownrecord.io/docs/reference/errors.md#authentication_required), [`api_key_invalid`](https://ownrecord.io/docs/reference/errors.md#api_key_invalid), [`dry_run_not_supported`](https://ownrecord.io/docs/reference/errors.md#dry_run_not_supported), [`rate_limited`](https://ownrecord.io/docs/reference/errors.md#rate_limited), [`internal_error`](https://ownrecord.io/docs/reference/errors.md#internal_error).
