Exchange API - createReturn from based on a returnRequest

Topic summary

Issue: Creating a Return from an existing return request (customer-initiated request awaiting approval) with exchange items via the public Admin GraphQL API (2024-07) fails. Evidence (video/screenshots) suggests the Shopify Admin UI uses an internal mutation to add exchange line items when approving a request, which partners can’t access.

Context: Attempts made July 14 using the Shopify GraphiQL app, following the return management docs (step 4: optional create a return).

Shopify update: Product team says the failure occurs because the item is already in another return (requested state). Current limitation: adding exchange items to a requested return via API isn’t supported. Recommended workflow is to create a new return using returnCreate, not to edit the requested one. Clarification requested on why editing the request is needed.

Counterpoint: The author notes the Admin supports this via an internal mutation (e.g., returnEditAddExchangeLineItems) and argues it’s essential for approving return requests with exchange details through the API.

Status: Unresolved and open. Awaiting product guidance on exposing the internal endpoint or offering an alternative API workflow.

Notes: Linked video and screenshots are central to reproducing and illustrating the internal call.

Summarized with AI on December 24. AI used: gpt-5.

Hi Stefan,

Thanks for explaining this very well and including a video too - I’ve reached out to the product team in this area to assist with troubleshooting this. I will update here when I have more info.