Queries
chargebackSettings(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(Experimental) — Get one dispute. An id from another store, or one that does not exist, is null.disputePaymentDetails(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(Experimental) — List the store’s chargebacks and inquiries, newest first, optionally filtered by status, type, provider, reason, or date range.
Mutations
chargebackPaypalConnect(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(Experimental) — Disconnect the PayPal account chargebacks uses. A PayPal account set up for refunds stays connected. Disconnecting when none is connected changes nothing.chargebackProfileUpdate(Experimental) — Change the business profile Redo uses to write dispute evidence. Screenshots are kept.chargebacksDisable(Experimental) — Turn chargebacks off. Disputes stop syncing and no evidence is generated until it is enabled again. Billing and trial terms are unchanged.chargebacksEnable(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(Experimental) — Change evidence automation and its window. The change is audited as an API edit, as in the app.disputeAutoEvidenceSet(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(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 (chargebacksEnablestarts a trial for a store that never had one). Returns null for a dispute the store doesn’t have.disputeEvidenceUpdate(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 (chargebacksEnablestarts a trial for a store that never had one). Returns null for a dispute the store doesn’t have.
Objects
ChargebackPaypalConnection(Experimental) — A link to connect a PayPal account.ChargebackProfile(Experimental) — What Redo knows about the business, used to write dispute evidence. Each field is null until set.ChargebackProfileSources(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(Experimental) — The store’s chargebacks (Reclaim) settings and access, as the merchant app’s chargebacks settings page shows them.Dispute(Experimental) — A chargeback or inquiry a cardholder opened against one of the store’s payments, from Reclaim.DisputeEvidence(Experimental) — The evidence prepared to contest a dispute: written answers and the URLs of supporting files.DisputePaymentDetails(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(Experimental) — Profile fields to change. A left-out field keeps its value; null clears it. URL fields must behttpsURLs, else BAD_USER_INPUT (400).ChargebackProfileSourcesInput(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 behttpsURLs of at most 2,048 characters, else BAD_USER_INPUT (400).ChargebackSettingsUpdateInput(Experimental) — Settings to change. Left out or null keeps a setting.DisputeEvidenceUpdateInput(Experimental) — Written answers to change. Left out or null keeps an answer. Files can’t be changed through the API.
Enums
ChargebacksAccessState(Experimental) — Whether chargebacks is on for the store, and how it is paid for.DisputeCardBrand(Experimental) — The card network of the disputed payment.DisputeQueueState(Experimental) — Who owns a dispute’s next step. Unlikestatus, it depends on the store’s evidence automation setting.DisputeReason(Experimental) — Why the cardholder disputed the payment.DisputeShopifyProtectStatus(Experimental) — The order’s Shopify Protect status, for Shopify disputes.DisputeSortKey— A field this list can be ordered by; pass to the list’sorderByargument and pair withreverseto flip direction.DisputeSource(Experimental) — The payment provider a dispute was opened through.DisputeStatus(Experimental) — Where a dispute stands with the payment provider.DisputeType(Experimental) — Whether a dispute is a chargeback or an inquiry.