I have some difficulty in updating an existing metafield with Shopify API. Each time, I received an error, advising me that the variant already exists... so it's not recognized to Update. I thought this may be an issue with 'put' and 'post' - so changed my method to put, however the error persists. I've hardwired in all my variables to make it easier to test. I'm working with Cloudinary. I'm using https://github.com/sinechris/shopify-node-api with Express.js app.post('/upload', function(req, res){ // upload page... assume we have uploaded our image - but have hard-wired a local file in for now cloudinary.uploader.upload('/Users/Rob/Pictures/testimg.jpg', function(savedImg) { var imageURL = savedImg.url; console.log(imageURL) }, { public_id: "testimg" }); // the saved image is returned - so we add it to our updateMetafieldData json object var updateMetafieldData = { "variant": { "id": '253818949', "metafields": [ { "key": "variant_image_0", "value": 'testimg', // whatever the public id of our image is. "value_type": "string", "namespace": "variant_image" } ] } } // and post the result to shopify - then redirect to /getvariants Shopify.put('/admin/variants/253818949.json', updateMetafieldData, function(data){ // res.redirect('/getvariants') }); }); advising me that the variant already exists*