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.

Run with Naftiko Modern TreasuryLedgerTransaction

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

modern-treasury-ledgertransaction.yaml Raw ↑
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: $.