Annex A: Updating Entities

PUT Requests

All entity updates (Scheduled Orders, Products, Customers, etc.). obey the [RFC 2616 standard] (https://tools.ietf.org/html/rfc2616#section-9.6) which indicates that the entity you send over each PUT method is a modified version of the entity residing on the server.
This means that PUT endpoints require to send the complete entity object in, even if some of the fields remain unchanged.

e.g. Changing a product's title:

PUT /Sites/{siteId}/Products/{productId}

{
   "id":"19991",
   "title":"Heavy Square Widget Updated Title",
   "parentProductId":"",
   "sku":"SKU",
   "gtin":"GTIN",
   "mpn":"MPN",
   "description":"This is a sample Product.",
   "price":21.99,
   "salePrice":19.99,
   "length":"2.25",
   "width":"2.25",
   "height":"2.25",
   "weight":"5",
   "weightUnitType":"Pound",
   "lengthUnitType":"Inch",
   "shippingClass":"FreeShippingClass",
   "taxClass":"ATaxClass",
   "addToScheduledOrder":"true",
   "processScheduledOrder":"true",
   "availability":"InStock",
   "stock":99,
   "lifetimeValue":1000.99,
   "active":true,
   "valid":false,
   "productGroupIds":[

   ],
   "availableFrequencies":[
      {
         "frequencyType":"Days",
         "values":[
            1,
            7,
            14
         ]
      }
   ],
   "metadata":{
      "custom_widget_metadata":"custom_widget_metavalue"
   }
}