> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tabby.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Provide evidence for a dispute

> Provide evidence (text and/or attachments) for a dispute. Used by the merchant to submit proof in response to an evidence request.



## OpenAPI

````yaml post /api/v1/disputes/{disputeId}/provide-evidence
openapi: 3.1.0
info:
  title: Tabby API Reference
  version: 1.0.0
  x-logo:
    url: assets/tabby-new.png
    altText: tabby Logo
  description: |
    Tabby Documentation:  **[docs.tabby.ai](https://docs.tabby.ai/)**
servers:
  - url: https://api.tabby.ai/
    description: Production (UAE, Kuwait)
  - url: https://api.tabby.sa/
    description: Production (KSA)
security: []
tags:
  - name: Checkout
    description: >-
      Checkout is a whole process of customer data collection and payment
      authorization.
  - name: Payments
    description: >-
      The core of tabby is a payments flow enabling you to handle payments at
      your webstore.
  - name: Webhooks
    description: Manage webhook endpoints.
  - name: Disputes
    description: >-
      The Disputes API is designed to simplify the process of handling disputes
      and help merchants resolve issues with customer orders more efficiently.
      Merchants can use this API to retrieve a list of disputes, view details
      about a specific dispute, and approve or challenge a bunch of disputes. It
      mirrors the functionality available in Tabby Merchant Dashboard and
      operates exclusively with live payments using live credentials. A secret
      key is required for using the Disputes API. <SchemaDefinition
      schemaRef="#/components/schemas/Webhook" />
paths:
  /api/v1/disputes/{disputeId}/provide-evidence:
    post:
      tags:
        - Disputes
      summary: Provide evidence for a dispute
      description: >-
        Provide evidence (text and/or attachments) for a dispute. Used by the
        merchant to submit proof in response to an evidence request.
      operationId: postDisputeProvideEvidence
      parameters:
        - $ref: '#/components/parameters/disputeIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  example: >-
                    I am providing a photo of the damaged product that was
                    received
                  description: Text content of the evidence being provided.
                attachment_ids:
                  type: array
                  items:
                    type: string
                    format: uuid
                    example: attachment id, uuid format
                  description: >-
                    Array of attachment IDs to include as evidence. IDs can be
                    received via `upload attachment` endpoint.
              required:
                - content
      responses:
        '200':
          $ref: '#/components/responses/DisputeProvideEvidence'
        '400':
          $ref: '#/components/responses/BadRequestError_bad_request'
        '401':
          $ref: '#/components/responses/AuthenticationError_invalid_secret_key'
        '404':
          $ref: '#/components/responses/NotFoundError_Disputes'
        '409':
          $ref: '#/components/responses/DisputeProvideEvidenceConflict'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      security:
        - bearerAuth:
            - secret_key
components:
  parameters:
    disputeIdParam:
      in: path
      name: dispute_id
      required: true
      schema:
        type: string
        format: uuid
        example: dispute id, uuid format
      description: ID of the dispute.
  responses:
    DisputeProvideEvidence:
      description: Success. Evidence was submitted for the dispute.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Evidence'
    BadRequestError_bad_request:
      description: >-
        One of the required fields is missing or request is not formatted
        correctly.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error_400_bad_request'
    AuthenticationError_invalid_secret_key:
      description: The request cannot be authorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error_401_invalid_secret_key'
    NotFoundError_Disputes:
      description: You are using an incorrect ID.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error_404_dispute_not_found'
    DisputeProvideEvidenceConflict:
      description: >-
        Conflict. Evidence cannot be submitted for the dispute in its current
        state.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error_409'
    UnexpectedError:
      description: Something bad happened. We're notified.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error_500'
  schemas:
    Evidence:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: evidence id, uuid format
          description: Evidence ID.
        dispute_id:
          type: string
          format: uuid
          example: dispute id, uuid format
          description: Dispute ID.
        content:
          type: string
          example: I am providing a photo of the damaged product that was received
          description: Evidence content.
        created_by:
          type: string
          example: merchant
          description: Who created the evidence.
        created_at:
          type: string
          format: date-time
          example: '2024-01-15T10:30:00Z'
          description: Creation timestamp in UTC, ISO 8601 datetime format.
        attachment_ids:
          type: array
          items:
            type: string
            format: uuid
            example: attachment id, uuid format
          description: Array of attachment IDs.
      required:
        - id
        - dispute_id
        - content
        - created_by
        - created_at
    Error_400_bad_request:
      type: object
      properties:
        status:
          type: string
          example: error
        errorType:
          type: string
          example: bad_data
        error:
          type: string
          example: bad_request
    Error_401_invalid_secret_key:
      type: object
      properties:
        status:
          type: string
          example: error
        errorType:
          type: string
          example: not_authorized
        error:
          type: string
          example: invalid secret key
    Error_404_dispute_not_found:
      type: object
      properties:
        status:
          type: string
          example: error
        errorType:
          type: string
          example: not_found
        error:
          type: string
          example: dispute not found
    Error_409:
      type: object
      properties:
        status:
          type: string
          example: error
        errorType:
          type: string
          example: conflict
        error:
          type: string
          example: payment is disputed
    Error_500:
      type: string
      example: Internal Server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Bearer authentication header of the form `Bearer <secret_key>`, where
        `<secret_key>` is your `secret_key`.

````