{"files":{"SKILL.md":"---\nname: inventory-management\ndescription: \"Inventory Management API skill. Use when working with Inventory Management for inventory, inventories, feeds. Covers 7 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Inventory Management\n\n## Auth\nApiKey WM_SEC.ACCESS_TOKEN in header\n\n## Base URL\nhttps://marketplace.walmartapis.com\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /v3/inventory -- inventory\n3. POST /v3/feeds -- create first feed\n\n## Endpoints\n7 endpoints across 4 groups. See references/api-spec.lap for full details.\n\n### Inventory\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v3/inventory | Inventory |\n| PUT | /v3/inventory | Update inventory |\n\n### Inventories\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v3/inventories/{sku} | Single Item Inventory by Ship Node |\n| PUT | /v3/inventories/{sku} | Update Item Inventory per Ship Node |\n| GET | /v3/inventories | Multiple Item Inventory for All Ship Nodes |\n\n### Feeds\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v3/feeds | Bulk Item Inventory Update |\n\n### Fulfillment\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v3/fulfillment/inventory | WFS Inventory |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all inventory?\" -> GET /v3/inventory\n- \"Get inventory details?\" -> GET /v3/inventories/{sku}\n- \"Update a inventory?\" -> PUT /v3/inventories/{sku}\n- \"Create a feed?\" -> POST /v3/feeds\n- \"List all inventories?\" -> GET /v3/inventories\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Inventory Management\n@base https://marketplace.walmartapis.com\n@auth ApiKey WM_SEC.ACCESS_TOKEN in header\n@common_fields {WM_SEC.ACCESS_TOKEN: str # The access token retrieved in the Token API call, WM_QOS.CORRELATION_ID: str # A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID, WM_SVC.NAME: str # Walmart Service Name, WM_CONSUMER.CHANNEL.TYPE: str # A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding}\n@endpoints 7\n@toc inventory(2), inventories(3), feeds(1), fulfillment(1)\n\n@group inventory\n@endpoint GET /v3/inventory\n@desc Inventory\n@required {sku: str # An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', \"'\", '(', ')', '*', '+', ',', ';', '=', ‘ ’, '{', '}' as well as '%' itself if it's a part of sku. Make sure to encode space with %20. Other characters don't need to be encoded.}\n@optional {shipNode: str # The shipNode for which the inventory is requested}\n@returns(200) {sku: str, quantity: map{unit: str, amount: num}} # Successful Operation\n\n@endpoint PUT /v3/inventory\n@desc Update inventory\n@required {sku: str # An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', \"'\", '(', ')', '*', '+', ',', ';', '=', ‘ ’, '{', '}' as well as '%' itself if it's a part of sku. Make sure to encode space with %20. Other characters don't need to be encoded., sku: str # A seller-provided Product ID. Response will have decoded value., quantity: map{unit!: str, amount!: num} # Quantity that has been ordered by the customers but not yet shipped}\n@optional {shipNode: str # The shipNode for which the inventory is to be updated.}\n@returns(200) {sku: str, quantity: map{unit: str, amount: num}} # Successful Operation\n@example_request {\"sku\":\"97964_KFTest\",\"quantity\":{\"unit\":\"EACH\",\"amount\":10}}\n\n@endgroup\n\n@group inventories\n@endpoint GET /v3/inventories/{sku}\n@desc Single Item Inventory by Ship Node\n@required {sku: str # An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', \"'\", '(', ')', '*', '+', ',', ';', '=', ‘ ’ as well as '%' itself if it's a part of sku. Make sure to encode space with %20. Other characters don't need to be encoded.}\n@optional {shipNode: str # ShipNode Id of the ship node for which the inventory is requested}\n@returns(200) {sku: str, nodes: [map]} # Successful Operation\n\n@endpoint PUT /v3/inventories/{sku}\n@desc Update Item Inventory per Ship Node\n@required {sku: str # An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', \"'\", '(', ')', '*', '+', ',', ';', '=', ‘ ’ as well as '%' itself if it's a part of sku. Make sure to encode space with %20. Other characters don't need to be encoded., inventories: map{nodes!: [map]}}\n@returns(200) {sku: str, nodes: [map]} # Successful Operation\n@example_request {\"inventories\":{\"nodes\":[{\"shipNode\":\"1000005050\",\"inputQty\":{\"unit\":\"EACH\",\"amount\":88}},{\"shipNode\":\"79897837271126017\",\"inputQty\":{\"unit\":\"EACH\",\"amount\":55}}]}}\n\n@endgroup\n\n@group feeds\n@endpoint POST /v3/feeds\n@desc Bulk Item Inventory Update\n@required {feedType: str(inventory/MP_INVENTORY) # The feed Type}\n@optional {shipNode: str # The shipNode for which the inventory is to be updated. Not required in case of Multi Node Inventory Update Feed (feedType=MP_INVENTORY)}\n@returns(200) {feedId: str, additionalAttributes: map?, errors: map?} # Successful Operation\n\n@endgroup\n\n@group inventories\n@endpoint GET /v3/inventories\n@desc Multiple Item Inventory for All Ship Nodes\n@optional {limit: str=10 # The number of items returned. Cannot be more than 50., nextCursor: str # String returned from initial API call to indicate pagination. Specify nextCursor value to retrieve the next 50 items.}\n@returns(200) {meta: map{totalCount: num, nextCursor: str}, elements: map{inventories: [map]}} # Successful Operation\n\n@endgroup\n\n@group fulfillment\n@endpoint GET /v3/fulfillment/inventory\n@desc WFS Inventory\n@optional {sku: str # An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', \"'\", '(', ')', '*', '+', ',', ';', '=', ‘ ’ as well as '%' itself if it's a part of sku. Make sure to encode space with %20. Other characters don't need to be encoded., fromModifiedDate: str # last inventory modified date - starting range., toModifiedDate: str # last inventory modified date - starting range., limit: str=10 # Number of Sku to be returned. Cannot be larger than 300., offset: str=0 # Offset is the number of records you wish to skip before selecting records., shipNodeType: str # Currently supported: multichannel. This param is enabled only for multi channel sellers. sku becomes mandatory and other params are ineffective while using this param. sku can either contain one item or list of sku's separated by comma (example: sku1,sku2)}\n@returns(200) {headers: map{totalCount: int(int32), limit: int(int32), offset: int(int32)}, payload: map{inventory: [map]}} # Successful Operation\n\n@endgroup\n\n@end\n"}}