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

# Update a Dispute

> Atualiza uma dispute.

Atualiza um `dispute` com semântica de merge. Envie `submit: true` quando a
evidência já estiver pronta para análise.

<ParamField path="id" type="string" required>
  ID do dispute (`dp_*`).
</ParamField>

<ParamField body="evidence" type="object">
  Evidências textuais ou referências previamente registradas.
</ParamField>

<ParamField body="metadata" type="object">
  Pares chave-valor livres.
</ParamField>

<ParamField body="submit" type="boolean">
  Quando `true`, envia a contestação para análise. O dispute passa para
  `under_review` se o envio for aceito.
</ParamField>

<RequestExample>
  ```bash cURL theme={}
  curl -X POST "https://api.chargefy.io/v1/disputes/dp_123" \
    -H "Authorization: Bearer {{API_KEY}}" \
    -H "Content-Type: application/json" \
    -d '{
      "evidence": {
        "customer_communication": "Conversation and receipt attached."
      },
      "metadata": {
        "case_owner": "ops"
      },
      "submit": true
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response 200 theme={}
  {
    "id": "dp_123",
    "object": "dispute",
    "amount": 15000,
    "charge": "ch_123",
    "closed_at": null,
    "created_at": "2026-05-22T03:00:00Z",
    "currency": "brl",
    "customer": "cus_123",
    "evidence": {
      "customer_communication": "Conversation and receipt attached.",
      "file": "file_123"
    },
    "evidence_details": {
      "due_by": "2026-05-29T03:00:00Z",
      "has_evidence": true,
      "past_due": false,
      "submission_count": 1
    },
    "is_charge_refundable": true,
    "livemode": true,
    "metadata": {
      "case_owner": "ops"
    },
    "payment_intent": "pi_123",
    "reason": "fraudulent",
    "status": "under_review",
    "updated_at": "2026-05-22T18:10:00Z"
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json Response 409 theme={}
  {
    "error": {
      "code": "resource_state_conflict",
      "message": "Evidence due date has passed",
      "type": "invalid_request_error"
    }
  }
  ```
</ResponseExample>
