naftiko: 1.0.0-alpha2 info: label: Braintree Payments API — Disputes description: 'Braintree Payments API — Disputes. 3 operations. Lead operation: List disputes. Self-contained Naftiko capability covering one Braintree business surface.' tags: - Braintree - Disputes created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BRAINTREE_API_KEY: BRAINTREE_API_KEY capability: consumes: - type: http namespace: payments-disputes baseUri: https://api.braintreegateway.com/merchants/{merchantId} description: Braintree Payments API — Disputes business capability. Self-contained, no shared references. resources: - name: disputes path: /disputes operations: - name: listdisputes method: GET description: List disputes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter disputes by current status. - name: received_date in: query type: string description: Filter disputes received on or after this date in YYYY-MM-DD format. - name: page in: query type: integer description: Page number for paginated results, starting at 1. - name: disputes-disputeId path: /disputes/{disputeId} operations: - name: getdispute method: GET description: Get a dispute outputRawFormat: json outputParameters: - name: result type: object value: $. - name: disputes-disputeId-accept path: /disputes/{disputeId}/accept operations: - name: acceptdispute method: PUT description: Accept a dispute outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.BRAINTREE_USER}}' password: '{{env.BRAINTREE_PASS}}' exposes: - type: rest namespace: payments-disputes-rest port: 8080 description: REST adapter for Braintree Payments API — Disputes. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/disputes name: disputes description: REST surface for disputes. operations: - method: GET name: listdisputes description: List disputes call: payments-disputes.listdisputes with: status: rest.status received_date: rest.received_date page: rest.page outputParameters: - type: object mapping: $. - path: /v1/disputes/{disputeid} name: disputes-disputeid description: REST surface for disputes-disputeId. operations: - method: GET name: getdispute description: Get a dispute call: payments-disputes.getdispute outputParameters: - type: object mapping: $. - path: /v1/disputes/{disputeid}/accept name: disputes-disputeid-accept description: REST surface for disputes-disputeId-accept. operations: - method: PUT name: acceptdispute description: Accept a dispute call: payments-disputes.acceptdispute outputParameters: - type: object mapping: $. - type: mcp namespace: payments-disputes-mcp port: 9090 transport: http description: MCP adapter for Braintree Payments API — Disputes. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-disputes description: List disputes hints: readOnly: true destructive: false idempotent: true call: payments-disputes.listdisputes with: status: tools.status received_date: tools.received_date page: tools.page outputParameters: - type: object mapping: $. - name: get-dispute description: Get a dispute hints: readOnly: true destructive: false idempotent: true call: payments-disputes.getdispute outputParameters: - type: object mapping: $. - name: accept-dispute description: Accept a dispute hints: readOnly: false destructive: false idempotent: true call: payments-disputes.acceptdispute outputParameters: - type: object mapping: $.