Modern Treasury · Capability
Modern Treasury — LedgerEntry
Modern Treasury — LedgerEntry. 3 operations. Lead operation: list ledger_entries. Self-contained Naftiko capability covering one Modern Treasury business surface.
What You Can Do
GET
Listledgerentries
— list ledger_entries
/v1/api/ledger-entries
PATCH
Updateledgerentry
— update ledger_entry
/v1/api/ledger-entries/{id}
GET
Getledgerentry
— get ledger_entry
/v1/api/ledger-entries/{id}
MCP Tools
list-ledger-entries
list ledger_entries
read-only
idempotent
update-ledger-entry
update ledger_entry
idempotent
get-ledger-entry
get ledger_entry
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Modern Treasury — LedgerEntry
description: 'Modern Treasury — LedgerEntry. 3 operations. Lead operation: list ledger_entries. Self-contained Naftiko capability
covering one Modern Treasury business surface.'
tags:
- Modern Treasury
- LedgerEntry
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
MODERN_TREASURY_API_KEY: MODERN_TREASURY_API_KEY
capability:
consumes:
- type: http
namespace: modern-treasury-ledgerentry
baseUri: http://localhost:3000
description: Modern Treasury — LedgerEntry business capability. Self-contained, no shared references.
resources:
- name: api-ledger_entries
path: /api/ledger_entries
operations:
- name: listledgerentries
method: GET
description: list ledger_entries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: after_cursor
in: query
type: string
- name: per_page
in: query
type: integer
- name: ledger_account_id
in: query
type: string
- name: ledger_transaction_id
in: query
type: string
- name: ledger_account_payout_id
in: query
type: string
- name: ledger_account_settlement_id
in: query
type: string
- name: effective_date
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the transaction's effective
date. Format YYYY-MM-DD
- name: effective_at
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the transaction's effective
time. Format ISO8601
- name: updated_at
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the posted at timestamp. For
example, for all times after Jan 1 2000 12:00 UTC, use upd
- name: as_of_lock_version
in: query
type: integer
description: Shows all ledger entries that were present on a ledger account at a particular `lock_version`. You
must also specify `ledger_account_id`.
- name: ledger_account_lock_version
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the lock_version of a ledger
account. For example, for all entries created at or before
- name: ledger_account_category_id
in: query
type: string
description: Get all ledger entries that match the direction specified. One of `credit`, `debit`.
- name: ledger_account_statement_id
in: query
type: string
description: Get all ledger entries that are included in the ledger account statement.
- name: show_deleted
in: query
type: boolean
description: 'If true, response will include ledger entries that were deleted. When you update a ledger transaction
to specify a new set of entries, the previous entries are '
- name: direction
in: query
type: string
description: 'If true, response will include ledger entries that were deleted. When you update a ledger transaction
to specify a new set of entries, the previous entries are '
- name: status
in: query
type: string
description: Get all ledger entries that match the status specified. One of `pending`, `posted`, or `archived`.
For multiple statuses, use `status[]=pending&status[]=posted`
- name: status[]
in: query
type: array
description: Get all ledger entries that match the status specified. One of `pending`, `posted`, or `archived`.
For multiple statuses, use `status[]=pending&status[]=posted`
- name: order_by
in: query
type: object
description: Order by `created_at` or `effective_at` in `asc` or `desc` order. For example, to order by `effective_at
asc`, use `order_by%5Beffective_at%5D=asc`. Ordering by
- name: amount
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by amount.
- name: show_balances
in: query
type: boolean
description: If true, response will include the balances attached to the ledger entry. If there is no balance available,
null will be returned instead.
- name: api-ledger_entries-id
path: /api/ledger_entries/{id}
operations:
- name: updateledgerentry
method: PATCH
description: update ledger_entry
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: getledgerentry
method: GET
description: get ledger_entry
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: show_balances
in: query
type: boolean
description: If true, response will include the balances attached to the ledger entry. If there is no balance available,
null will be returned instead.
authentication:
type: basic
username: '{{env.MODERN_TREASURY_USER}}'
password: '{{env.MODERN_TREASURY_PASS}}'
exposes:
- type: rest
namespace: modern-treasury-ledgerentry-rest
port: 8080
description: REST adapter for Modern Treasury — LedgerEntry. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/api/ledger-entries
name: api-ledger-entries
description: REST surface for api-ledger_entries.
operations:
- method: GET
name: listledgerentries
description: list ledger_entries
call: modern-treasury-ledgerentry.listledgerentries
with:
after_cursor: rest.after_cursor
per_page: rest.per_page
ledger_account_id: rest.ledger_account_id
ledger_transaction_id: rest.ledger_transaction_id
ledger_account_payout_id: rest.ledger_account_payout_id
ledger_account_settlement_id: rest.ledger_account_settlement_id
effective_date: rest.effective_date
effective_at: rest.effective_at
updated_at: rest.updated_at
as_of_lock_version: rest.as_of_lock_version
ledger_account_lock_version: rest.ledger_account_lock_version
ledger_account_category_id: rest.ledger_account_category_id
ledger_account_statement_id: rest.ledger_account_statement_id
show_deleted: rest.show_deleted
direction: rest.direction
status: rest.status
status[]: rest.status[]
order_by: rest.order_by
amount: rest.amount
show_balances: rest.show_balances
outputParameters:
- type: object
mapping: $.
- path: /v1/api/ledger-entries/{id}
name: api-ledger-entries-id
description: REST surface for api-ledger_entries-id.
operations:
- method: PATCH
name: updateledgerentry
description: update ledger_entry
call: modern-treasury-ledgerentry.updateledgerentry
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: getledgerentry
description: get ledger_entry
call: modern-treasury-ledgerentry.getledgerentry
with:
show_balances: rest.show_balances
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: modern-treasury-ledgerentry-mcp
port: 9090
transport: http
description: MCP adapter for Modern Treasury — LedgerEntry. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: list-ledger-entries
description: list ledger_entries
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-ledgerentry.listledgerentries
with:
after_cursor: tools.after_cursor
per_page: tools.per_page
ledger_account_id: tools.ledger_account_id
ledger_transaction_id: tools.ledger_transaction_id
ledger_account_payout_id: tools.ledger_account_payout_id
ledger_account_settlement_id: tools.ledger_account_settlement_id
effective_date: tools.effective_date
effective_at: tools.effective_at
updated_at: tools.updated_at
as_of_lock_version: tools.as_of_lock_version
ledger_account_lock_version: tools.ledger_account_lock_version
ledger_account_category_id: tools.ledger_account_category_id
ledger_account_statement_id: tools.ledger_account_statement_id
show_deleted: tools.show_deleted
direction: tools.direction
status: tools.status
status[]: tools.status[]
order_by: tools.order_by
amount: tools.amount
show_balances: tools.show_balances
outputParameters:
- type: object
mapping: $.
- name: update-ledger-entry
description: update ledger_entry
hints:
readOnly: false
destructive: false
idempotent: true
call: modern-treasury-ledgerentry.updateledgerentry
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-ledger-entry
description: get ledger_entry
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-ledgerentry.getledgerentry
with:
show_balances: tools.show_balances
outputParameters:
- type: object
mapping: $.