Hello,
We are using the 2025-07 version of the GraphQL Admin API for exchanges. We recently added the returnProcess
mutation to our flow. However, it seems like the returnCreate
mutation is still continuing to automatically put the exchange line item on hold.
We referenced this article for our implementation:
It mentions the following:
- Holding exchange fulfillment orders - Previously, all fulfillment orders created for an exchange would automatically be placed on hold. Moving forward only exchanges with a balance owed by the buyer will be automatically placed on hold. An even or refundable exchange will not be placed on hold.
However, it seems like the previous logic for returnCreate
is still executing for our usage of the 2025-07 version of the GraphQL Admin API.
For example, this is what we are currently experiencing:
-
We are creating an exchange using
returnCreate
for a variant under the same parent product and at the same price as the original product purchased -
We then observe within the Shopify admin dashboard, that the return is in progress and the exchange line item is on hold
-
Digging into the GraphQL response, the return line item has a
processableQuantity
of 1 and the exchange line item has aprocessedQuantity
of 1 and aprocessableQuantity
of 0 (this is prior toreturnProcess
being requested) -
We are then trying to call
returnProcess
with a return line item (quantity: 1) and an exchange line item (quantity: 1) -
This returns with the following user error:
input: Invalid exchange line item quantity
So the main questions are:
- How come we are still seeing holds being automatically created?
- How come there are already processed quantities upon
returnCreate
?