When updating BigCommerce inventory_level, first resolve each SKU to its product_id with a GET on the products collection. The inventory write itself must target the product_id. Cache the SKU-to-ID mapping in your script so you are not re-listing the catalog on every sync run.

Context: Stack Overflow #19273118 (accepted answer, 4 votes): the asker tried to PUT inventory_level using only the product SKU and it silently failed. The accepted answer confirms there is no update-by-SKU path: you must reference the product_id. The workaround used in practice is to list all products once, build a sku-to-product_id map, then issue the inventory PUT against the resolved product_id.