> ## 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.

# Chargebacks

> Chargebacks and inquiries opened against the store's payments, and the evidence prepared to contest them.

## Queries

* [`chargebackSettings`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/queries/chargeback-settings) **(Experimental)** — The store's chargebacks settings and access. Reading them changes nothing, so a store that has never turned chargebacks on reads as DISABLED.
* [`dispute`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/queries/dispute) **(Experimental)** — Get one dispute. An id from another store, or one that does not exist, is null.
* [`disputePaymentDetails`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/queries/dispute-payment-details) **(Experimental)** — How a Shopify dispute's order was paid, read live from Shopify. Null for a PayPal dispute, a dispute without an order, when Shopify has no card details, or for a dispute the store doesn't have.
* [`disputes`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/queries/disputes) **(Experimental)** — List the store's chargebacks and inquiries, newest first, optionally filtered by status, type, provider, reason, or date range.

## Mutations

* [`chargebackPaypalConnect`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/chargeback-paypal-connect) **(Experimental)** — Start connecting a PayPal account, so PayPal disputes sync and take evidence. Returns a link a person opens to sign in to PayPal; nothing changes until they do.
* [`chargebackPaypalDisconnect`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/chargeback-paypal-disconnect) **(Experimental)** — Disconnect the PayPal account chargebacks uses. A PayPal account set up for refunds stays connected. Disconnecting when none is connected changes nothing.
* [`chargebackProfileUpdate`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/chargeback-profile-update) **(Experimental)** — Change the business profile Redo uses to write dispute evidence. Screenshots are kept.
* [`chargebacksDisable`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/chargebacks-disable) **(Experimental)** — Turn chargebacks off. Disputes stop syncing and no evidence is generated until it is enabled again. Billing and trial terms are unchanged.
* [`chargebacksEnable`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/chargebacks-enable) **(Experimental)** — Turn chargebacks on, as the merchant app's Reclaim activation does. It can start a free trial and set up the store's chargeback response service. It fails with SHOPIFY\_DISPUTE\_PERMISSIONS\_REQUIRED (403) when the store hasn't granted Shopify's dispute permissions to Redo.
* [`chargebackSettingsUpdate`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/chargeback-settings-update) **(Experimental)** — Change evidence automation and its window. The change is audited as an API edit, as in the app.
* [`disputeAutoEvidenceSet`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/dispute-auto-evidence-set) **(Experimental)** — Turn evidence automation off or back on for one dispute, whatever the store's setting. Returns null for a dispute the store doesn't have.
* [`disputeEvidenceSubmit`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/dispute-evidence-submit) **(Experimental)** — Submit a dispute's evidence to Shopify or PayPal, as the merchant app does. For Shopify it submits the draft Shopify already holds, from the last disputeEvidenceUpdate or save in the app, and sends nothing new. This can't be undone: the bank decides on what was sent. A dispute with no evidence fails with DISPUTE\_EVIDENCE\_MISSING (409), a Stripe dispute with DISPUTE\_SOURCE\_NOT\_SUPPORTED (409), and a submission the provider refuses with DISPUTE\_PROVIDER\_REJECTED (502) and its message. 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.
* [`disputeEvidenceUpdate`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/mutations/dispute-evidence-update) **(Experimental)** — 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.

## Objects

* [`ChargebackPaypalConnection`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-paypal-connection) **(Experimental)** — A link to connect a PayPal account.
* [`ChargebackProfile`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-profile) **(Experimental)** — What Redo knows about the business, used to write dispute evidence. Each field is null until set.
* [`ChargebackProfileSources`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-profile-sources) **(Experimental)** — The pages of the store's own website the profile details came from. Stored and returned as text; Redo does not open them.
* [`ChargebackSettings`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-settings) **(Experimental)** — The store's chargebacks (Reclaim) settings and access, as the merchant app's chargebacks settings page shows them.
* [`Dispute`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute) **(Experimental)** — A chargeback or inquiry a cardholder opened against one of the store's payments, from Reclaim.
* [`DisputeEvidence`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-evidence) **(Experimental)** — The evidence prepared to contest a dispute: written answers and the URLs of supporting files.
* [`DisputePaymentDetails`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-payment-details) **(Experimental)** — How the disputed order was paid, as Shopify reports it now. The card number is never returned beyond its last four digits.

## Input objects

* [`ChargebackProfileInput`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-profile-input) **(Experimental)** — Profile fields to change. A left-out field keeps its value; null clears it. URL fields must be `https` URLs, else BAD\_USER\_INPUT (400).
* [`ChargebackProfileSourcesInput`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-profile-sources-input) **(Experimental)** — The pages of the store's own website the profile details came from. Stored and returned as text; Redo does not open them. A left-out field keeps its value; null clears it. Values must be `https` URLs of at most 2,048 characters, else BAD\_USER\_INPUT (400).
* [`ChargebackSettingsUpdateInput`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargeback-settings-update-input) **(Experimental)** — Settings to change. Left out or null keeps a setting.
* [`DisputeEvidenceUpdateInput`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-evidence-update-input) **(Experimental)** — Written answers to change. Left out or null keeps an answer. Files can't be changed through the API.

## Enums

* [`ChargebacksAccessState`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/chargebacks-access-state) **(Experimental)** — Whether chargebacks is on for the store, and how it is paid for.
* [`DisputeCardBrand`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-card-brand) **(Experimental)** — The card network of the disputed payment.
* [`DisputeQueueState`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-queue-state) **(Experimental)** — Who owns a dispute's next step. Unlike `status`, it depends on the store's evidence automation setting.
* [`DisputeReason`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-reason) **(Experimental)** — Why the cardholder disputed the payment.
* [`DisputeShopifyProtectStatus`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-shopify-protect-status) **(Experimental)** — The order's Shopify Protect status, for Shopify disputes.
* [`DisputeSortKey`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-sort-key) — A field this list can be ordered by; pass to the list's `orderBy` argument and pair with `reverse` to flip direction.
* [`DisputeSource`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-source) **(Experimental)** — The payment provider a dispute was opened through.
* [`DisputeStatus`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-status) **(Experimental)** — Where a dispute stands with the payment provider.
* [`DisputeType`](https://developers.redo.com/docs/api-reference/v3/reference/disputes/dispute-type) **(Experimental)** — Whether a dispute is a chargeback or an inquiry.


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