---
title: "List Platform Ledger Entries"
method: GET
path: "/payables/platform_ledger"
tags: ["Platform Ledger"]
---

# List Platform Ledger Entries

`GET /payables/platform_ledger`

## Request

- Base URL: `https://api.justifi.ai/v1`
- URL: `https://api.justifi.ai/v1/payables/platform_ledger`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/justifi/apis/justifi-api-documentation/docs/payables/platform_ledger/get.ts> (a function with typed inputs; its response is checked against the schema)

List the platform's ledger entries — one per fee the platform earned, per JustiFi fee (payment,
return handling, NOC handling), or per `settlement` paying the platform its balance, each
referencing its source. Read-only and append-only; scoped to the platform your credentials belong to.

The platform's outstanding balance is the **sum** of these entries; a `settlement` nets it toward
zero. Optionally narrow to a window (`created_after`/`created_before`), a `txn_type`, or whether the
entry has been settled (`settled`).

## Query parameters

- `after_cursor` string
- `before_cursor` string
- `limit` integer
- `created_after` string, date-time
- `created_before` string, date-time
- `txn_type` 'processing_fee' | 'justifi_fee' | 'return_fee' | 'noc_fee' | 'settlement' | 'adjustment'
- `settled` boolean

## Headers

- `Authorization` string, required

## Response `200`

Successfully listed platform ledger entries

- object: the standard JustiFi response envelope for a list of records
  - `id` unknown, required
  - `type` string, required: the object type
  - `data` object[], required: the list of objects
    - `id` string
    - `type` string: the object type, matching the enclosing envelope's `type`
    - `platform_account_id` string: the platform ledger this entry posts to
    - `txn_type` 'processing_fee' | 'justifi_fee' | 'return_fee' | 'noc_fee' | 'settlement' | 'adjustment': the kind of entry. `settlement` is JustiFi squaring up with the platform — it closes the balance the other entries accrued, and its `settlement_id` names the entries it covers. `adjustment` is a correction: entries are never edited, so a correction to an already-settled entry posts as a new `adjustment` and is swept by the next settlement. Not to be confused with an ACH leg reaching `settled` — that is money clearing the network, and it is reported on the payment's legs rather than here.
    - `amount_cents` integer: signed amount, in cents. Positive = owed to the platform; negative = charged to, or paid out to, the platform. On a `settlement`, whichever of those closes the set it covers.
    - `currency` 'usd'
    - `payer_account_id` string, nullable: the payer account whose payment this entry derives from; set on fee entries, null on a `settlement`
    - `payee_payment_id` string, nullable: the payee payment this entry derives from, if any (payment / JustiFi fees)
    - `payee_payment_fee_id` string, nullable: on a `processing_fee` entry — the submitted fee this entry was posted from. Links the platform's declared intent to the frozen ledger entry.
    - `source_type` 'payee_payment' | 'transfer' | 'settlement' | 'null', nullable: the kind of object that caused this entry, mirroring how balance transactions identify their source elsewhere in the JustiFi API. A return or NOC fee names the `transfer` it arose from.
    - `source_id` string, nullable: the id of the object named by `source_type`. On a `settlement` this is the **platform settlement** (`pst_`) the entry was written for.
    - `external_reference` string, nullable: on a `settlement` — the external ACH/wire/manual reference for the money that moved. An identifier from outside Payables rather than a Payables id, which is why it is not folded into `source_id`.
    - `settlement_id` string, nullable: the **platform settlement** (`pst_`) that covered this entry, if any — **null means the entry is still outstanding**. Every entry sharing a `settlement_id` sums to zero, so the ledger balance is exactly the sum of the entries where this is null. The `settlement` entry that balances a set carries the same value as the entries it closes, because it is one of them. Its `source_id` is that id too: a balancing entry both belongs to a settlement and is the entry written for it.
    - `created_at` string, date-time
  - `page_info` object, required: cursor pagination info
    - `start_cursor` string: the encoded id of the first record in the current page
    - `end_cursor` string: the encoded id of the last record in the current page
    - `has_next` boolean: true if there are records following the current page
    - `has_previous` boolean: true if there are records ahead of the current page

## Other responses

- `401`: The access token is missing, expired, or invalid.
- `403`: The credentials are valid but not permitted to access this resource.
- `429`: The rate limit has been exceeded. Back off and retry after the interval indicated by the `Retry-After` header.

---

[API](https://skmtc.dev/justifi/apis/justifi-api-documentation.md) - [All operations](https://skmtc.dev/justifi/apis/justifi-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/justifi/apis/justifi-api-documentation/revisions/dd9f3fed7e46?raw)
