We just GoLive API Rate Limits. Please follow up
sale_price replaces price_sale on product & catalogue payloadssale_price is the documented name for a product's selling price. price_saleprice_sale next to sale_pricePOST /product/add still accepts it. It is simply outsale_price:sale_price wins. 0 is a validsale_price means different things on different objects — see theField naming: sale_price page under Overview before using it to reconcile.variants[].product_idGET /api/v2/public/product/category.category_id values POST /product/add accepts, as a flatparent_category_id to walk down, or keyword to search.category_id on Add Product is now documented and validated. An id that400 instead of being stored. An inactivevariants[].id is now variants[].product_id. Same value, clearer name: itid still works and there is no removal date;product_id wins if both are sent.product_id is only honoured when it is a variant of the product being