Modern Treasury · Capability
Modern Treasury — LedgerTransaction
Modern Treasury — LedgerTransaction. 8 operations. Lead operation: list ledger_transaction_versions. Self-contained Naftiko capability covering one Modern Treasury business surface.
What You Can Do
GET
Listledgertransactionversions
— list ledger_transaction_versions
/v1/api/ledger-transaction-versions
GET
Listledgertransactions
— list ledger_transactions
/v1/api/ledger-transactions
POST
Createledgertransaction
— create ledger_transaction
/v1/api/ledger-transactions
GET
Getledgertransaction
— get ledger_transaction
/v1/api/ledger-transactions/{id}
PATCH
Updateledgertransaction
— update ledger_transaction
/v1/api/ledger-transactions/{id}
POST
Createledgertransactionpartialpost
— create ledger_transaction partial post
/v1/api/ledger-transactions/{id}/partial-post
POST
Createledgertransactionreversal
— create ledger_transaction reversal
/v1/api/ledger-transactions/{id}/reversal
GET
Listledgertransactionversionsnested
— list ledger_transaction versions
/v1/api/ledger-transactions/{id}/versions
MCP Tools
list-ledger-transaction-versions
list ledger_transaction_versions
read-only
idempotent
list-ledger-transactions
list ledger_transactions
read-only
idempotent
create-ledger-transaction
create ledger_transaction
get-ledger-transaction
get ledger_transaction
read-only
idempotent
update-ledger-transaction
update ledger_transaction
idempotent
create-ledger-transaction-partial-post
create ledger_transaction partial post
create-ledger-transaction-reversal
create ledger_transaction reversal
list-ledger-transaction-versions-2
list ledger_transaction versions
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Modern Treasury — LedgerTransaction
description: 'Modern Treasury — LedgerTransaction. 8 operations. Lead operation: list ledger_transaction_versions. Self-contained
Naftiko capability covering one Modern Treasury business surface.'
tags:
- Modern Treasury
- LedgerTransaction
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-ledgertransaction
baseUri: http://localhost:3000
description: Modern Treasury — LedgerTransaction business capability. Self-contained, no shared references.
resources:
- name: api-ledger_transaction_versions
path: /api/ledger_transaction_versions
operations:
- name: listledgertransactionversions
method: GET
description: list ledger_transaction_versions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: after_cursor
in: query
type: string
- name: per_page
in: query
type: integer
- name: created_at
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the created_at timestamp.
For example, for all dates after Jan 1 2000 12:00 UTC, use cr
- name: version
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the version. For example,
for all versions after 2, use version%5Bgt%5D=2.
- name: ledger_transaction_id
in: query
type: string
description: Get all the ledger transaction versions corresponding to the ID of a ledger transaction.
- name: ledger_account_statement_id
in: query
type: string
description: Get all ledger transaction versions that are included in the ledger account statement.
- name: api-ledger_transactions
path: /api/ledger_transactions
operations:
- name: listledgertransactions
method: GET
description: list ledger_transactions
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_id
in: query
type: string
- name: ledger_account_id
in: query
type: string
- name: effective_at
in: query
type: object
description: Use "gt" (>), "gte" (>=), "lt" (<), "lte" (<=), or "eq" (=) to filter by effective at. For example,
for all transactions after Jan 1 2000, use effective_at%5Bgt
- name: effective_date
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by effective date. For example,
for all dates after Jan 1 2000, use effective_date%5Bgt%5D
- name: posted_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 pos
- 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: 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: status
in: query
type: string
- name: external_id
in: query
type: string
- name: ledger_account_category_id
in: query
type: string
- name: ledger_account_settlement_id
in: query
type: string
- name: reverses_ledger_transaction_id
in: query
type: string
- name: partially_posts_ledger_transaction_id
in: query
type: string
- name: ledgerable_id
in: query
type: string
- name: ledgerable_type
in: query
type: string
- name: createledgertransaction
method: POST
description: create ledger_transaction
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Idempotency-Key
in: header
type: string
description: This key should be something unique, preferably something like an UUID.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-ledger_transactions-id
path: /api/ledger_transactions/{id}
operations:
- name: getledgertransaction
method: GET
description: get ledger_transaction
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: The ledger transaction id (UUID) or external_id. If using external_id, only non-archived Ledger Transactions
will be returned.
required: true
- name: updateledgertransaction
method: PATCH
description: update ledger_transaction
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: The ledger transaction id (UUID)
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-ledger_transactions-id-partial_post
path: /api/ledger_transactions/{id}/partial_post
operations:
- name: createledgertransactionpartialpost
method: POST
description: create ledger_transaction partial post
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: The ID of the ledger transaction to partially post.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-ledger_transactions-id-reversal
path: /api/ledger_transactions/{id}/reversal
operations:
- name: createledgertransactionreversal
method: POST
description: create ledger_transaction reversal
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: The id of ledger transaction to reverse.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-ledger_transactions-id-versions
path: /api/ledger_transactions/{id}/versions
operations:
- name: listledgertransactionversionsnested
method: GET
description: list ledger_transaction versions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: after_cursor
in: query
type: string
- name: per_page
in: query
type: integer
- name: created_at
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the created_at timestamp.
For example, for all dates after Jan 1 2000 12:00 UTC, use cr
- name: version
in: query
type: object
description: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the version. For example,
for all versions after 2, use version%5Bgt%5D=2.
authentication:
type: basic
username: '{{env.MODERN_TREASURY_USER}}'
password: '{{env.MODERN_TREASURY_PASS}}'
exposes:
- type: rest
namespace: modern-treasury-ledgertransaction-rest
port: 8080
description: REST adapter for Modern Treasury — LedgerTransaction. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/api/ledger-transaction-versions
name: api-ledger-transaction-versions
description: REST surface for api-ledger_transaction_versions.
operations:
- method: GET
name: listledgertransactionversions
description: list ledger_transaction_versions
call: modern-treasury-ledgertransaction.listledgertransactionversions
with:
after_cursor: rest.after_cursor
per_page: rest.per_page
created_at: rest.created_at
version: rest.version
ledger_transaction_id: rest.ledger_transaction_id
ledger_account_statement_id: rest.ledger_account_statement_id
outputParameters:
- type: object
mapping: $.
- path: /v1/api/ledger-transactions
name: api-ledger-transactions
description: REST surface for api-ledger_transactions.
operations:
- method: GET
name: listledgertransactions
description: list ledger_transactions
call: modern-treasury-ledgertransaction.listledgertransactions
with:
after_cursor: rest.after_cursor
per_page: rest.per_page
ledger_id: rest.ledger_id
ledger_account_id: rest.ledger_account_id
effective_at: rest.effective_at
effective_date: rest.effective_date
posted_at: rest.posted_at
updated_at: rest.updated_at
order_by: rest.order_by
amount: rest.amount
status: rest.status
external_id: rest.external_id
ledger_account_category_id: rest.ledger_account_category_id
ledger_account_settlement_id: rest.ledger_account_settlement_id
reverses_ledger_transaction_id: rest.reverses_ledger_transaction_id
partially_posts_ledger_transaction_id: rest.partially_posts_ledger_transaction_id
ledgerable_id: rest.ledgerable_id
ledgerable_type: rest.ledgerable_type
outputParameters:
- type: object
mapping: $.
- method: POST
name: createledgertransaction
description: create ledger_transaction
call: modern-treasury-ledgertransaction.createledgertransaction
with:
Idempotency-Key: rest.Idempotency-Key
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/ledger-transactions/{id}
name: api-ledger-transactions-id
description: REST surface for api-ledger_transactions-id.
operations:
- method: GET
name: getledgertransaction
description: get ledger_transaction
call: modern-treasury-ledgertransaction.getledgertransaction
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateledgertransaction
description: update ledger_transaction
call: modern-treasury-ledgertransaction.updateledgertransaction
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/ledger-transactions/{id}/partial-post
name: api-ledger-transactions-id-partial-post
description: REST surface for api-ledger_transactions-id-partial_post.
operations:
- method: POST
name: createledgertransactionpartialpost
description: create ledger_transaction partial post
call: modern-treasury-ledgertransaction.createledgertransactionpartialpost
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/ledger-transactions/{id}/reversal
name: api-ledger-transactions-id-reversal
description: REST surface for api-ledger_transactions-id-reversal.
operations:
- method: POST
name: createledgertransactionreversal
description: create ledger_transaction reversal
call: modern-treasury-ledgertransaction.createledgertransactionreversal
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/ledger-transactions/{id}/versions
name: api-ledger-transactions-id-versions
description: REST surface for api-ledger_transactions-id-versions.
operations:
- method: GET
name: listledgertransactionversionsnested
description: list ledger_transaction versions
call: modern-treasury-ledgertransaction.listledgertransactionversionsnested
with:
after_cursor: rest.after_cursor
per_page: rest.per_page
created_at: rest.created_at
version: rest.version
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: modern-treasury-ledgertransaction-mcp
port: 9090
transport: http
description: MCP adapter for Modern Treasury — LedgerTransaction. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: list-ledger-transaction-versions
description: list ledger_transaction_versions
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-ledgertransaction.listledgertransactionversions
with:
after_cursor: tools.after_cursor
per_page: tools.per_page
created_at: tools.created_at
version: tools.version
ledger_transaction_id: tools.ledger_transaction_id
ledger_account_statement_id: tools.ledger_account_statement_id
outputParameters:
- type: object
mapping: $.
- name: list-ledger-transactions
description: list ledger_transactions
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-ledgertransaction.listledgertransactions
with:
after_cursor: tools.after_cursor
per_page: tools.per_page
ledger_id: tools.ledger_id
ledger_account_id: tools.ledger_account_id
effective_at: tools.effective_at
effective_date: tools.effective_date
posted_at: tools.posted_at
updated_at: tools.updated_at
order_by: tools.order_by
amount: tools.amount
status: tools.status
external_id: tools.external_id
ledger_account_category_id: tools.ledger_account_category_id
ledger_account_settlement_id: tools.ledger_account_settlement_id
reverses_ledger_transaction_id: tools.reverses_ledger_transaction_id
partially_posts_ledger_transaction_id: tools.partially_posts_ledger_transaction_id
ledgerable_id: tools.ledgerable_id
ledgerable_type: tools.ledgerable_type
outputParameters:
- type: object
mapping: $.
- name: create-ledger-transaction
description: create ledger_transaction
hints:
readOnly: false
destructive: false
idempotent: false
call: modern-treasury-ledgertransaction.createledgertransaction
with:
Idempotency-Key: tools.Idempotency-Key
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-ledger-transaction
description: get ledger_transaction
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-ledgertransaction.getledgertransaction
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: update-ledger-transaction
description: update ledger_transaction
hints:
readOnly: false
destructive: false
idempotent: true
call: modern-treasury-ledgertransaction.updateledgertransaction
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-ledger-transaction-partial-post
description: create ledger_transaction partial post
hints:
readOnly: false
destructive: false
idempotent: false
call: modern-treasury-ledgertransaction.createledgertransactionpartialpost
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-ledger-transaction-reversal
description: create ledger_transaction reversal
hints:
readOnly: false
destructive: false
idempotent: false
call: modern-treasury-ledgertransaction.createledgertransactionreversal
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-ledger-transaction-versions-2
description: list ledger_transaction versions
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-ledgertransaction.listledgertransactionversionsnested
with:
after_cursor: tools.after_cursor
per_page: tools.per_page
created_at: tools.created_at
version: tools.version
outputParameters:
- type: object
mapping: $.