naftiko: 1.0.0-alpha2 info: label: VTex Payments Gateway API — Configuration description: 'VTex Payments Gateway API — Configuration. 10 operations. Lead operation: VTex List all affiliations. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Configuration created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: payments-gateway-configuration baseUri: https://{accountName}.vtexpayments.com.br description: VTex Payments Gateway API — Configuration business capability. Self-contained, no shared references. resources: - name: api-pvt-affiliations path: /api/pvt/affiliations operations: - name: affiliations method: GET description: VTex List all affiliations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertaffiliation method: POST description: VTex Insert new affiliation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: api-pvt-affiliations-affiliationId path: /api/pvt/affiliations/{affiliationId} operations: - name: updateaffiliation method: PUT description: VTex Update affiliation by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: affiliationbyid method: GET description: VTex Get affiliation by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-pvt-merchants-payment-systems path: /api/pvt/merchants/payment-systems operations: - name: availablepaymentmethods method: GET description: VTex List all available payment methods outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-pvt-rules path: /api/pvt/rules operations: - name: rules method: GET description: VTex List all payment rules outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertrule method: POST description: VTex Insert a new payment rule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: api-pvt-rules-ruleId path: /api/pvt/rules/{ruleId} operations: - name: rulebyid method: GET description: VTex Get payment rule by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: putrulebyid method: PUT description: VTex Update payment rule by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: rule method: DELETE description: VTex Delete payment rule by ID outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: X-VTEX-API-AppKey value: '{{env.VTEX_API_KEY}}' placement: header exposes: - type: rest namespace: payments-gateway-configuration-rest port: 8080 description: REST adapter for VTex Payments Gateway API — Configuration. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/pvt/affiliations name: api-pvt-affiliations description: REST surface for api-pvt-affiliations. operations: - method: GET name: affiliations description: VTex List all affiliations call: payments-gateway-configuration.affiliations outputParameters: - type: object mapping: $. - method: POST name: insertaffiliation description: VTex Insert new affiliation call: payments-gateway-configuration.insertaffiliation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/pvt/affiliations/{affiliationid} name: api-pvt-affiliations-affiliationid description: REST surface for api-pvt-affiliations-affiliationId. operations: - method: PUT name: updateaffiliation description: VTex Update affiliation by ID call: payments-gateway-configuration.updateaffiliation with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: affiliationbyid description: VTex Get affiliation by ID call: payments-gateway-configuration.affiliationbyid outputParameters: - type: object mapping: $. - path: /v1/api/pvt/merchants/payment-systems name: api-pvt-merchants-payment-systems description: REST surface for api-pvt-merchants-payment-systems. operations: - method: GET name: availablepaymentmethods description: VTex List all available payment methods call: payments-gateway-configuration.availablepaymentmethods outputParameters: - type: object mapping: $. - path: /v1/api/pvt/rules name: api-pvt-rules description: REST surface for api-pvt-rules. operations: - method: GET name: rules description: VTex List all payment rules call: payments-gateway-configuration.rules outputParameters: - type: object mapping: $. - method: POST name: insertrule description: VTex Insert a new payment rule call: payments-gateway-configuration.insertrule with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/pvt/rules/{ruleid} name: api-pvt-rules-ruleid description: REST surface for api-pvt-rules-ruleId. operations: - method: GET name: rulebyid description: VTex Get payment rule by ID call: payments-gateway-configuration.rulebyid outputParameters: - type: object mapping: $. - method: PUT name: putrulebyid description: VTex Update payment rule by ID call: payments-gateway-configuration.putrulebyid with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: rule description: VTex Delete payment rule by ID call: payments-gateway-configuration.rule outputParameters: - type: object mapping: $. - type: mcp namespace: payments-gateway-configuration-mcp port: 9090 transport: http description: MCP adapter for VTex Payments Gateway API — Configuration. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-list-all-affiliations description: VTex List all affiliations hints: readOnly: true destructive: false idempotent: true call: payments-gateway-configuration.affiliations outputParameters: - type: object mapping: $. - name: vtex-insert-new-affiliation description: VTex Insert new affiliation hints: readOnly: false destructive: false idempotent: false call: payments-gateway-configuration.insertaffiliation with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-update-affiliation-id description: VTex Update affiliation by ID hints: readOnly: false destructive: false idempotent: true call: payments-gateway-configuration.updateaffiliation with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-get-affiliation-id description: VTex Get affiliation by ID hints: readOnly: true destructive: false idempotent: true call: payments-gateway-configuration.affiliationbyid outputParameters: - type: object mapping: $. - name: vtex-list-all-available-payment description: VTex List all available payment methods hints: readOnly: true destructive: false idempotent: true call: payments-gateway-configuration.availablepaymentmethods outputParameters: - type: object mapping: $. - name: vtex-list-all-payment-rules description: VTex List all payment rules hints: readOnly: true destructive: false idempotent: true call: payments-gateway-configuration.rules outputParameters: - type: object mapping: $. - name: vtex-insert-new-payment-rule description: VTex Insert a new payment rule hints: readOnly: false destructive: false idempotent: false call: payments-gateway-configuration.insertrule with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-get-payment-rule-id description: VTex Get payment rule by ID hints: readOnly: true destructive: false idempotent: true call: payments-gateway-configuration.rulebyid outputParameters: - type: object mapping: $. - name: vtex-update-payment-rule-id description: VTex Update payment rule by ID hints: readOnly: false destructive: false idempotent: true call: payments-gateway-configuration.putrulebyid with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-delete-payment-rule-id description: VTex Delete payment rule by ID hints: readOnly: false destructive: true idempotent: true call: payments-gateway-configuration.rule outputParameters: - type: object mapping: $.