naftiko: 1.0.0-alpha2 info: label: Adyen Configuration API — Instruments description: 'Adyen Configuration API — Instruments. 10 operations. Lead operation: Adyen Get Payment Instruments Linked to a Balance Account. Self-contained Naftiko capability covering one Adyen business surface.' tags: - Adyen - Instruments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ADYEN_API_KEY: ADYEN_API_KEY capability: consumes: - type: http namespace: configuration-instruments baseUri: https://balanceplatform-api-test.adyen.com/bcl/v2 description: Adyen Configuration API — Instruments business capability. Self-contained, no shared references. resources: - 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: paymentInstrumentGroups path: /paymentInstrumentGroups operations: - name: postpaymentinstrumentgroups method: POST description: Adyen Create a Payment Instrument Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: paymentInstrumentGroups-id path: /paymentInstrumentGroups/{id} operations: - name: getpaymentinstrumentgroupsid method: GET description: Adyen Get a Payment Instrument Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument group. required: true - name: paymentInstrumentGroups-id-transactionRules path: /paymentInstrumentGroups/{id}/transactionRules operations: - name: getpaymentinstrumentgroupsidtransactionrules method: GET description: Adyen Get All Transaction Rules for a Payment Instrument Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument group. required: true - name: paymentInstruments path: /paymentInstruments operations: - name: postpaymentinstruments method: POST description: Adyen Create a Payment Instrument outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: paymentInstruments-id path: /paymentInstruments/{id} operations: - name: getpaymentinstrumentsid method: GET description: Adyen Get a Payment Instrument outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument. required: true - name: patchpaymentinstrumentsid method: PATCH description: Adyen Update a Payment Instrument outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: paymentInstruments-id-networkTokens path: /paymentInstruments/{id}/networkTokens operations: - name: getpaymentinstrumentsidnetworktokens method: GET description: Adyen List Network Tokens outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument. required: true - name: paymentInstruments-id-reveal path: /paymentInstruments/{id}/reveal operations: - name: getpaymentinstrumentsidreveal method: GET description: Adyen Get the PAN of a Payment Instrument outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument. required: true - name: paymentInstruments-id-transactionRules path: /paymentInstruments/{id}/transactionRules operations: - name: getpaymentinstrumentsidtransactionrules method: GET description: Adyen Get All Transaction Rules for a Payment Instrument outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the payment instrument. required: true authentication: type: apikey key: X-API-Key value: '{{env.ADYEN_API_KEY}}' placement: header exposes: - type: rest namespace: configuration-instruments-rest port: 8080 description: REST adapter for Adyen Configuration API — Instruments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - 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-instruments.getbalanceaccountsidpaymentinstruments with: id: rest.id offset: rest.offset limit: rest.limit status: rest.status outputParameters: - type: object mapping: $. - path: /v1/paymentinstrumentgroups name: paymentinstrumentgroups description: REST surface for paymentInstrumentGroups. operations: - method: POST name: postpaymentinstrumentgroups description: Adyen Create a Payment Instrument Group call: configuration-instruments.postpaymentinstrumentgroups with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/paymentinstrumentgroups/{id} name: paymentinstrumentgroups-id description: REST surface for paymentInstrumentGroups-id. operations: - method: GET name: getpaymentinstrumentgroupsid description: Adyen Get a Payment Instrument Group call: configuration-instruments.getpaymentinstrumentgroupsid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/paymentinstrumentgroups/{id}/transactionrules name: paymentinstrumentgroups-id-transactionrules description: REST surface for paymentInstrumentGroups-id-transactionRules. operations: - method: GET name: getpaymentinstrumentgroupsidtransactionrules description: Adyen Get All Transaction Rules for a Payment Instrument Group call: configuration-instruments.getpaymentinstrumentgroupsidtransactionrules with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/paymentinstruments name: paymentinstruments description: REST surface for paymentInstruments. operations: - method: POST name: postpaymentinstruments description: Adyen Create a Payment Instrument call: configuration-instruments.postpaymentinstruments with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/paymentinstruments/{id} name: paymentinstruments-id description: REST surface for paymentInstruments-id. operations: - method: GET name: getpaymentinstrumentsid description: Adyen Get a Payment Instrument call: configuration-instruments.getpaymentinstrumentsid with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: patchpaymentinstrumentsid description: Adyen Update a Payment Instrument call: configuration-instruments.patchpaymentinstrumentsid with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/paymentinstruments/{id}/networktokens name: paymentinstruments-id-networktokens description: REST surface for paymentInstruments-id-networkTokens. operations: - method: GET name: getpaymentinstrumentsidnetworktokens description: Adyen List Network Tokens call: configuration-instruments.getpaymentinstrumentsidnetworktokens with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/paymentinstruments/{id}/reveal name: paymentinstruments-id-reveal description: REST surface for paymentInstruments-id-reveal. operations: - method: GET name: getpaymentinstrumentsidreveal description: Adyen Get the PAN of a Payment Instrument call: configuration-instruments.getpaymentinstrumentsidreveal with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/paymentinstruments/{id}/transactionrules name: paymentinstruments-id-transactionrules description: REST surface for paymentInstruments-id-transactionRules. operations: - method: GET name: getpaymentinstrumentsidtransactionrules description: Adyen Get All Transaction Rules for a Payment Instrument call: configuration-instruments.getpaymentinstrumentsidtransactionrules with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: configuration-instruments-mcp port: 9090 transport: http description: MCP adapter for Adyen Configuration API — Instruments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - 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-instruments.getbalanceaccountsidpaymentinstruments with: id: tools.id offset: tools.offset limit: tools.limit status: tools.status outputParameters: - type: object mapping: $. - name: adyen-create-payment-instrument-group description: Adyen Create a Payment Instrument Group hints: readOnly: false destructive: false idempotent: false call: configuration-instruments.postpaymentinstrumentgroups with: body: tools.body outputParameters: - type: object mapping: $. - name: adyen-get-payment-instrument-group description: Adyen Get a Payment Instrument Group hints: readOnly: true destructive: false idempotent: true call: configuration-instruments.getpaymentinstrumentgroupsid with: id: tools.id outputParameters: - type: object mapping: $. - name: adyen-get-all-transaction-rules description: Adyen Get All Transaction Rules for a Payment Instrument Group hints: readOnly: true destructive: false idempotent: true call: configuration-instruments.getpaymentinstrumentgroupsidtransactionrules with: id: tools.id outputParameters: - type: object mapping: $. - name: adyen-create-payment-instrument description: Adyen Create a Payment Instrument hints: readOnly: false destructive: false idempotent: false call: configuration-instruments.postpaymentinstruments with: body: tools.body outputParameters: - type: object mapping: $. - name: adyen-get-payment-instrument description: Adyen Get a Payment Instrument hints: readOnly: true destructive: false idempotent: true call: configuration-instruments.getpaymentinstrumentsid with: id: tools.id outputParameters: - type: object mapping: $. - name: adyen-update-payment-instrument description: Adyen Update a Payment Instrument hints: readOnly: false destructive: false idempotent: true call: configuration-instruments.patchpaymentinstrumentsid with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: adyen-list-network-tokens description: Adyen List Network Tokens hints: readOnly: true destructive: false idempotent: true call: configuration-instruments.getpaymentinstrumentsidnetworktokens with: id: tools.id outputParameters: - type: object mapping: $. - name: adyen-get-pan-payment-instrument description: Adyen Get the PAN of a Payment Instrument hints: readOnly: true destructive: false idempotent: true call: configuration-instruments.getpaymentinstrumentsidreveal with: id: tools.id outputParameters: - type: object mapping: $. - name: adyen-get-all-transaction-rules-2 description: Adyen Get All Transaction Rules for a Payment Instrument hints: readOnly: true destructive: false idempotent: true call: configuration-instruments.getpaymentinstrumentsidtransactionrules with: id: tools.id outputParameters: - type: object mapping: $.