---
title: "List accounts from a ledger"
method: GET
path: "/v2/{ledger}/accounts"
tags: ["ledger.v2"]
---

# List accounts from a ledger

`GET /v2/{ledger}/accounts`

List accounts from a ledger, sorted by address in descending order.

## Path parameters

- `ledger` string, required

## Query parameters

- `pageSize` integer
- `cursor` string
- `expand` string
- `pit` string, date-time
- `sort` string

## Request body

- object

## Response `200`

OK

- V2AccountsCursorResponse
  - `resource` 'accounts' — The resource type carried by this cursor
  - `cursor` object, required — Paginated cursor wrapping the list of accounts
    - `pageSize` integer, required
    - `hasMore` boolean, required
    - `previous` string
    - `next` string
    - `data` V2Account[], required
      - `address` string, required — The account address, a colon-separated segmented path such as users:001
      - `metadata` object, required — Arbitrary key/value pairs attached to the account. Metadata is bi-temporal, so a point-in-time query returns the metadata as it stood at that time
      - `insertionDate` string, date-time — When the account was first written to the ledger, on the request-time axis
      - `updatedAt` string, date-time — When the account was last modified, for example by a metadata change
      - `firstUsage` string, date-time — Transaction time of the earliest transaction touching this account. Inserting a backdated transaction can move it earlier
      - `volumes` V2Volumes — Volumes per asset for a single account
      - `effectiveVolumes` V2Volumes — Volumes per asset for a single account

## Other responses

- `default` — Error

## Changes

- **2026-02-20** `c0620f81a649` — 1 info
  - added the optional property `resource` to the response with the `200` status
- **2025-12-12** `2945092328b9` — 2 warning
  - added the new `SCHEMA_ALREADY_EXISTS` enum value to the `errorCode` response property for the response status `default`
  - added the new `SCHEMA_NOT_SPECIFIED` enum value to the `errorCode` response property for the response status `default`
- **2025-07-16** `07091e08e779` — 2 info
  - added the optional property `cursor/data/items/insertionDate` to the response with the `200` status
  - added the optional property `cursor/data/items/updatedAt` to the response with the `200` status
- **2025-06-25** `c51f6899d101` — 2 info
  - added the new optional `query` request parameter `sort`
  - added the optional property `cursor/data/items/firstUsage` to the response with the `200` status
- **2025-03-13** `a13b37bacc1f` — 1 breaking
  - request body became required

[Full history](https://skmtc.dev/formancehq/apis/ledger-api/changes/v2/:ledger/accounts/get.md)

---

[API](https://skmtc.dev/formancehq/apis/ledger-api.md) · [All operations](https://skmtc.dev/formancehq/apis/ledger-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/formancehq/ledger-api/revisions/fe945da1b75d/schema)
