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

# disputeEvidenceUpdate

> Change a Shopify or PayPal dispute's written evidence; files can't be changed. Shopify gets the answers right away as its draft, merged with the stored files into one document as the merchant app's save does, and nothing is submitted; PayPal gets them on submit. A Shopify dispute whose order Redo has no copy of fails with DISPUTE_ORDER_NOT_FOUND (409) and changes nothing; a refusal from Shopify fails with DISPUTE_PROVIDER_REJECTED (502) after the answers are saved in Redo. A Stripe dispute fails with DISPUTE_SOURCE_NOT_SUPPORTED (409). It fails with CHARGEBACKS_NOT_ENABLED (403) when chargebacks is off, and CHARGEBACKS_BILLING_REQUIRED (403) when billing must be set up first (`chargebacksEnable` starts a trial for a store that never had one). Returns null for a dispute the store doesn't have.

**Required scopes:** [`chargebacks_write`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-chargebacks_write)

**Store must have one of:** `DISPUTES`

## Arguments

**id** `ID!` *required*

The dispute's `id`.

**input** `[DisputeEvidenceUpdateInput!](/docs/api-reference/v3/reference/disputes/dispute-evidence-update-input)` *required*

The answers to change.

**fields**

**activityLog** `String`

The cardholder's account and order activity that shows they made the purchase.

**cancellationPolicyDisclosure** `String`

How the cancellation policy was shown to the cardholder.

**cancellationRebuttal** `String`

Why the cardholder is not owed a refund for cancelling.

**invalidDisputeReason** `String`

Why the dispute is invalid.

**productDescription** `String`

A description of what was sold.

**refundPolicyDisclosure** `String`

How the refund policy was shown to the cardholder.

**refundRefusalExplanation** `String`

Why the cardholder is not owed a refund.

## Returns

**disputeEvidenceUpdate** `[Dispute](/docs/api-reference/v3/reference/disputes/dispute)`

A chargeback or inquiry a cardholder opened against one of the store's payments, from Reclaim.

**fields**

**amount** `[Money!](/docs/api-reference/v3/reference/common/money)` *required*

The disputed amount, in the payment's currency.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**autoEvidenceDisabled** `Boolean!` *required*

Whether evidence automation is off for this dispute, whatever the store's setting.

**bankCountry** `String`

The issuing bank's country, when known.

**bankName** `String`

The card's issuing bank, when known.

**cardBin** `String`

The bank identification number (the card's first digits), when known.

**cardBrand** `[DisputeCardBrand](/docs/api-reference/v3/reference/disputes/dispute-card-brand)`

The card network, from the card number's first digits. Null when they don't identify one.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When Redo first recorded the dispute.

**evidence** `[DisputeEvidence](/docs/api-reference/v3/reference/disputes/dispute-evidence)`

The evidence prepared for the dispute. Null when none has been.

**Requires:** [`chargebacks_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-chargebacks_read)

**fields**

**activityLog** `String`

The cardholder's account and order activity that shows they made the purchase.

**affidavitFileUrl** `String`

A signed affidavit.

**billingAgreementFileUrl** `String`

A file of the billing agreement.

**cancellationPolicyDisclosure** `String`

How the cancellation policy was shown to the cardholder.

**cancellationPolicyFileUrl** `String`

A file of the cancellation policy.

**cancellationRebuttal** `String`

Why the cardholder is not owed a refund for cancelling.

**customerCommunicationFileUrl** `String`

A file of the store's communication with the cardholder.

**invalidDisputeReason** `String`

Why the dispute is invalid.

**orderDetailsFileUrl** `String`

A file of the order's details.

**productDescription** `String`

A description of what was sold.

**refundPolicyDisclosure** `String`

How the refund policy was shown to the cardholder.

**refundPolicyFileUrl** `String`

A file of the refund policy.

**refundRefusalExplanation** `String`

Why the cardholder is not owed a refund.

**serviceDocumentationFileUrl** `String`

A file documenting a service provided.

**shippingDocumentationFileUrl** `String`

A file documenting shipment and delivery.

**termsAcceptanceFileUrl** `String`

A file showing the cardholder accepted the store's terms.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the evidence last changed.

**evidenceDueAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

The deadline to submit evidence. Null when the provider gave none.

**evidenceGeneratedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When evidence was generated for the dispute. Null when none has been.

**evidenceSentAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When evidence was submitted. Null until it is.

**finalizedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the dispute was decided. Null while it is open.

**id** `ID!` *required*

The id of this dispute.

**initiatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the cardholder opened the dispute.

**networkReasonCode** `String`

The card network's reason code (e.g. Visa `10.4`), when the provider gave one.

**order** `[Order](/docs/api-reference/v3/reference/orders/order)`

The disputed Shopify order. Null when Redo has no copy of it, or a PayPal dispute's order wasn't matched to one.

**Requires:** [`orders_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-orders_read)

**fields**

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the order was placed (the ecommerce provider's creation time, falling back to Redo's ingestion time).

**currencyCode** `String`

The ISO 4217 currency code the order was placed in.

**customer** `[OrderCustomer](/docs/api-reference/v3/reference/orders/order-customer)`

The customer who placed the order, if known.

**fields**

**email** `String`

The customer's email address.

**firstName** `String`

The customer's first (given) name.

**id** `String`

The customer's id in the source platform.

**lastName** `String`

The customer's last (family) name.

**name** `String`

The customer's full name, when both name parts are set.

**phoneNumber** `String`

The customer's phone number.

**externalId** `String!` *required*

The order's id in the source ecommerce platform.

**fulfillments** `[\[OrderFulfillment!\]!](/docs/api-reference/v3/reference/orders/order-fulfillment)` *required*

The shipments fulfilling this order's items.

**fields**

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the fulfillment was created.

**deliveredAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the shipment was delivered, if it has been.

**estimatedDeliveryDate** `[Date](/docs/api-reference/v3/reference/common/date)`

The carrier's estimated delivery date (YYYY-MM-DD, destination-local), if known.

**id** `String!` *required*

The fulfillment's id in the source platform.

**lineItems** `[\[OrderFulfillmentLineItem!\]!](/docs/api-reference/v3/reference/orders/order-fulfillment-line-item)` *required*

The items included in this fulfillment.

**status** `[OrderFulfillmentStatus!](/docs/api-reference/v3/reference/orders/order-fulfillment-status)` *required*

The current tracked shipment status.

**trackingCompany** `String`

The shipping carrier, if known.

**trackingHistory** `[\[OrderTrackingEvent!\]!](/docs/api-reference/v3/reference/orders/order-tracking-event)` *required*

The carrier tracking events, oldest to newest.

**trackingNumber** `String`

The carrier tracking number, if known.

**id** `ID!` *required*

The id of this order.

**legacyId** `String!` *required*

The order's legacy Mongo ObjectId (24-char hex) from before the CockroachDB migration.

**lineItems** `[\[OrderLineItem!\]!](/docs/api-reference/v3/reference/orders/order-line-item)` *required*

The items purchased on this order.

**fields**

**discount** `[Money](/docs/api-reference/v3/reference/common/money)`

The total discount applied to this line item.

**id** `String!` *required*

The line item's id in the source platform.

**imageUrl** `String`

A URL to the item's image, if any.

**price** `[Money](/docs/api-reference/v3/reference/common/money)`

The per-unit price before discounts.

**productId** `String`

The purchased product's id in the source platform.

**quantity** `Int!` *required*

How many units of this item were ordered.

**sku** `String`

The stock keeping unit for this line item.

**title** `String!` *required*

The product title for this line item.

**variantId** `String`

The purchased variant's id in the source platform.

**protection** `[OrderProtection!](/docs/api-reference/v3/reference/orders/order-protection)` *required*

The Redo coverage the customer bought on this order.

**fields**

**covered** `Boolean!` *required*

Whether the order carried any Redo coverage — returns coverage or package protection.

**finalSaleCoverage** `Boolean!` *required*

Whether the order carried Redo final-sale returns coverage.

**packageProtection** `Boolean!` *required*

Whether the order carried Redo package protection.

**returnsCoverage** `Boolean!` *required*

Whether the order carried Redo returns coverage.

**shipping** `[OrderShipping](/docs/api-reference/v3/reference/orders/order-shipping)`

The order's shipping method, cost, and destination.

**fields**

**address** `[MailingAddress](/docs/api-reference/v3/reference/common/mailing-address)`

The destination the order ships to.

**cost** `[Money](/docs/api-reference/v3/reference/common/money)`

What the customer paid for shipping.

**method** `String`

The selected shipping method's name, e.g. Standard.

**subtotalPrice** `[Money](/docs/api-reference/v3/reference/common/money)`

The order subtotal, excluding tax and shipping, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**tags** `[String!]!` *required*

Free-form tags applied to the order.

**totalPrice** `[Money](/docs/api-reference/v3/reference/common/money)`

The order total, including tax and shipping, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**totalTax** `[Money](/docs/api-reference/v3/reference/common/money)`

The total tax charged on the order, if known.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The exact amount as a decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**providerDisputeId** `String!` *required*

The dispute's id at the payment provider.

**providerUrl** `String`

Opens the dispute's page at the payment provider, where the merchant manages it. The merchant must be signed in there to view it. Null for a Shopify dispute with no linked order.

**queueState** `[DisputeQueueState!](/docs/api-reference/v3/reference/disputes/dispute-queue-state)` *required*

Who owns the dispute's next step: the store, Redo, or the bank. Computed when read, from the dispute and the store's evidence automation setting.

**reason** `[DisputeReason!](/docs/api-reference/v3/reference/disputes/dispute-reason)` *required*

Why the cardholder disputed the payment. `UNKNOWN` when none was given.

**shopifyProtectStatus** `[DisputeShopifyProtectStatus](/docs/api-reference/v3/reference/disputes/dispute-shopify-protect-status)`

The order's Shopify Protect status. Null when Shopify has not reported one.

**source** `[DisputeSource!](/docs/api-reference/v3/reference/disputes/dispute-source)` *required*

The payment provider the dispute was opened through.

**status** `[DisputeStatus!](/docs/api-reference/v3/reference/disputes/dispute-status)` *required*

Where the dispute stands with the payment provider.

**type** `[DisputeType!](/docs/api-reference/v3/reference/disputes/dispute-type)` *required*

Whether the dispute is a chargeback or an inquiry.

**updatedAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When Redo last updated the dispute.

## Example

```graphql theme={null}
mutation {
  disputeEvidenceUpdate(id: "...", input: { ... }) {
    autoEvidenceDisabled
    bankCountry
    bankName
    cardBin
    cardBrand
    createdAt
    evidenceDueAt
    evidenceGeneratedAt
    # ...
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.