Tabby · Capability

Tabby Disputes API — Disputes

Tabby Disputes API — Disputes. List, retrieve, provide evidence for, and bulk-approve or challenge BNPL disputes. Live payments only.

Tabby Disputes API — Disputes is a Naftiko capability published by Tabby, one of 6 capabilities the APIs.io network indexes for this provider. It bundles 6 operations across the POST and GET methods rooted at /v1/disputes.

The capability includes 2 read-only operations and 4 state-changing operations. Lead operation: List the 100 most recent Tabby disputes. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Tabby, BNPL, Disputes, and Chargebacks.

Run with Naftiko TabbyBNPLDisputesChargebacks

What You Can Do

GET
Listdisputes — List recent Tabby disputes.
/v1/disputes
GET
Getdispute — Retrieve a Tabby dispute by id.
/v1/disputes/{disputeId}
POST
Providedisputeevidence — Provide evidence for a Tabby dispute.
/v1/disputes/{disputeId}/provide-evidence
POST
Approvedisputes — Approve up to 20 Tabby disputes (refunds customers).
/v1/disputes/approve
POST
Challengedisputes — Challenge Tabby disputes with status 'new'.
/v1/disputes/challenge
POST
Uploadattachment — Upload PNG/JPEG/PDF evidence (max 5MB) for a dispute.
/v1/disputes/upload-attachment

MCP Tools

tabby-list-disputes

List the 100 most recent Tabby disputes.

read-only idempotent
tabby-get-dispute

Retrieve a Tabby dispute by id.

read-only idempotent
tabby-provide-dispute-evidence

Provide evidence for a Tabby dispute.

tabby-approve-disputes

Approve Tabby disputes (refunds customers, max 20 per request).

tabby-challenge-disputes

Challenge new-status Tabby disputes for support review.

tabby-upload-dispute-attachment

Upload PNG/JPEG/PDF evidence (max 5MB) for a Tabby dispute.

Capability Spec

disputes-disputes.yaml Raw ↑
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: $.