Naftiko · Capability

Api Reusability Open Banking Reference

A reference capability showing API reusability across UK Open Banking endpoints — accounts/balances/transactions composed once, reused across consumer apps.

Run with Naftiko NaftikoOpen BankingReusability

What You Can Do

GET
Get account snapshot — Composed account snapshot (balance + recent transactions) reusable across apps.
/accounts/{{account_id}}/snapshot

MCP Tools

list-accounts

read-only
get-account-snapshot

read-only

Capability Spec

api-reusability-open-banking-reference.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  title: Api Reusability Open Banking Reference
  description: A reference capability showing API reusability across UK Open Banking endpoints — accounts/balances/transactions composed once, reused across consumer apps.
  tags: [Naftiko, Open Banking, Reusability]
  created: '2026-05-01'
  modified: '2026-05-04'
binds:
- namespace: openbanking-env
  description: UK Open Banking OAuth bearer with accounts scope.
  keys: {OB_TOKEN: OB_TOKEN, OB_HOST: OB_HOST}
capability:
  consumes:
  - namespace: openbanking
    type: http
    baseUri: https://{{OB_HOST}}
    authentication: {type: bearer, token: '{{OB_TOKEN}}'}
    resources:
    - {name: accounts, path: /open-banking/v3.1/aisp/accounts, operations: [{name: list-accounts, method: GET}]}
    - name: balances
      path: /open-banking/v3.1/aisp/accounts/{{account_id}}/balances
      operations:
      - {name: get-account-balances, method: GET, inputParameters: [{name: account_id, in: path}]}
    - name: transactions
      path: /open-banking/v3.1/aisp/accounts/{{account_id}}/transactions
      operations:
      - {name: list-account-transactions, method: GET, inputParameters: [{name: account_id, in: path}]}
  exposes:
  - type: rest
    address: 0.0.0.0
    port: 8080
    namespace: api-reusability-open-banking-reference-rest
    description: Reusable Open Banking surface — accounts/balances/transactions in one shape.
    resources:
    - name: account-snapshot
      path: /accounts/{{account_id}}/snapshot
      operations:
      - method: GET
        name: get-account-snapshot
        description: Composed account snapshot (balance + recent transactions) reusable across apps.
        inputParameters: [{name: account_id, in: path, type: string}]
        call: openbanking.list-accounts
  - type: mcp
    address: 0.0.0.0
    port: 3010
    namespace: api-reusability-open-banking-reference-mcp
    description: MCP for Open Banking account snapshots.
    tools:
    - {name: list-accounts, hints: {readOnly: true}, call: openbanking.list-accounts}
    - name: get-account-snapshot
      hints: {readOnly: true}
      inputParameters: [{name: account_id, type: string, required: true}]
      call: openbanking.list-accounts
  - type: skill
    address: 0.0.0.0
    port: 3011
    namespace: api-reusability-open-banking-reference-skills
    description: Skill for Open Banking account snapshots.
    skills:
    - name: api-reusability-open-banking-reference
      description: Reusable Open Banking account snapshot.
      location: file:///opt/naftiko/skills/api-reusability-open-banking-reference
      allowed-tools: list-accounts,get-account-snapshot
      tools:
      - {name: list-accounts, from: {sourceNamespace: api-reusability-open-banking-reference-mcp, action: list-accounts}}
      - {name: get-account-snapshot, from: {sourceNamespace: api-reusability-open-banking-reference-mcp, action: get-account-snapshot}}