---
title: "Submit dispute evidence"
method: POST
path: "/disputes/{dispute_id}/submit_evidence"
tags: ["Disputes API"]
---

# Submit dispute evidence

`POST /disputes/{dispute_id}/submit_evidence`

## Request

- Base URL: `https://sandbox.affirm.com/api/v3`
- URL: `https://sandbox.affirm.com/api/v3/disputes/{dispute_id}/submit_evidence`
- Auth: none declared

## Path parameters

- `dispute_id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- EvidenceSubmissionBody
  - `comment` string, required
  - `file_ids` string[], required: ID for evidence files that need be attached to evidence submission
  - `extra_evidence` ExtraEvidence[]
    - `shipping_info` object
      - `company_name` string: Carrier company for shipment of order
      - `tracking_number` string: Carrier company tracking number for shipment of order
    - `communication_info` object
      - `contact_type` 'already_contacted' | 'no_contact' | 'no_response': Type of contact between customer and merchant prior to dispute opening
      - `merchant_contact_name` string: Name of merchant contact that customer interacted with before opening the dispute
      - `first_contact_date` string, date: First time customer contacted merchant, as YYYY-MM-DD
      - `last_contact_date` string, date: Last time customer contacted merchant, as YYYY-MM-DD
    - `return_info` object
      - `type` 'all' | 'partial' | 'none' | 'not_accepted': Type of return
      - `return_date` string, date: Date of return, as YYYY-MM-DD
      - `method` 'mail' | 'in_store': Method of return
      - `shipping_delivery` string, date: Date of shipment delivery as YYYY-MM-DD
    - `cancellation_info` object
      - `cancellation_status` 'Customer_cancelled_entire_order' | 'Customer_cancelled_part_of_order' | 'Merchant_cancelled_entire_order' | 'Merchant_cancelled_part_of_order' | 'Attempted_cancellation_not_accepted' | 'Not_cancelled'
      - `cancellation_date` string, date: Date of cancellation, as YYYY-MM-DD
      - `cancellation_method` 'Cancelled_online' | 'Cancelled_in_store'
      - `company_name` string: Carrier company for shipment of return
      - `tracking_number` string: Carrier company tracking number for shipment of order
      - `shipping_delivery` string, date: Date of shipment delivery, as YYYY-MM-DD
      - `store_address` string: Store address for cancelled order

## Response `200`

Success

- UpdateDisputeResponse
  - `dispute` Dispute
    - `id` string: ID of dispute
    - `transaction_id` string: ID of associated charge with the dispute
    - `order_id` string: Merchant reference for associated order with the dispute
    - `open` boolean: Indicates if dispute is open or not.
    - `transaction_amount` integer: Total amount in cents of transaction which is being disputed
    - `dispute_amount` integer: Dispute amount in the smallest denomination of the currency, such as cents
    - `currency` string: The local currency of the dispute, must be a valid subset of the ISO 4217 currency code
    - `dispute_reason` 'cancellation_or_return_not_processed' | 'incorrect_amount' | 'product_not_received' | 'product_unacceptable' | 'cancellation_not_processed' | 'return_not_processed': Dispute reason
    - `status` 'action_required_merchant' | 'no_merchant_action_needed' | 'closed_customer_favor' | 'closed_merchant_favor' | 'closed_customer_partial_favor': Current dispute status
    - `response_due_by` string, date-time: Deadline by which merchant must respond to the dispute, in ISO 8601 UTC format
    - `created` string, date-time: Timestamp indicating when the dispute was opened, in ISO 8601 UTC format
    - `updated` string, date-time: Timestamp indicating when the dispute was last updated, in ISO 8601 UTC format
    - `comments` string[]: Text blob from the customer describing the complaint reason for the dispute
    - `attached_files` object[]: Array of attached files to dispute
      - `file_name` string: name of file
      - `file_url` string: presigned_url for file that expires after 60 minutes
    - `closed_at` string, date-time: Timestamp indicating when the dispute was closed, in ISO 8601 UTC format
    - `evidence_received_at` string, date-time: Timestamp indicating when evidence was received for this dispute, in ISO 8601 UTC format
    - `extra_evidence` ExtraEvidence[]
      - `shipping_info` object
        - `company_name` string: Carrier company for shipment of order
        - `tracking_number` string: Carrier company tracking number for shipment of order
      - `communication_info` object
        - `contact_type` 'already_contacted' | 'no_contact' | 'no_response': Type of contact between customer and merchant prior to dispute opening
        - `merchant_contact_name` string: Name of merchant contact that customer interacted with before opening the dispute
        - `first_contact_date` string, date: First time customer contacted merchant, as YYYY-MM-DD
        - `last_contact_date` string, date: Last time customer contacted merchant, as YYYY-MM-DD
      - `return_info` object
        - `type` 'all' | 'partial' | 'none' | 'not_accepted': Type of return
        - `return_date` string, date: Date of return, as YYYY-MM-DD
        - `method` 'mail' | 'in_store': Method of return
        - `shipping_delivery` string, date: Date of shipment delivery as YYYY-MM-DD
      - `cancellation_info` object
        - `cancellation_status` 'Customer_cancelled_entire_order' | 'Customer_cancelled_part_of_order' | 'Merchant_cancelled_entire_order' | 'Merchant_cancelled_part_of_order' | 'Attempted_cancellation_not_accepted' | 'Not_cancelled'
        - `cancellation_date` string, date: Date of cancellation, as YYYY-MM-DD
        - `cancellation_method` 'Cancelled_online' | 'Cancelled_in_store'
        - `company_name` string: Carrier company for shipment of return
        - `tracking_number` string: Carrier company tracking number for shipment of order
        - `shipping_delivery` string, date: Date of shipment delivery, as YYYY-MM-DD
        - `store_address` string: Store address for cancelled order
    - `transition_logs` object[]: A list of all dispute events corresponding to the dispute
      - `type` 'created' | 'customer_evidence_added' | 'merchant_evidence_added' | 'merchant_more_evidence_required' | 'adjudicated_customer_fault' | 'adjudicated_merchant_fault': Type of the dispute state transition denoted by the dispute event
      - `created` string, date-time: Timestamp indicating when the dispute event was opened, in ISO 8601 UTC format

## Other responses

- `400`: Invalid Input
- `401`: Unauthorized
- `404`: Not Found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/affirm/apis/affirm-disputes-api.md) - [All operations](https://skmtc.dev/affirm/apis/affirm-disputes-api/llms.txt) - [OpenAPI document](https://skmtc.dev/affirm/apis/affirm-disputes-api/revisions/c6ae26b115a4?raw)
