> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch a Dispute With ID (With Expanded transaction.settlement Details)

> Fetch a Dispute using Razorpay Disputes API.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

Use this endpoint to retrieve the details of a specific dispute using expanded `transaction.settlement` details.

<RequestExample>
  ```bash Curl theme={null}
  curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
  -X GET https://dashboard.dev.razorpay.in/app/disputes/disp_K8bVLppJ8zp5Wp?expand[]=transaction.settlement \
  -H "Content-Type: application/json"
  ```

  ```bash CLI theme={null}
  razorpay disputes fetch disp_AHfqOvkldwsbqt --expand transaction.settlement
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
     "status_code":200,
     "success":true,
     "data":{
        "id":"disp_K8bVLppJ8zp5Wp",
        "entity":"dispute",
        "payment_id":"pay_K74a54NSclvx1M",
        "amount":36800,
        "currency":"INR",
        "amount_deducted":0,
        "gateway_dispute_id":"testtwo",
        "reason_code":"2",
        "reason_description":"live test",
        "respond_by":1661711400,
        "status":"under_review",
        "phase":"chargeback",
        "comments":null,
        "evidence":{
           "amount":368,
           "summary":"testing",
           "submitted_at":1661159542,
           "shipping_proof":null,
           "billing_proof":null,
           "cancellation_proof":null,
           "customer_communication":null,
           "proof_of_service":[
              "doc_K8cgi0fgjXk0En"
           ],
           "explanation_letter":null,
           "refund_confirmation":[
              "doc_K8chcnednNAcrD"
           ],
           "access_activity_log":null,
           "refund_cancellation_policy":null,
           "terms_and_conditions":null,
           "others":[
              {
                 "type":"second",
                 "document_ids":[
                    "doc_K8cIsvjyHY5KuO"
                 ]
              }
           ]
        },
        "lifecycle":[
           {
              "change":{
                 "new":{
                    "status":"under_review"
                 },
                 "old":{
                    "status":"open"
                 }
              },
              "user_id":"AlNVTJfGQwKf7O",
              "created_at":1661159543,
              "merchant_id":"AlNVTRJpqd9sqB"
           }
        ],
        "created_at":1661154932,
        "reason":{
           "gateway_code":"2",
           "gateway_description":"livetest",
           "code":"2",
           "description":"live test",
           "network":"Amex"
        },
        "transaction":null
     }
  }
  ```

  ```json Failure theme={null}
  {
    "error":{
      "code":"BAD_REQUEST_ERROR",
      "description":"Value of each expand must be one of following types: empty",
      "source":"business",
      "step":"payment_initiation",
      "reason":"input_validation_failed",
      "metadata":{

      },
      "field":"expand.0"
    }
  }
  ```
</ResponseExample>

## Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier of the dispute.
</ParamField>

## Query Parameters

<ParamField query="expand[]=transaction.settlement" type="string">
  Use to expand the transaction.settlement details of a dispute.
</ParamField>

## Response Parameters

<ResponseField name="id" type="string">
  The unique identifier of the dispute generated by Razorpay. For example, `disp_AHfqOvkldwsbqt`.
</ResponseField>

<ResponseField name="entity" type="string">
  Indicates the type of entity. In this case, it is `dispute`.
</ResponseField>

<ResponseField name="payment_id" type="string">
  The unique identifier of the payment against which the dispute was created. For example, `pay_EsyWjHrfzb59eR`.
</ResponseField>

<ResponseField name="amount" type="integer">
  Amount, in currency subunits, for which the dispute was created.<br />
</ResponseField>

<ResponseField name="currency" type="string">
  3-letter ISO currency code associated with the amount. Check the list of [supported currencies](/docs/payments/international-payments#supported-currencies).
</ResponseField>

<ResponseField name="amount_deducted" type="integer">
  The amount, in currency subunits, deducted from your Razorpay current balance when the dispute is `lost`. This amount will be `0` unless the status of dispute is updated to `lost`. Know about the different [states of disputes](/docs/payments/disputes#dispute-states).
</ResponseField>

<ResponseField name="reason_code" type="string">
  Code associated with the reason for the dispute.
</ResponseField>

<ResponseField name="reason_description" type="string">
  A brief description of the reason for dispute.
</ResponseField>

<ResponseField name="respond_by" type="integer">
  Unix timestamp by which a response should be sent to the customer.
</ResponseField>

<ResponseField name="status" type="string">
  The status of the dispute. Possible statuses are:

  * `open`: Indicates that the dispute has been created.
  * `under_review`: Indicates that the issuing bank is reviewing the dispute.
  * `won`: Indicates that the bank has accepted the remedial documents, and you have won the chargeback.
  * `lost`: Indicates that the bank did not accept the remedial documents, and you have lost the chargeback.
  * `closed`: Indicates that the fraudulent transaction was closed after you provided either the transaction details or made a refund to the customer.
</ResponseField>

<ResponseField name="phase" type="string">
  Phase associated with the dispute. Possible phases are:

  * `fraud`: A dispute raised by the bank when it suspects a transaction to be fraudulent based on the risk analysis.
  * `retrieval`: A request initiated by the customer with their issuer bank for additional information about a transaction.
  * `chargeback`: A refund claim initiated by the customers with their issuer banks. In such cases, the bank starts an official inquiry.
  * `pre_arbitration`: A chargeback that you have won is challenged by the customer for the second time.
  * `arbitration`: A chargeback that you have won is challenged for a third time by the customer and the card networks directly getting involved.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Unix timestamp when the dispute was created.
</ResponseField>

<ResponseField name="evidence" type="object">
  Provides details of the evidence submitted/saved for contesting a dispute. Use the [Documents API](/docs/api/documents) to securely share documents with Razorpay.
</ResponseField>

<ResponseField name="amount" type="integer">
  The contested amount in currency subunits, for which evidence is provided. The value can vary from `0` to the dispute amount. The default value is the dispute amount.
</ResponseField>

<ResponseField name="summary" type="string">
  The explanation provided by you for contesting the dispute. It can have a maximum length of 1000 characters.
</ResponseField>

<ResponseField name="shipping_proof" type="list">
  List of document ids which serves as proof that the product was shipped to the customer at their provided address. It should show their complete shipping address, if possible.
</ResponseField>

<ResponseField name="billing_proof" type="list">
  List of document ids which serves as proof of order confirmation, such as a receipt.
</ResponseField>

<ResponseField name="cancellation_proof" type="list">
  List of document ids that serves as proof that this product/service was cancelled.
</ResponseField>

<ResponseField name="customer_communication" type="list">
  List of document ids listing any written/email communication from the customer confirming that the customer received the product/service or is satisfied with the product/service.
</ResponseField>

<ResponseField name="proof_of_service" type="list">
  List of document ids showing proof of service provided to the customer.
</ResponseField>

<ResponseField name="explanation_letter" type="list">
  (List of document ids) Any letter(s) from you specifying information pertinent to the dispute/payment that needs to be considered for processing the dispute.
</ResponseField>

<ResponseField name="refund_confirmation" type="list">
  List of document ids showing proof that the refund had been provided to the customer.
</ResponseField>

<ResponseField name="access_activity_log" type="list">
  List of document ids of any server or activity logs which prove that the customer accessed or downloaded the purchased digital product.
</ResponseField>

<ResponseField name="refund_cancellation_policy" type="list">
  List of document ids listing your refund and/or cancellation policy, as shown to the customer.
</ResponseField>

<ResponseField name="term_and_conditions" type="list">
  List of document ids listing your sales terms and conditions, as shown to the customer.
</ResponseField>

<ResponseField name="others" type="list">
  Specifies the evidence documents to be uploaded as a part of contesting a dispute. It is a list of tuples consisting of the following:
</ResponseField>

<ResponseField name="type" type="string">
  Describes the custom type of evidence document(s) provided.
</ResponseField>

<ResponseField name="document_ids" type="list">
  List of document ids corresponding to the customer evidence type.

  ```json Example theme={null}
  [
    {
      "type": "receipt_signed_by_customer",
      "document_ids": [
        "doc_EFtmUsbwpXwBH7",
        "doc_EFtmUsbwpXwBH6"
      ]
    }  
  ]
  ```
</ResponseField>

<ResponseField name="submitted_at" type="integer">
  Unix timestamp when the dispute was last submitted by you (for review) to Razorpay. The default value is `null`.
</ResponseField>

## Errors

<AccordionGroup>
  <Accordion title="The id provided does not exist.">
    **Code:** `400`

    * A wrong prefix is used.
    * The dispute id does not exist or does not belong to the requestor.

    **Solution:**

    * The dispute id must start with `disp_`.
    * Use a valid dispute id that belongs to the requestor.
  </Accordion>

  <Accordion title="_id is not a valid id.">
    **Code:** `400`

    * The id is not 14 characters long.
    * The id is not alphanumeric.

    **Solution:** Use a valid dispute id.
  </Accordion>

  <Accordion title="Value of each expand must be one of following types: payment, transaction.settlement">
    **Code:** `400`

    The value of the `expand` query parameter is neither `payments` nor `transaction.settlement`.

    **Solution:** Pass the `expand` query parameter value as either `payments` or `transaction.settlement`.
  </Accordion>
</AccordionGroup>
