@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Inventory Management
@base https://marketplace.walmartapis.com
@auth ApiKey WM_SEC.ACCESS_TOKEN in header
@common_fields {WM_SEC.ACCESS_TOKEN: str, WM_QOS.CORRELATION_ID: str, WM_SVC.NAME: str, WM_CONSUMER.CHANNEL.TYPE: str}
@endpoints 7
@toc inventory(2), inventories(3), feeds(1), fulfillment(1)

@group inventory
@endpoint GET /v3/inventory
@required {sku: str}
@optional {shipNode: str}
@returns(200) {sku: str, quantity: map{unit: str, amount: num}}

@endpoint PUT /v3/inventory
@required {sku: str, sku: str, quantity: map{unit!: str, amount!: num}}
@optional {shipNode: str}
@returns(200) {sku: str, quantity: map{unit: str, amount: num}}

@endgroup

@group inventories
@endpoint GET /v3/inventories/{sku}
@required {sku: str}
@optional {shipNode: str}
@returns(200) {sku: str, nodes: [map]}

@endpoint PUT /v3/inventories/{sku}
@required {sku: str, inventories: map{nodes!: [map]}}
@returns(200) {sku: str, nodes: [map]}

@endgroup

@group feeds
@endpoint POST /v3/feeds
@required {feedType: str(inventory/MP_INVENTORY)}
@optional {shipNode: str}
@returns(200) {feedId: str, additionalAttributes: map?, errors: map?}

@endgroup

@group inventories
@endpoint GET /v3/inventories
@optional {limit: str=10, nextCursor: str}
@returns(200) {meta: map{totalCount: num, nextCursor: str}, elements: map{inventories: [map]}}

@endgroup

@group fulfillment
@endpoint GET /v3/fulfillment/inventory
@optional {sku: str, fromModifiedDate: str, toModifiedDate: str, limit: str=10, offset: str=0, shipNodeType: str}
@returns(200) {headers: map{totalCount: int(int32), limit: int(int32), offset: int(int32)}, payload: map{inventory: [map]}}

@endgroup

@end
