reverseDeliveryCreateWithShipping Question

Topic summary

A developer is testing the reverseDeliveryCreateWithShipping GraphQL mutation to create a return invoice using only trackingInput (without labelInput).

Issue encountered:

  • When submitting with only trackingInput, the API returns an error: “must receive either return_label_file or tracking_info”
  • The developer wants to provide a tracking URL from their courier company directly, rather than generating a label through Shopify

Current status:

  • The mutation query includes trackingInput with tracking number and URL from the courier
  • Another participant questions whether there’s a specific reason for excluding labelInput
  • A follow-up question asks how the reverseFulfillmentOrderId is retrieved

Unresolved:

  • Whether the API supports returns with tracking-only (no label generation)
  • Clarification needed on proper parameter usage for this use case
Summarized with AI on November 8. AI used: claude-sonnet-4-5-20250929.

https://shopify.dev/docs/api/admin-graphql/2023-10/mutations/reverseDeliveryCreateWithShipping
We are conducting the test with postman by referring to the reverse Delivery Create With Shipping API document.

I want to create a return invoice using only trackingInput without using labelInput.

If you only put trackingInput and send it, it says “must receive ere return_label_file or tracking_info”.

This is the query I sent.

mutation reverseDeliveryCreateWithShipping($reverseDeliveryLineItems: [ReverseDeliveryLineItemInput!]!, $reverseFulfillmentOrderId: ID!) {
  reverseDeliveryCreateWithShipping(reverseDeliveryLineItems: $reverseDeliveryLineItems, reverseFulfillmentOrderId: $reverseFulfillmentOrderId) {
    reverseDelivery {
      id      
    }
    userErrors {
      field
      message
    }
  }
}
{  
  "notifyCustomer": true,
  "reverseDeliveryLineItems": [
    {
      "quantity": 1,
      "reverseFulfillmentOrderLineItemId": "gid://shopify/ReverseFulfillmentOrderLineItem/6140067898"
    },
    {
      "quantity": 1,
      "reverseFulfillmentOrderLineItemId": "gid://shopify/ReverseFulfillmentOrderLineItem/6140100666"
    }
  ],
  "reverseFulfillmentOrderId": "gid://shopify/ReverseFulfillmentOrder/4642046010",
  "trackingInput": {
    "number": "123456789",
    "url": "https://example-carrier.com/123456789"
  }
}

Is there a specific reason why you don’t have values to add for labelInput in your mutation?

I want to provide the URL provided by the courier company so that it can be printed directly. Do I have to put labelInput?

How do you retrieve the reverseFulfillmentOrderId?