naftiko: 1.0.0-alpha2 info: label: Adyen Configuration API — Holders description: 'Adyen Configuration API — Holders. 6 operations. Lead operation: Adyen Create an Account Holder. Self-contained Naftiko capability covering one Adyen business surface.' tags: - Adyen - Holders created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ADYEN_API_KEY: ADYEN_API_KEY capability: consumes: - type: http namespace: configuration-holders baseUri: https://balanceplatform-api-test.adyen.com/bcl/v2 description: Adyen Configuration API — Holders business capability. Self-contained, no shared references. resources: - name: accountHolders path: /accountHolders operations: - name: postaccountholders method: POST description: Adyen Create an Account Holder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: accountHolders-id path: /accountHolders/{id} operations: - name: getaccountholdersid method: GET description: Adyen Get an Account Holder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the account holder. required: true - name: patchaccountholdersid method: PATCH description: Adyen Update an Account Holder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the account holder. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: accountHolders-id-balanceAccounts path: /accountHolders/{id}/balanceAccounts operations: - name: getaccountholdersidbalanceaccounts method: GET description: Adyen Get All Balance Accounts of an Account Holder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the account holder. required: true - name: offset in: query type: integer description: The number of items that you want to skip. - name: limit in: query type: integer description: The number of items returned per page, maximum 100 items. By default, the response returns 10 items per page. - name: accountHolders-id-taxForms path: /accountHolders/{id}/taxForms operations: - name: getaccountholdersidtaxforms method: GET description: Adyen Get a Tax Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the account holder. required: true - name: formType in: query type: string description: The type of tax form you want to retrieve. Accepted values are **US1099k** and **US1099nec** required: true - name: year in: query type: integer description: The tax year in YYYY format for the tax form you want to retrieve required: true - name: balancePlatforms-id-accountHolders path: /balancePlatforms/{id}/accountHolders operations: - name: getbalanceplatformsidaccountholders method: GET description: Adyen Get All Account Holders Under a Balance Platform outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the balance platform. required: true - name: offset in: query type: integer description: The number of items that you want to skip. - name: limit in: query type: integer description: The number of items returned per page, maximum 100 items. By default, the response returns 10 items per page. authentication: type: apikey key: X-API-Key value: '{{env.ADYEN_API_KEY}}' placement: header exposes: - type: rest namespace: configuration-holders-rest port: 8080 description: REST adapter for Adyen Configuration API — Holders. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accountholders name: accountholders description: REST surface for accountHolders. operations: - method: POST name: postaccountholders description: Adyen Create an Account Holder call: configuration-holders.postaccountholders with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accountholders/{id} name: accountholders-id description: REST surface for accountHolders-id. operations: - method: GET name: getaccountholdersid description: Adyen Get an Account Holder call: configuration-holders.getaccountholdersid with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: patchaccountholdersid description: Adyen Update an Account Holder call: configuration-holders.patchaccountholdersid with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accountholders/{id}/balanceaccounts name: accountholders-id-balanceaccounts description: REST surface for accountHolders-id-balanceAccounts. operations: - method: GET name: getaccountholdersidbalanceaccounts description: Adyen Get All Balance Accounts of an Account Holder call: configuration-holders.getaccountholdersidbalanceaccounts with: id: rest.id offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/accountholders/{id}/taxforms name: accountholders-id-taxforms description: REST surface for accountHolders-id-taxForms. operations: - method: GET name: getaccountholdersidtaxforms description: Adyen Get a Tax Form call: configuration-holders.getaccountholdersidtaxforms with: id: rest.id formType: rest.formType year: rest.year outputParameters: - type: object mapping: $. - path: /v1/balanceplatforms/{id}/accountholders name: balanceplatforms-id-accountholders description: REST surface for balancePlatforms-id-accountHolders. operations: - method: GET name: getbalanceplatformsidaccountholders description: Adyen Get All Account Holders Under a Balance Platform call: configuration-holders.getbalanceplatformsidaccountholders with: id: rest.id offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: configuration-holders-mcp port: 9090 transport: http description: MCP adapter for Adyen Configuration API — Holders. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: adyen-create-account-holder description: Adyen Create an Account Holder hints: readOnly: false destructive: false idempotent: false call: configuration-holders.postaccountholders with: body: tools.body outputParameters: - type: object mapping: $. - name: adyen-get-account-holder description: Adyen Get an Account Holder hints: readOnly: true destructive: false idempotent: true call: configuration-holders.getaccountholdersid with: id: tools.id outputParameters: - type: object mapping: $. - name: adyen-update-account-holder description: Adyen Update an Account Holder hints: readOnly: false destructive: false idempotent: true call: configuration-holders.patchaccountholdersid with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: adyen-get-all-balance-accounts description: Adyen Get All Balance Accounts of an Account Holder hints: readOnly: true destructive: false idempotent: true call: configuration-holders.getaccountholdersidbalanceaccounts with: id: tools.id offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $. - name: adyen-get-tax-form description: Adyen Get a Tax Form hints: readOnly: true destructive: false idempotent: true call: configuration-holders.getaccountholdersidtaxforms with: id: tools.id formType: tools.formType year: tools.year outputParameters: - type: object mapping: $. - name: adyen-get-all-account-holders description: Adyen Get All Account Holders Under a Balance Platform hints: readOnly: true destructive: false idempotent: true call: configuration-holders.getbalanceplatformsidaccountholders with: id: tools.id offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $.