naftiko: 1.0.0-alpha2 info: label: Monnify Reserved Accounts — Accounts description: Provision permanent NUBAN virtual accounts (V2) for customers; update KYC, fetch details, and deallocate. Self-contained Naftiko capability covering one Monnify business surface. tags: - Moniepoint - Monnify - Reserved Accounts - Virtual Accounts created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: MONNIFY_ACCESS_TOKEN: MONNIFY_ACCESS_TOKEN capability: consumes: - type: http namespace: reserved-accounts-accounts baseUri: https://api.monnify.com description: Monnify Reserved Accounts — Accounts business capability. resources: - name: reserved-accounts path: /api/v2/bank-transfer/reserved-accounts operations: - name: reserveAccountV2 method: POST description: Monnify Reserve A Customer Account (V2) outputRawFormat: json inputParameters: - name: body in: body type: object required: true - name: updateReservedAccountKyc method: PUT description: Monnify Update Reserved Account KYC outputRawFormat: json inputParameters: - name: body in: body type: object required: true - name: reserved-account path: /api/v2/bank-transfer/reserved-accounts/{accountReference} operations: - name: getReservedAccountV2 method: GET description: Monnify Get Reserved Account Details (V2) outputRawFormat: json inputParameters: - name: accountReference in: path type: string required: true - name: deallocateReservedAccount method: DELETE description: Monnify Deallocate Reserved Account outputRawFormat: json inputParameters: - name: accountReference in: path type: string required: true - name: reserved-account-transactions path: /api/v1/bank-transfer/reserved-accounts/transactions operations: - name: listReservedAccountTransactions method: GET description: Monnify List Reserved Account Transactions outputRawFormat: json inputParameters: - name: accountReference in: query type: string required: true authentication: type: apikey key: Authorization value: 'Bearer {{env.MONNIFY_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: reserved-accounts-accounts-rest port: 8080 description: REST adapter for Monnify Reserved Accounts. resources: - path: /v1/reserved-accounts name: reserved-accounts operations: - method: POST name: reserveAccountV2 call: reserved-accounts-accounts.reserveAccountV2 with: body: rest.body - method: PUT name: updateReservedAccountKyc call: reserved-accounts-accounts.updateReservedAccountKyc with: body: rest.body - type: mcp namespace: reserved-accounts-accounts-mcp port: 9090 transport: http description: MCP adapter for Monnify Reserved Accounts. tools: - name: monnify-reserve-account description: Monnify Reserve A Customer Account (V2) hints: readOnly: false destructive: false idempotent: false call: reserved-accounts-accounts.reserveAccountV2 with: body: tools.body - name: monnify-get-reserved-account description: Monnify Get Reserved Account Details (V2) hints: readOnly: true destructive: false idempotent: true call: reserved-accounts-accounts.getReservedAccountV2 - name: monnify-deallocate-reserved-account description: Monnify Deallocate Reserved Account hints: readOnly: false destructive: true idempotent: true call: reserved-accounts-accounts.deallocateReservedAccount - name: monnify-list-reserved-account-transactions description: Monnify List Reserved Account Transactions hints: readOnly: true destructive: false idempotent: true call: reserved-accounts-accounts.listReservedAccountTransactions