FROM CACHE - en_header

Impossible to update LineItem properties of an Order through API or Admin UI

8 1 0

As the title suggested, we can not update customAttributes, also known as properties (confusing? I know right), of an item in an Order (LineItem) from anywhere (REST,GraphQL,AdminUI). Why is this design?


It makes absolutely no sense whatsoever as these attributes are 90% (I made that up, lol) used for customer personalizations and other wishes. Customers make mistakes (typo's etc) and might ask through support channels to fix said mistakes before orders are fulfilled (go into production). So, why on earth are we blocked from editing these attributes is beyond me. With outsourced production, manufacturers etc. the only options are to contact them, add confusing notes to orders, or outright refund the order and beg the customer to order again. How stupid is that?


These properties can actually be deleted through Admin UI, but they should be editable right there or at the very least through API's.

I want answers. I hope I'm wrong in my entire premise and look like a fool or at least want a legitimate reason why this design is in place? 

Thank you for coming to my TED talk.

Replies 2 (2)
Shopify Expert
4795 56 562

Orders are mostly immutable for good reason. If Shopify let anyone change them willy nilly, chaos would result. While line item properties are not entangled with money, taxes etc, they are data that originated with the order. If you find they are incorrect, and would like to correct them, you are limited in what you can do, but as you point out, you could always add to the order notes that line item X required open heart surgery and therefore is unavailable for beers after the game. Thanks you for coming to my TedX talk.

Custom Shopify Apps built just for you!
8 1 0

You can mutate plenty of fields in Orders, such as Order.customAttributes. So your entire premise is misleading. lineItem.customAttributes are not crucial to the integrity of Shopify API anymore than Order.customAttributes as far as either of us know for a fact. 


Therefore I am still waiting on a better answer why lineItem.customAttributes can not be mutated.


I don't appreciate these kind of hasty generalization's that are often just "confidently incorrect" answers from the "expert" dev community.