---
title: "Challenge disputes"
method: POST
path: "/api/v1/disputes/challenge"
tags: ["Disputes"]
---

# Challenge disputes

`POST /api/v1/disputes/challenge`

Challenge disputes (request Tabby support to take a look at the case). Only 20 disputes can be challenged within a single request. Only disputes with status 'new' might be challenged.

## Request body

- object
  - `dispute_id` string, required — ID of the dispute
  - `description` string, required — Comment for Tabby support.
  - `reason` 'merchant_reason_other' | 'merchant_reason_order_on_its_way' | 'merchant_reason_order_has_been_already_delivered' | 'merchant_reason_order_amount_should_be_different' | 'merchant_reason_problem_with_delivery', required — Reason for requesting dispute challenge: - `merchant_reason_other` - there were other problems with the order that required further clarification; - `merchant_reason_order_on_its_way` - the order has been confirmed and is in the process of being delivered; - `merchant_reason_order_has_been_already_delivered` - the order has already been delivered and is complete; - `merchant_reason_order_amount_should_be_different` - there was a problem with the amount of the order and it needed to be changed; - `merchant_reason_problem_with_delivery` - there was a problem with the order during delivery that needed to be adjusted and resolved.
  - `amount` string — If the dispute challenged with reason `merchant_reason_order_amount_should_be_different` - a new disputed amount is required.
  - `attachment_ids` string[] — Attachment ID that will be attached. ID can be received via `upload attachment` endpoint.

## Response `200`

Success. Disputes were challenged.

- object
  - `disputes` DisputeNoHistory[]
    - `id` string, uuid, required — ID of the dispute.
    - `attachments` string[], nullable, required — Array of links to images which were uploaded by customer.
    - `payment_id` string, uuid, required — Unique identifier for the payment (UUID), assigned by Tabby. Save it on your side!
    - `amount` string, required — Total disputed amount.
    - `currency` 'AED' | 'SAR', required — ISO 4217 currency code for the payment amount. Currently there are 2 possible currency options - depending on the country where the store is located: - `AED` - United Arab Emirates Dirham - `SAR` - Saudi Riyal
    - `created_at` string, required — Date and time the Dispute was created, in UTC, and displayed in ISO 8601 datetime format.
    - `expired_at` string, required — Date and time of the expiration of the Dispute, in UTC, and displayed in ISO 8601 datetime format.
    - `status` 'new' | 'declined' | 'cancelled' | 'refunded' | 'in_progress' | 'evidence_merchant' | 'evidence_customer', required — The current status of the dispute: - `new` - dispute pending merchant approval for refund or initiate a challenge - `declined` - dispute was declined by Tabby support - `cancelled` - dispute was canceled by customer - `refunded` - dispute was approved or the order was refunded via Payments API - `in_progress` - merchant challenged dispute and need a response from Tabby support - `evidence_merchant` - waiting for evidence from the merchant - `evidence_customer` - waiting for evidence from the customer
    - `reason` 'unreceived_refund' | 'identity_theft' | 'product_issue' | 'not_delivered', required — Cause of the dispute was created (selected by customer). There are only four reasons: - `unreceived_refund` - a refund not received - `identity_theft` - I did not place this order (also known as identity theft) - `product_issue` - there was a problem with the product - `not_delivered` - the order was not delivered
    - `days_left` integer, required — How many days left before dispute will be automatically approved.
    - `items` DisputeOrderItem[], required
      - `reference_id` string, required — Reference id from payment.
      - `title` string, required — Order item title.
      - `unit_price` string, required — Order item unit price.
    - `order_number` string, required — Merchant-assigned order number.
    - `comment` string, required — The customer additional comments on the causes of the dispute.

## Other responses

- `400` — One of the required fields is missing or request is not formatted correctly.
- `401` — The request cannot be authorized.
- `404` — You are using an incorrect ID.
- `500` — Something bad happened. We're notified.

---

[API](https://skmtc.dev/tabby/apis/tabby-api-reference.md) · [All operations](https://skmtc.dev/tabby/apis/tabby-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tabby/tabby-api-reference/revisions/cff62a2a6ee9/schema)
