naftiko: 1.0.0-alpha2 info: label: Tabby Disputes API — Disputes description: Tabby Disputes API — Disputes. List, retrieve, provide evidence for, and bulk-approve or challenge BNPL disputes. Live payments only. tags: - Tabby - BNPL - Disputes - Chargebacks created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: TABBY_SECRET_KEY: TABBY_SECRET_KEY capability: consumes: - type: http namespace: disputes-disputes baseUri: https://api.tabby.ai description: Tabby Disputes API — Disputes consume block. resources: - name: disputes path: /api/v1/disputes operations: - name: listdisputes method: GET description: Tabby Get Disputes List — returns list of 100 recently created disputes with optional filters. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dispute-by-id path: /api/v1/disputes/{disputeId} operations: - name: getdispute method: GET description: Tabby Get Dispute By Id. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: disputeId in: path type: string description: Dispute UUID. required: true - name: dispute-evidence path: /api/v1/disputes/{disputeId}/provide-evidence operations: - name: providedisputeevidence method: POST description: Tabby Provide Evidence For A Dispute. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: disputeId in: path type: string description: Dispute UUID. required: true - name: body in: body type: object description: Evidence payload — merchant proof / attachments references. required: true - name: disputes-approve path: /api/v1/disputes/approve operations: - name: approvedisputes method: POST description: Tabby Approve Disputes — refund money to the customer (max 20 disputes per request). outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Array of up to 20 dispute ids to approve. required: true - name: disputes-challenge path: /api/v1/disputes/challenge operations: - name: challengedisputes method: POST description: Tabby Challenge Disputes — request support review for disputes with status 'new'. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Array of new-status dispute ids to challenge. required: true - name: disputes-upload path: /api/v1/disputes/upload-attachment operations: - name: uploadattachment method: POST description: Tabby Upload Attachment — PNG/JPEG/PDF, max 5MB. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Multipart attachment payload. required: true authentication: type: bearer value: '{{env.TABBY_SECRET_KEY}}' placement: header exposes: - type: rest namespace: disputes-disputes-rest port: 8080 description: REST adapter for Tabby Disputes — Disputes. resources: - path: /v1/disputes name: disputes description: REST surface for listing disputes. operations: - method: GET name: listdisputes description: List recent Tabby disputes. call: disputes-disputes.listdisputes outputParameters: - type: object mapping: $. - path: /v1/disputes/{disputeId} name: dispute-by-id description: REST surface for an individual dispute. operations: - method: GET name: getdispute description: Retrieve a Tabby dispute by id. call: disputes-disputes.getdispute with: disputeId: rest.path.disputeId outputParameters: - type: object mapping: $. - path: /v1/disputes/{disputeId}/provide-evidence name: dispute-evidence description: REST surface for submitting evidence. operations: - method: POST name: providedisputeevidence description: Provide evidence for a Tabby dispute. call: disputes-disputes.providedisputeevidence with: disputeId: rest.path.disputeId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/disputes/approve name: disputes-approve description: REST surface for bulk approval. operations: - method: POST name: approvedisputes description: Approve up to 20 Tabby disputes (refunds customers). call: disputes-disputes.approvedisputes with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/disputes/challenge name: disputes-challenge description: REST surface for bulk challenge. operations: - method: POST name: challengedisputes description: Challenge Tabby disputes with status 'new'. call: disputes-disputes.challengedisputes with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/disputes/upload-attachment name: disputes-upload description: REST surface for attachment upload. operations: - method: POST name: uploadattachment description: Upload PNG/JPEG/PDF evidence (max 5MB) for a dispute. call: disputes-disputes.uploadattachment with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: disputes-disputes-mcp port: 9090 transport: http description: MCP adapter for Tabby Disputes — Disputes. tools: - name: tabby-list-disputes description: List the 100 most recent Tabby disputes. hints: readOnly: true destructive: false idempotent: true call: disputes-disputes.listdisputes outputParameters: - type: object mapping: $. - name: tabby-get-dispute description: Retrieve a Tabby dispute by id. hints: readOnly: true destructive: false idempotent: true call: disputes-disputes.getdispute with: disputeId: tools.disputeId outputParameters: - type: object mapping: $. - name: tabby-provide-dispute-evidence description: Provide evidence for a Tabby dispute. hints: readOnly: false destructive: false idempotent: false call: disputes-disputes.providedisputeevidence with: disputeId: tools.disputeId body: tools.body outputParameters: - type: object mapping: $. - name: tabby-approve-disputes description: Approve Tabby disputes (refunds customers, max 20 per request). hints: readOnly: false destructive: true idempotent: false call: disputes-disputes.approvedisputes with: body: tools.body outputParameters: - type: object mapping: $. - name: tabby-challenge-disputes description: Challenge new-status Tabby disputes for support review. hints: readOnly: false destructive: false idempotent: false call: disputes-disputes.challengedisputes with: body: tools.body outputParameters: - type: object mapping: $. - name: tabby-upload-dispute-attachment description: Upload PNG/JPEG/PDF evidence (max 5MB) for a Tabby dispute. hints: readOnly: false destructive: false idempotent: false call: disputes-disputes.uploadattachment with: body: tools.body outputParameters: - type: object mapping: $.