---
title: "Submit evidence for a payment dispute"
method: POST
path: "/api/v1/disputes/{id}/respond"
tags: ["Payments"]
---

# Submit evidence for a payment dispute

`POST /api/v1/disputes/{id}/respond`

## Request

- Base URL: `https://merchant.zahlo.eu`
- URL: `https://merchant.zahlo.eu/api/v1/disputes/{id}/respond`
- Auth: API key in header `x-api-key`

Submit evidence for a payment dispute. Use the response status and request ID to decide whether to retry, reconcile, or ask the customer for action.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- DisputeEvidenceRequest
  - `evidence` object, required
    - `defenseReasonCode` string, required: Reason code from the dispute's accepted defense reasons.
    - `documents` object[]
      - `defenseDocumentTypeCode` string, required
      - `fileName` string, required
      - `contentType` 'application/pdf' | 'image/jpeg' | 'image/jpg' | 'image/tiff', required
      - `contentBase64` string, required: Base64 file bytes. PDF up to 2 MB, images up to 10 MB.

## Response `200`

Dispute evidence submitted

- Dispute
  - `id` string, required
  - `paymentId` string, required: The payment's id, as GET /api/v1/payments/{id} takes it.
  - `status` 'needs_response' | 'under_review' | 'won' | 'lost' | 'closed', required
  - `amount` Money, required
    - `amountMinor` integer, required: Amount in the smallest currency unit
    - `currency` string, required
  - `reason` string
  - `evidenceDueAt` string, date-time

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `404`: Resource not found
- `409`: Request conflicts with existing state

---

[API](https://skmtc.dev/zahlo/apis/zahlo-merchant-api.md) - [All operations](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/revisions/8fcbef981e0d?raw)
