BNY Mellon · Capability

BNY Mellon Treasury Services API

The BNY Mellon Treasury Services API enables corporate clients to programmatically initiate and track payments, access account balances and transaction history, manage wire transfers, and retrieve reporting data. The API is available via the BNY Mellon Marketplace (marketplace.bnymellon.com) and supports global treasury operations across multiple currencies and payment rails.

Run with Naftiko BankOfNewYorkMellonAPI

What You Can Do

GET
Listaccounts — List Accounts
/accounts
GET
Getaccount — Get Account
/accounts/{accountId}
GET
Getaccountbalances — Get Account Balances
/accounts/{accountId}/balances
GET
Listtransactions — List Transactions
/accounts/{accountId}/transactions
POST
Initiatepayment — Initiate Payment
/payments
GET
Listpayments — List Payments
/payments
GET
Getpayment — Get Payment
/payments/{paymentId}
POST
Initiatefundstransfer — Initiate Funds Transfer
/funds-transfers
GET
Getfundstransfer — Get Funds Transfer
/funds-transfers/{transferId}

MCP Tools

listaccounts

List Accounts

read-only idempotent
getaccount

Get Account

read-only idempotent
getaccountbalances

Get Account Balances

read-only idempotent
listtransactions

List Transactions

read-only idempotent
initiatepayment

Initiate Payment

listpayments

List Payments

read-only idempotent
getpayment

Get Payment

read-only idempotent
initiatefundstransfer

Initiate Funds Transfer

getfundstransfer

Get Funds Transfer

read-only idempotent

Capability Spec

bank-of-new-york-mellon-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: BNY Mellon Treasury Services API
  description: The BNY Mellon Treasury Services API enables corporate clients to programmatically initiate and track payments,
    access account balances and transaction history, manage wire transfers, and retrieve reporting data. The API is available
    via the BNY Mellon Marketplace (marketplace.bnymellon.com) and supports global treasury operations across multiple currencies
    and payment rails.
  tags:
  - Bank
  - Of
  - New
  - York
  - Mellon
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: bank-of-new-york-mellon
    baseUri: https://api.bnymellon.com/treasury/v4
    description: BNY Mellon Treasury Services API HTTP API.
    authentication:
      type: bearer
      token: '{{BANK_OF_NEW_YORK_MELLON_TOKEN}}'
    resources:
    - name: accounts
      path: /accounts
      operations:
      - name: listaccounts
        method: GET
        description: List Accounts
        inputParameters:
        - name: currency
          in: query
          type: string
          description: Filter accounts by currency (ISO 4217)
        - name: accountType
          in: query
          type: string
          description: Filter by account type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-accountid
      path: /accounts/{accountId}
      operations:
      - name: getaccount
        method: GET
        description: Get Account
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
          description: Account identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-accountid-balances
      path: /accounts/{accountId}/balances
      operations:
      - name: getaccountbalances
        method: GET
        description: Get Account Balances
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
          description: Account identifier
        - name: balanceType
          in: query
          type: string
          description: Balance type filter (current, available, intraday)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-accountid-transactions
      path: /accounts/{accountId}/transactions
      operations:
      - name: listtransactions
        method: GET
        description: List Transactions
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
          description: Account identifier
        - name: fromDate
          in: query
          type: string
          description: Start date (ISO 8601)
        - name: toDate
          in: query
          type: string
          description: End date (ISO 8601)
        - name: limit
          in: query
          type: integer
          description: Page size
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: payments
      path: /payments
      operations:
      - name: initiatepayment
        method: POST
        description: Initiate Payment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: listpayments
        method: GET
        description: List Payments
        inputParameters:
        - name: status
          in: query
          type: string
          description: Payment status filter
        - name: fromDate
          in: query
          type: string
          description: Start date filter
        - name: toDate
          in: query
          type: string
          description: End date filter
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: payments-paymentid
      path: /payments/{paymentId}
      operations:
      - name: getpayment
        method: GET
        description: Get Payment
        inputParameters:
        - name: paymentId
          in: path
          type: string
          required: true
          description: Payment identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: funds-transfers
      path: /funds-transfers
      operations:
      - name: initiatefundstransfer
        method: POST
        description: Initiate Funds Transfer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: funds-transfers-transferid
      path: /funds-transfers/{transferId}
      operations:
      - name: getfundstransfer
        method: GET
        description: Get Funds Transfer
        inputParameters:
        - name: transferId
          in: path
          type: string
          required: true
          description: Funds transfer identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: bank-of-new-york-mellon-rest
    description: REST adapter for BNY Mellon Treasury Services API.
    resources:
    - path: /accounts
      name: listaccounts
      operations:
      - method: GET
        name: listaccounts
        description: List Accounts
        call: bank-of-new-york-mellon.listaccounts
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts/{accountId}
      name: getaccount
      operations:
      - method: GET
        name: getaccount
        description: Get Account
        call: bank-of-new-york-mellon.getaccount
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts/{accountId}/balances
      name: getaccountbalances
      operations:
      - method: GET
        name: getaccountbalances
        description: Get Account Balances
        call: bank-of-new-york-mellon.getaccountbalances
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts/{accountId}/transactions
      name: listtransactions
      operations:
      - method: GET
        name: listtransactions
        description: List Transactions
        call: bank-of-new-york-mellon.listtransactions
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /payments
      name: initiatepayment
      operations:
      - method: POST
        name: initiatepayment
        description: Initiate Payment
        call: bank-of-new-york-mellon.initiatepayment
        outputParameters:
        - type: object
          mapping: $.
    - path: /payments
      name: listpayments
      operations:
      - method: GET
        name: listpayments
        description: List Payments
        call: bank-of-new-york-mellon.listpayments
        outputParameters:
        - type: object
          mapping: $.
    - path: /payments/{paymentId}
      name: getpayment
      operations:
      - method: GET
        name: getpayment
        description: Get Payment
        call: bank-of-new-york-mellon.getpayment
        with:
          paymentId: rest.paymentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /funds-transfers
      name: initiatefundstransfer
      operations:
      - method: POST
        name: initiatefundstransfer
        description: Initiate Funds Transfer
        call: bank-of-new-york-mellon.initiatefundstransfer
        outputParameters:
        - type: object
          mapping: $.
    - path: /funds-transfers/{transferId}
      name: getfundstransfer
      operations:
      - method: GET
        name: getfundstransfer
        description: Get Funds Transfer
        call: bank-of-new-york-mellon.getfundstransfer
        with:
          transferId: rest.transferId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: bank-of-new-york-mellon-mcp
    transport: http
    description: MCP adapter for BNY Mellon Treasury Services API for AI agent use.
    tools:
    - name: listaccounts
      description: List Accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.listaccounts
      with:
        currency: tools.currency
        accountType: tools.accountType
      inputParameters:
      - name: currency
        type: string
        description: Filter accounts by currency (ISO 4217)
      - name: accountType
        type: string
        description: Filter by account type
      outputParameters:
      - type: object
        mapping: $.
    - name: getaccount
      description: Get Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.getaccount
      with:
        accountId: tools.accountId
      inputParameters:
      - name: accountId
        type: string
        description: Account identifier
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getaccountbalances
      description: Get Account Balances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.getaccountbalances
      with:
        accountId: tools.accountId
        balanceType: tools.balanceType
      inputParameters:
      - name: accountId
        type: string
        description: Account identifier
        required: true
      - name: balanceType
        type: string
        description: Balance type filter (current, available, intraday)
      outputParameters:
      - type: object
        mapping: $.
    - name: listtransactions
      description: List Transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.listtransactions
      with:
        accountId: tools.accountId
        fromDate: tools.fromDate
        toDate: tools.toDate
        limit: tools.limit
      inputParameters:
      - name: accountId
        type: string
        description: Account identifier
        required: true
      - name: fromDate
        type: string
        description: Start date (ISO 8601)
      - name: toDate
        type: string
        description: End date (ISO 8601)
      - name: limit
        type: integer
        description: Page size
      outputParameters:
      - type: object
        mapping: $.
    - name: initiatepayment
      description: Initiate Payment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bank-of-new-york-mellon.initiatepayment
      outputParameters:
      - type: object
        mapping: $.
    - name: listpayments
      description: List Payments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.listpayments
      with:
        status: tools.status
        fromDate: tools.fromDate
        toDate: tools.toDate
      inputParameters:
      - name: status
        type: string
        description: Payment status filter
      - name: fromDate
        type: string
        description: Start date filter
      - name: toDate
        type: string
        description: End date filter
      outputParameters:
      - type: object
        mapping: $.
    - name: getpayment
      description: Get Payment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.getpayment
      with:
        paymentId: tools.paymentId
      inputParameters:
      - name: paymentId
        type: string
        description: Payment identifier
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: initiatefundstransfer
      description: Initiate Funds Transfer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bank-of-new-york-mellon.initiatefundstransfer
      outputParameters:
      - type: object
        mapping: $.
    - name: getfundstransfer
      description: Get Funds Transfer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bank-of-new-york-mellon.getfundstransfer
      with:
        transferId: tools.transferId
      inputParameters:
      - name: transferId
        type: string
        description: Funds transfer identifier
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    BANK_OF_NEW_YORK_MELLON_TOKEN: BANK_OF_NEW_YORK_MELLON_TOKEN