Add address to orders that do not require shipping

Topic summary

Users need to add warehouse or store addresses to orders that don’t require shipping (like digital gift cards) because their warehouse management systems (WMS) and ERP systems require shipping addresses on all orders to process them properly.

Solution Approaches:

  • Use Shopify Flow’s “Send HTTP Request” action to call the orderUpdate API (GraphQL or REST)
  • GraphQL method requires the orderUpdate mutation with specific address fields (lastName, zip, address1, city, province, country, etc.)
  • REST method (PUT) is simpler and easier to read, using the endpoint: https://YOURSTORE.myshopify.com/admin/api/2023-04/orders/{{order.legacyResourceId}}

Technical Requirements:

  • Create a custom app in Admin (Settings > Apps and sales channels > Develop apps) to generate an API token
  • Token needs read/write orders scope
  • Most address fields shown in examples appear required (exact requirements unclear from documentation)

Implementation Notes:

One user successfully implemented the REST PUT method after initially struggling with the GraphQL approach. Testing with tools like Postman and using Flow’s “Log Output” action can help troubleshoot issues where the API call succeeds but doesn’t update the order.

Summarized with AI on November 14. AI used: claude-sonnet-4-5-20250929.

Some more details. Here’s what my workflow looks like:

Here’s the query that you would use:

"query": "mutation orderUpdate($input: OrderInput!) {\n orderUpdate(input: $input) {\n order {\n id }\n userErrors {\n field message }\n }\n }", "variables": { "input": { "id": "{{ order.id }}", "shippingAddress": { "lastName":"TestLastName", "zip":"19086", "address1":"123 fake way", "city":"Wallingford", "province":"Pennsylvania", "provinceCode":"PA", "country":"United States" } } } }

This exact query does work. To change the address, most of the fields I’ve included are required, but it’s hard to tell from the docs (you can’t just add a zip for example).

The API token can be generated by creating a custom app your Admin. Go to Settings / Apps and sales channels / Develop apps. You need read/write orders scopes.

1 Like