regions-financial · Capability

Regions Open Banking

Workflow capability for Regions Bank's open banking platform enabling fintech applications, financial management tools, and data aggregators to securely access customer account data, transaction history, and payment initiation with customer consent under FDX standards and CFPB open banking compliance.

Run with Naftiko BankingOpen BankingFDXAccount AggregationPersonal FinancePaymentsConsumer Banking

What You Can Do

GET
List accounts — List all accounts for the authenticated customer
/v1/accounts
GET
Get account — Get balance and details for a specific account
/v1/accounts/{accountId}
GET
List transactions — Retrieve transaction history for an account
/v1/accounts/{accountId}/transactions
GET
Get current customer — Get the authenticated customer's profile
/v1/customers/current
POST
Initiate payment — Initiate a payment or internal transfer
/v1/payments
GET
Get payment — Get status for a specific payment
/v1/payments/{paymentId}
GET
List consents — List active data sharing consents
/v1/consents

MCP Tools

list-accounts

List all bank accounts including checking, savings, credit cards, and loans for the customer

read-only
get-account

Get balance and full details for a specific Regions account

read-only
list-transactions

Retrieve transaction history for an account with optional date filtering

read-only
get-current-customer

Get the authenticated customer's profile including name and contact information

read-only
initiate-payment

Initiate an ACH payment, wire transfer, or internal account transfer

get-payment

Check the status of a previously initiated payment

read-only
list-consents

List active data sharing consents the customer has granted to third parties

read-only
revoke-consent

Revoke a specific data sharing consent previously granted to a third party

idempotent

Capability Spec

open-banking.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Regions Open Banking
  description: Workflow capability for Regions Bank's open banking platform enabling fintech applications, financial management
    tools, and data aggregators to securely access customer account data, transaction history, and payment initiation with
    customer consent under FDX standards and CFPB open banking compliance.
  tags:
  - Banking
  - Open Banking
  - FDX
  - Account Aggregation
  - Personal Finance
  - Payments
  - Consumer Banking
  created: '2026-05-02'
  modified: '2026-05-06'
binds:
- namespace: env
  keys:
    REGIONS_ACCESS_TOKEN: REGIONS_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: regions-open-banking
    baseUri: https://api.regions.com/v1
    description: Regions Bank FDX-compliant open banking API
    authentication:
      type: bearer
      token: '{{REGIONS_ACCESS_TOKEN}}'
    resources:
    - name: accounts
      path: /accounts
      description: Customer account information
      operations:
      - name: list-accounts
        method: GET
        description: List all accounts for the authenticated customer
        inputParameters:
        - name: accountType
          in: query
          type: string
          required: false
          description: Filter by account type
        - name: status
          in: query
          type: string
          required: false
          description: Filter by account status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-account
        method: GET
        description: Get details for a specific account
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
          description: Unique account identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transactions
      path: /accounts/{accountId}/transactions
      description: Account transaction history
      operations:
      - name: list-transactions
        method: GET
        description: List transactions for a specific account
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
          description: Account identifier
        - name: startDate
          in: query
          type: string
          required: false
          description: Start date filter (YYYY-MM-DD)
        - name: endDate
          in: query
          type: string
          required: false
          description: End date filter (YYYY-MM-DD)
        - name: limit
          in: query
          type: integer
          required: false
          description: Max results to return
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: customers
      path: /customers
      description: Customer profile data
      operations:
      - name: get-current-customer
        method: GET
        description: Get the authenticated customer's profile
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: payments
      path: /payments
      description: Payment initiation and status
      operations:
      - name: initiate-payment
        method: POST
        description: Initiate a payment or transfer
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        body:
          type: json
          data:
            sourceAccountId: '{{tools.sourceAccountId}}'
            destinationAccountId: '{{tools.destinationAccountId}}'
            amount: '{{tools.amount}}'
            currency: '{{tools.currency}}'
            paymentType: '{{tools.paymentType}}'
            memo: '{{tools.memo}}'
      - name: get-payment
        method: GET
        description: Get status for a specific payment
        inputParameters:
        - name: paymentId
          in: path
          type: string
          required: true
          description: Payment identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: consents
      path: /consents
      description: Consent management for data sharing
      operations:
      - name: list-consents
        method: GET
        description: List active data sharing consents
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: revoke-consent
        method: DELETE
        description: Revoke a specific consent
        inputParameters:
        - name: consentId
          in: path
          type: string
          required: true
          description: Consent identifier to revoke
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: regions-open-banking-api
    description: Unified REST API for Regions open banking account data, transactions, and payments.
    resources:
    - path: /v1/accounts
      name: accounts
      description: Customer account listing and details
      operations:
      - method: GET
        name: list-accounts
        description: List all accounts for the authenticated customer
        call: regions-open-banking.list-accounts
        with:
          accountType: rest.accountType
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/accounts/{accountId}
      name: account-detail
      description: Individual account details
      operations:
      - method: GET
        name: get-account
        description: Get balance and details for a specific account
        call: regions-open-banking.get-account
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/accounts/{accountId}/transactions
      name: transactions
      description: Account transaction history
      operations:
      - method: GET
        name: list-transactions
        description: Retrieve transaction history for an account
        call: regions-open-banking.list-transactions
        with:
          accountId: rest.accountId
          startDate: rest.startDate
          endDate: rest.endDate
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/customers/current
      name: customer
      description: Authenticated customer profile
      operations:
      - method: GET
        name: get-current-customer
        description: Get the authenticated customer's profile
        call: regions-open-banking.get-current-customer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/payments
      name: payments
      description: Payment initiation
      operations:
      - method: POST
        name: initiate-payment
        description: Initiate a payment or internal transfer
        call: regions-open-banking.initiate-payment
        with:
          sourceAccountId: rest.sourceAccountId
          destinationAccountId: rest.destinationAccountId
          amount: rest.amount
          paymentType: rest.paymentType
          memo: rest.memo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/payments/{paymentId}
      name: payment-detail
      description: Payment status
      operations:
      - method: GET
        name: get-payment
        description: Get status for a specific payment
        call: regions-open-banking.get-payment
        with:
          paymentId: rest.paymentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/consents
      name: consents
      description: Consent management
      operations:
      - method: GET
        name: list-consents
        description: List active data sharing consents
        call: regions-open-banking.list-consents
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: regions-open-banking-mcp
    transport: http
    description: MCP server for AI-assisted financial data aggregation and account management.
    tools:
    - name: list-accounts
      description: List all bank accounts including checking, savings, credit cards, and loans for the customer
      hints:
        readOnly: true
        openWorld: false
      call: regions-open-banking.list-accounts
      with:
        accountType: tools.accountType
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account
      description: Get balance and full details for a specific Regions account
      hints:
        readOnly: true
      call: regions-open-banking.get-account
      with:
        accountId: tools.accountId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-transactions
      description: Retrieve transaction history for an account with optional date filtering
      hints:
        readOnly: true
      call: regions-open-banking.list-transactions
      with:
        accountId: tools.accountId
        startDate: tools.startDate
        endDate: tools.endDate
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-current-customer
      description: Get the authenticated customer's profile including name and contact information
      hints:
        readOnly: true
      call: regions-open-banking.get-current-customer
      outputParameters:
      - type: object
        mapping: $.
    - name: initiate-payment
      description: Initiate an ACH payment, wire transfer, or internal account transfer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: regions-open-banking.initiate-payment
      with:
        sourceAccountId: tools.sourceAccountId
        destinationAccountId: tools.destinationAccountId
        amount: tools.amount
        paymentType: tools.paymentType
        memo: tools.memo
      outputParameters:
      - type: object
        mapping: $.
    - name: get-payment
      description: Check the status of a previously initiated payment
      hints:
        readOnly: true
      call: regions-open-banking.get-payment
      with:
        paymentId: tools.paymentId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-consents
      description: List active data sharing consents the customer has granted to third parties
      hints:
        readOnly: true
      call: regions-open-banking.list-consents
      outputParameters:
      - type: object
        mapping: $.
    - name: revoke-consent
      description: Revoke a specific data sharing consent previously granted to a third party
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: regions-open-banking.revoke-consent
      with:
        consentId: tools.consentId
      outputParameters:
      - type: object
        mapping: $.