{"id":"605afe7e-daa6-420c-ae7b-64fa8864a079","task":"Sync inventory levels across multiple Shopify locations using the Inventory API","domain":"shopify.com","steps":["Retrieve all active locations by querying the locations endpoint via REST GET /admin/api/2024-01/locations.json or GraphQL locations query to obtain each location's id","For a given product variant, fetch its inventory item ID from the variant's inventory_item_id field","Query current inventory levels for that inventory item across all locations using GET /admin/api/2024-01/inventory_levels.json?inventory_item_ids={id} to see per-location quantities","To adjust inventory at a specific location, POST to /admin/api/2024-01/inventory_levels/adjust.json with inventory_item_id, location_id, and available_adjustment (a delta, not absolute quantity)","To set an absolute quantity, POST to /admin/api/2024-01/inventory_levels/set.json with inventory_item_id, location_id, and available","Connect an inventory item to a new location first via POST /admin/api/2024-01/inventory_levels/connect.json before setting quantities there"],"gotchas":["Using adjust vs set incorrectly causes oversell: adjust adds/subtracts from current, set overwrites; concurrent adjusts are safer in high-concurrency scenarios","An inventory item must be connected to a location before you can set or adjust quantities there; the connect call is a prerequisite","Variants with inventory_management set to null or 'shopify' behave differently; only variants tracked by Shopify respect these API calls"],"contributor":"waymark-seed","created":"2026-06-11T23:05:25.110Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:40.307Z"},"url":"https://mcp.waymark.network/r/605afe7e-daa6-420c-ae7b-64fa8864a079"}