naftiko: 1.0.0-alpha2 info: label: Enable Banking — Open Banking Workflow description: Workflow capability composing the Enable Banking PSD2 Open Banking surface into a single end-to-end flow — ASPSP discovery, PSU authorization, account retrieval, transaction sync, and payment initiation. Composes the four per-tag capabilities (aspsps-misc, sessions-user-sessions, accounts-accounts-data, payments-payments). tags: - EnableBanking - OpenBanking - PSD2 - Workflow - Aggregation created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: ENABLE_BANKING_JWT: ENABLE_BANKING_JWT capability: composes: - capability: aspsps-misc namespace: aspsps - capability: sessions-user-sessions namespace: sessions - capability: accounts-accounts-data namespace: accounts - capability: payments-payments namespace: payments exposes: - type: rest namespace: open-banking-rest port: 8080 description: Unified Open Banking workflow REST surface. resources: - path: /v1/open-banking/aspsps name: list-aspsps description: List supported ASPSPs (banks) for a country and PSU type. operations: - method: GET name: listaspsps description: List supported ASPSPs. call: aspsps.getaspsps with: country: rest.query.country psu_type: rest.query.psu_type outputParameters: - type: object mapping: $. - path: /v1/open-banking/authorize name: authorize description: Begin PSU authorization at a selected ASPSP. operations: - method: POST name: authorize description: Start PSU authorization. call: sessions.startauthorization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/open-banking/sessions name: create-session description: Exchange an authorization code for an authorized session. operations: - method: POST name: createsession description: Authorize session. call: sessions.authorizesession with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/open-banking/accounts/{account_id}/transactions name: account-transactions description: Retrieve transactions for an authorized account. operations: - method: GET name: gettransactions description: Get account transactions. call: accounts.getaccounttransactions with: account_id: rest.path.account_id date_from: rest.query.date_from date_to: rest.query.date_to continuation_key: rest.query.continuation_key strategy: rest.query.strategy outputParameters: - type: object mapping: $. - path: /v1/open-banking/payments name: payments description: Initiate a payment via the PSU's ASPSP. operations: - method: POST name: initiatepayment description: Initiate payment. call: payments.createpayment with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: open-banking-mcp port: 9090 transport: http description: Unified Open Banking MCP toolset. tools: - name: list-aspsps description: List supported ASPSPs (banks). hints: readOnly: true destructive: false idempotent: true call: aspsps.getaspsps with: country: tools.country psu_type: tools.psu_type outputParameters: - type: object mapping: $. - name: start-authorization description: Start a PSU authorization at the selected ASPSP. hints: readOnly: false destructive: false idempotent: false call: sessions.startauthorization with: body: tools.body outputParameters: - type: object mapping: $. - name: get-transactions description: Get transactions for an authorized PSU account. hints: readOnly: true destructive: false idempotent: true call: accounts.getaccounttransactions with: account_id: tools.account_id date_from: tools.date_from date_to: tools.date_to continuation_key: tools.continuation_key strategy: tools.strategy outputParameters: - type: object mapping: $. - name: initiate-payment description: Initiate a payment. hints: readOnly: false destructive: false idempotent: false call: payments.createpayment with: body: tools.body outputParameters: - type: object mapping: $.