Adyen · Capability

Adyen Configuration API — Accounts

Adyen Configuration API — Accounts. 16 operations. Lead operation: Adyen Create an Account Holder. Self-contained Naftiko capability covering one Adyen business surface.

Run with Naftiko AdyenAccounts

What You Can Do

POST
Postaccountholders — Adyen Create an Account Holder
/v1/accountholders
GET
Getaccountholdersid — Adyen Get an Account Holder
/v1/accountholders/{id}
PATCH
Patchaccountholdersid — Adyen Update an Account Holder
/v1/accountholders/{id}
GET
Getaccountholdersidbalanceaccounts — Adyen Get All Balance Accounts of an Account Holder
/v1/accountholders/{id}/balanceaccounts
GET
Getaccountholdersidtaxforms — Adyen Get a Tax Form
/v1/accountholders/{id}/taxforms
POST
Postbalanceaccounts — Adyen Create a Balance Account
/v1/balanceaccounts
GET
Getbalanceaccountsbalanceaccountidsweeps — Adyen Get All Sweeps for a Balance Account
/v1/balanceaccounts/{balanceaccountid}/sweeps
POST
Postbalanceaccountsbalanceaccountidsweeps — Adyen Create a Sweep
/v1/balanceaccounts/{balanceaccountid}/sweeps
DELETE
Deletebalanceaccountsbalanceaccountidsweepssweepid — Adyen Delete a Sweep
/v1/balanceaccounts/{balanceaccountid}/sweeps/{sweepid}
GET
Getbalanceaccountsbalanceaccountidsweepssweepid — Adyen Get a Sweep
/v1/balanceaccounts/{balanceaccountid}/sweeps/{sweepid}
PATCH
Patchbalanceaccountsbalanceaccountidsweepssweepid — Adyen Update a Sweep
/v1/balanceaccounts/{balanceaccountid}/sweeps/{sweepid}
GET
Getbalanceaccountsid — Adyen Get a Balance Account
/v1/balanceaccounts/{id}
PATCH
Patchbalanceaccountsid — Adyen Update a Balance Account
/v1/balanceaccounts/{id}
GET
Getbalanceaccountsidpaymentinstruments — Adyen Get Payment Instruments Linked to a Balance Account
/v1/balanceaccounts/{id}/paymentinstruments
GET
Getgrantaccountsid — Adyen Get a Grant Account
/v1/grantaccounts/{id}
POST
Postvalidatebankaccountidentification — Adyen Validate a Bank Account
/v1/validatebankaccountidentification

MCP Tools

adyen-create-account-holder

Adyen Create an Account Holder

adyen-get-account-holder

Adyen Get an Account Holder

read-only idempotent
adyen-update-account-holder

Adyen Update an Account Holder

idempotent
adyen-get-all-balance-accounts

Adyen Get All Balance Accounts of an Account Holder

read-only idempotent
adyen-get-tax-form

Adyen Get a Tax Form

read-only idempotent
adyen-create-balance-account

Adyen Create a Balance Account

adyen-get-all-sweeps-balance

Adyen Get All Sweeps for a Balance Account

read-only idempotent
adyen-create-sweep

Adyen Create a Sweep

adyen-delete-sweep

Adyen Delete a Sweep

idempotent
adyen-get-sweep

Adyen Get a Sweep

read-only idempotent
adyen-update-sweep

Adyen Update a Sweep

idempotent
adyen-get-balance-account

Adyen Get a Balance Account

read-only idempotent
adyen-update-balance-account

Adyen Update a Balance Account

idempotent
adyen-get-payment-instruments-linked

Adyen Get Payment Instruments Linked to a Balance Account

read-only idempotent
adyen-get-grant-account

Adyen Get a Grant Account

read-only idempotent
adyen-validate-bank-account

Adyen Validate a Bank Account

read-only

Capability Spec

configuration-accounts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Adyen Configuration API — Accounts
  description: 'Adyen Configuration API — Accounts. 16 operations. Lead operation: Adyen Create an Account Holder. Self-contained
    Naftiko capability covering one Adyen business surface.'
  tags:
  - Adyen
  - Accounts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ADYEN_API_KEY: ADYEN_API_KEY
capability:
  consumes:
  - type: http
    namespace: configuration-accounts
    baseUri: https://balanceplatform-api-test.adyen.com/bcl/v2
    description: Adyen Configuration API — Accounts 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: balanceAccounts
      path: /balanceAccounts
      operations:
      - name: postbalanceaccounts
        method: POST
        description: Adyen Create a Balance Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: balanceAccounts-balanceAccountId-sweeps
      path: /balanceAccounts/{balanceAccountId}/sweeps
      operations:
      - name: getbalanceaccountsbalanceaccountidsweeps
        method: GET
        description: Adyen Get All Sweeps for a Balance Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: balanceAccountId
          in: path
          type: string
          description: The unique identifier of the balance account.
          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: postbalanceaccountsbalanceaccountidsweeps
        method: POST
        description: Adyen Create a Sweep
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: balanceAccountId
          in: path
          type: string
          description: The unique identifier of the balance account.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: balanceAccounts-balanceAccountId-sweeps-sweepId
      path: /balanceAccounts/{balanceAccountId}/sweeps/{sweepId}
      operations:
      - name: deletebalanceaccountsbalanceaccountidsweepssweepid
        method: DELETE
        description: Adyen Delete a Sweep
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: balanceAccountId
          in: path
          type: string
          description: The unique identifier of the balance account.
          required: true
        - name: sweepId
          in: path
          type: string
          description: The unique identifier of the sweep.
          required: true
      - name: getbalanceaccountsbalanceaccountidsweepssweepid
        method: GET
        description: Adyen Get a Sweep
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: balanceAccountId
          in: path
          type: string
          description: The unique identifier of the balance account.
          required: true
        - name: sweepId
          in: path
          type: string
          description: The unique identifier of the sweep.
          required: true
      - name: patchbalanceaccountsbalanceaccountidsweepssweepid
        method: PATCH
        description: Adyen Update a Sweep
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: balanceAccountId
          in: path
          type: string
          description: The unique identifier of the balance account.
          required: true
        - name: sweepId
          in: path
          type: string
          description: The unique identifier of the sweep.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: balanceAccounts-id
      path: /balanceAccounts/{id}
      operations:
      - name: getbalanceaccountsid
        method: GET
        description: Adyen Get a Balance Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the balance account.
          required: true
      - name: patchbalanceaccountsid
        method: PATCH
        description: Adyen Update a Balance Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the balance account.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: balanceAccounts-id-paymentInstruments
      path: /balanceAccounts/{id}/paymentInstruments
      operations:
      - name: getbalanceaccountsidpaymentinstruments
        method: GET
        description: Adyen Get Payment Instruments Linked to a Balance Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the balance account.
          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: status
          in: query
          type: string
          description: The status of the payment instruments that you want to get. By default, the response includes payment
            instruments with any status.
    - name: grantAccounts-id
      path: /grantAccounts/{id}
      operations:
      - name: getgrantaccountsid
        method: GET
        description: Adyen Get a Grant Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the grant account.
          required: true
    - name: validateBankAccountIdentification
      path: /validateBankAccountIdentification
      operations:
      - name: postvalidatebankaccountidentification
        method: POST
        description: Adyen Validate a Bank Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.ADYEN_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: configuration-accounts-rest
    port: 8080
    description: REST adapter for Adyen Configuration API — Accounts. 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-accounts.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-accounts.getaccountholdersid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchaccountholdersid
        description: Adyen Update an Account Holder
        call: configuration-accounts.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-accounts.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-accounts.getaccountholdersidtaxforms
        with:
          id: rest.id
          formType: rest.formType
          year: rest.year
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/balanceaccounts
      name: balanceaccounts
      description: REST surface for balanceAccounts.
      operations:
      - method: POST
        name: postbalanceaccounts
        description: Adyen Create a Balance Account
        call: configuration-accounts.postbalanceaccounts
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/balanceaccounts/{balanceaccountid}/sweeps
      name: balanceaccounts-balanceaccountid-sweeps
      description: REST surface for balanceAccounts-balanceAccountId-sweeps.
      operations:
      - method: GET
        name: getbalanceaccountsbalanceaccountidsweeps
        description: Adyen Get All Sweeps for a Balance Account
        call: configuration-accounts.getbalanceaccountsbalanceaccountidsweeps
        with:
          balanceAccountId: rest.balanceAccountId
          offset: rest.offset
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postbalanceaccountsbalanceaccountidsweeps
        description: Adyen Create a Sweep
        call: configuration-accounts.postbalanceaccountsbalanceaccountidsweeps
        with:
          balanceAccountId: rest.balanceAccountId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/balanceaccounts/{balanceaccountid}/sweeps/{sweepid}
      name: balanceaccounts-balanceaccountid-sweeps-sweepid
      description: REST surface for balanceAccounts-balanceAccountId-sweeps-sweepId.
      operations:
      - method: DELETE
        name: deletebalanceaccountsbalanceaccountidsweepssweepid
        description: Adyen Delete a Sweep
        call: configuration-accounts.deletebalanceaccountsbalanceaccountidsweepssweepid
        with:
          balanceAccountId: rest.balanceAccountId
          sweepId: rest.sweepId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getbalanceaccountsbalanceaccountidsweepssweepid
        description: Adyen Get a Sweep
        call: configuration-accounts.getbalanceaccountsbalanceaccountidsweepssweepid
        with:
          balanceAccountId: rest.balanceAccountId
          sweepId: rest.sweepId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchbalanceaccountsbalanceaccountidsweepssweepid
        description: Adyen Update a Sweep
        call: configuration-accounts.patchbalanceaccountsbalanceaccountidsweepssweepid
        with:
          balanceAccountId: rest.balanceAccountId
          sweepId: rest.sweepId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/balanceaccounts/{id}
      name: balanceaccounts-id
      description: REST surface for balanceAccounts-id.
      operations:
      - method: GET
        name: getbalanceaccountsid
        description: Adyen Get a Balance Account
        call: configuration-accounts.getbalanceaccountsid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchbalanceaccountsid
        description: Adyen Update a Balance Account
        call: configuration-accounts.patchbalanceaccountsid
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/balanceaccounts/{id}/paymentinstruments
      name: balanceaccounts-id-paymentinstruments
      description: REST surface for balanceAccounts-id-paymentInstruments.
      operations:
      - method: GET
        name: getbalanceaccountsidpaymentinstruments
        description: Adyen Get Payment Instruments Linked to a Balance Account
        call: configuration-accounts.getbalanceaccountsidpaymentinstruments
        with:
          id: rest.id
          offset: rest.offset
          limit: rest.limit
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/grantaccounts/{id}
      name: grantaccounts-id
      description: REST surface for grantAccounts-id.
      operations:
      - method: GET
        name: getgrantaccountsid
        description: Adyen Get a Grant Account
        call: configuration-accounts.getgrantaccountsid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/validatebankaccountidentification
      name: validatebankaccountidentification
      description: REST surface for validateBankAccountIdentification.
      operations:
      - method: POST
        name: postvalidatebankaccountidentification
        description: Adyen Validate a Bank Account
        call: configuration-accounts.postvalidatebankaccountidentification
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: configuration-accounts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Adyen Configuration API — Accounts. 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-accounts.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-accounts.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-accounts.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-accounts.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-accounts.getaccountholdersidtaxforms
      with:
        id: tools.id
        formType: tools.formType
        year: tools.year
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-create-balance-account
      description: Adyen Create a Balance Account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: configuration-accounts.postbalanceaccounts
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-get-all-sweeps-balance
      description: Adyen Get All Sweeps for a Balance Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: configuration-accounts.getbalanceaccountsbalanceaccountidsweeps
      with:
        balanceAccountId: tools.balanceAccountId
        offset: tools.offset
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-create-sweep
      description: Adyen Create a Sweep
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: configuration-accounts.postbalanceaccountsbalanceaccountidsweeps
      with:
        balanceAccountId: tools.balanceAccountId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-delete-sweep
      description: Adyen Delete a Sweep
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: configuration-accounts.deletebalanceaccountsbalanceaccountidsweepssweepid
      with:
        balanceAccountId: tools.balanceAccountId
        sweepId: tools.sweepId
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-get-sweep
      description: Adyen Get a Sweep
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: configuration-accounts.getbalanceaccountsbalanceaccountidsweepssweepid
      with:
        balanceAccountId: tools.balanceAccountId
        sweepId: tools.sweepId
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-update-sweep
      description: Adyen Update a Sweep
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: configuration-accounts.patchbalanceaccountsbalanceaccountidsweepssweepid
      with:
        balanceAccountId: tools.balanceAccountId
        sweepId: tools.sweepId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-get-balance-account
      description: Adyen Get a Balance Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: configuration-accounts.getbalanceaccountsid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-update-balance-account
      description: Adyen Update a Balance Account
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: configuration-accounts.patchbalanceaccountsid
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-get-payment-instruments-linked
      description: Adyen Get Payment Instruments Linked to a Balance Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: configuration-accounts.getbalanceaccountsidpaymentinstruments
      with:
        id: tools.id
        offset: tools.offset
        limit: tools.limit
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-get-grant-account
      description: Adyen Get a Grant Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: configuration-accounts.getgrantaccountsid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: adyen-validate-bank-account
      description: Adyen Validate a Bank Account
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: configuration-accounts.postvalidatebankaccountidentification
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.