naftiko: 1.0.0-alpha2 info: label: VTex Logistics API — Inventory description: 'VTex Logistics API — Inventory. 9 operations. Lead operation: VTex List inventory with dispatched reservations. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Inventory created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: logistics-inventory baseUri: https://{accountName}.{environment}.com.br description: VTex Logistics API — Inventory business capability. Self-contained, no shared references. resources: - name: api-logistics-pvt-inventory-items-itemId-warehouses-warehouseId-dispatched path: /api/logistics/pvt/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched operations: - name: getinventorywithdispatchedreservations method: GET description: VTex List inventory with dispatched reservations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: itemId in: path type: string description: SKU unique identifier called SKU ID. This field is an equivalent to `skuId`. required: true - name: warehouseId in: path type: string description: Warehouse ID is the unique identifier of the [warehouse](https://help.vtex.com/en/tutorial/warehouse--6oIxvsVDTtGpO7y6zwhGpb). required: true - name: api-logistics-pvt-inventory-items-skuId-docks-dockId path: /api/logistics/pvt/inventory/items/{skuId}/docks/{dockId} operations: - name: inventoryperdock method: GET description: VTex List inventory per dock outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: skuId in: path type: string description: Every SKU has a unique identifier called SKU ID. required: true - name: dockId in: path type: string description: Dock ID is the unique identifier of the [loading dock](https://help.vtex.com/en/tutorial/loading-dock--5DY8xHEjOLYDVL41Urd5qj). required: true - name: api-logistics-pvt-inventory-items-skuId-docks-dockId-warehouses-warehouseId path: /api/logistics/pvt/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId} operations: - name: inventoryperdockandwarehouse method: GET description: VTex List inventory per dock and warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: skuId in: path type: string required: true - name: dockId in: path type: string required: true - name: warehouseId in: path type: string required: true - name: api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId path: /api/logistics/pvt/inventory/items/{skuId}/warehouses/{warehouseId} operations: - name: inventoryperwarehouse method: GET description: VTex List inventory per warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: skuId in: path type: string description: Every SKU has a unique identifier called SKU ID. required: true - name: warehouseId in: path type: string description: Warehouse ID is the unique identifier of the [warehouse](https://help.vtex.com/en/tutorial/warehouse--6oIxvsVDTtGpO7y6zwhGpb). required: true - name: api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId-supplyLots path: /api/logistics/pvt/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots operations: - name: getsupplylots method: GET description: VTex List supply lots outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: skuId in: path type: string description: ID of the SKU. required: true - name: warehouseId in: path type: string description: ID of the warehouse where the SKU is located. required: true - name: api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId-supplyLots-supply path: /api/logistics/pvt/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId} operations: - name: savesupplylot method: PUT description: VTex Save supply lot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: skuId in: path type: string description: ID of the SKU whose availability is being scheduled. required: true - name: warehouseId in: path type: string description: ID of the warehouse where the SKU will arrive. required: true - name: supplyLotId in: path type: string description: ID of the Supply Lot in which the SKU's scheduling should be considered. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId-supplyLots-supply path: /api/logistics/pvt/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}/transfer operations: - name: transfersupplylot method: POST description: VTex Transfer supply lot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: skuId in: path type: string description: ID of the SKU. required: true - name: warehouseId in: path type: string description: ID of the warehouse where the SKU is located. required: true - name: supplyLotId in: path type: string description: ID of the Supply Lot in which the SKU is currently located and from where it will be transfered. required: true - name: api-logistics-pvt-inventory-skus-skuId path: /api/logistics/pvt/inventory/skus/{skuId} operations: - name: inventorybysku method: GET description: VTex List inventory by SKU outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: skuId in: path type: string description: Every SKU has a unique identifier called SKU ID. required: true - name: api-logistics-pvt-inventory-skus-skuId-warehouses-warehouseId path: /api/logistics/pvt/inventory/skus/{skuId}/warehouses/{warehouseId} operations: - name: updateinventorybyskuandwarehouse method: PUT description: VTex Update inventory by SKU and warehouse outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Accept in: header type: string description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand. required: true - name: Content-Type in: header type: string description: Type of the content being sent. required: true - name: skuId in: path type: string description: SKU ID is the unique identifier of the SKU you wish to update. required: true - name: warehouseId in: path type: string description: Warehouse ID is the unique identifier of the [warehouse](https://help.vtex.com/en/tutorial/warehouse--6oIxvsVDTtGpO7y6zwhGpb) associated with the SKU you wish t required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: X-VTEX-API-AppKey value: '{{env.VTEX_API_KEY}}' placement: header exposes: - type: rest namespace: logistics-inventory-rest port: 8080 description: REST adapter for VTex Logistics API — Inventory. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/logistics/pvt/inventory/items/{itemid}/warehouses/{warehouseid}/dispatched name: api-logistics-pvt-inventory-items-itemid-warehouses-warehouseid-dispatched description: REST surface for api-logistics-pvt-inventory-items-itemId-warehouses-warehouseId-dispatched. operations: - method: GET name: getinventorywithdispatchedreservations description: VTex List inventory with dispatched reservations call: logistics-inventory.getinventorywithdispatchedreservations with: Content-Type: rest.Content-Type Accept: rest.Accept itemId: rest.itemId warehouseId: rest.warehouseId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/items/{skuid}/docks/{dockid} name: api-logistics-pvt-inventory-items-skuid-docks-dockid description: REST surface for api-logistics-pvt-inventory-items-skuId-docks-dockId. operations: - method: GET name: inventoryperdock description: VTex List inventory per dock call: logistics-inventory.inventoryperdock with: Content-Type: rest.Content-Type Accept: rest.Accept skuId: rest.skuId dockId: rest.dockId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/items/{skuid}/docks/{dockid}/warehouses/{warehouseid} name: api-logistics-pvt-inventory-items-skuid-docks-dockid-warehouses-warehouseid description: REST surface for api-logistics-pvt-inventory-items-skuId-docks-dockId-warehouses-warehouseId. operations: - method: GET name: inventoryperdockandwarehouse description: VTex List inventory per dock and warehouse call: logistics-inventory.inventoryperdockandwarehouse with: Content-Type: rest.Content-Type Accept: rest.Accept skuId: rest.skuId dockId: rest.dockId warehouseId: rest.warehouseId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid} name: api-logistics-pvt-inventory-items-skuid-warehouses-warehouseid description: REST surface for api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId. operations: - method: GET name: inventoryperwarehouse description: VTex List inventory per warehouse call: logistics-inventory.inventoryperwarehouse with: Content-Type: rest.Content-Type Accept: rest.Accept skuId: rest.skuId warehouseId: rest.warehouseId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}/supplylots name: api-logistics-pvt-inventory-items-skuid-warehouses-warehouseid-supplylots description: REST surface for api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId-supplyLots. operations: - method: GET name: getsupplylots description: VTex List supply lots call: logistics-inventory.getsupplylots with: Accept: rest.Accept Content-Type: rest.Content-Type skuId: rest.skuId warehouseId: rest.warehouseId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}/supplylots/{supplylotid} name: api-logistics-pvt-inventory-items-skuid-warehouses-warehouseid-supplylots-supply description: REST surface for api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId-supplyLots-supply. operations: - method: PUT name: savesupplylot description: VTex Save supply lot call: logistics-inventory.savesupplylot with: Accept: rest.Accept Content-Type: rest.Content-Type skuId: rest.skuId warehouseId: rest.warehouseId supplyLotId: rest.supplyLotId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}/supplylots/{supplylotid}/transfer name: api-logistics-pvt-inventory-items-skuid-warehouses-warehouseid-supplylots-supply description: REST surface for api-logistics-pvt-inventory-items-skuId-warehouses-warehouseId-supplyLots-supply. operations: - method: POST name: transfersupplylot description: VTex Transfer supply lot call: logistics-inventory.transfersupplylot with: Accept: rest.Accept Content-Type: rest.Content-Type skuId: rest.skuId warehouseId: rest.warehouseId supplyLotId: rest.supplyLotId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/skus/{skuid} name: api-logistics-pvt-inventory-skus-skuid description: REST surface for api-logistics-pvt-inventory-skus-skuId. operations: - method: GET name: inventorybysku description: VTex List inventory by SKU call: logistics-inventory.inventorybysku with: Content-Type: rest.Content-Type Accept: rest.Accept skuId: rest.skuId outputParameters: - type: object mapping: $. - path: /v1/api/logistics/pvt/inventory/skus/{skuid}/warehouses/{warehouseid} name: api-logistics-pvt-inventory-skus-skuid-warehouses-warehouseid description: REST surface for api-logistics-pvt-inventory-skus-skuId-warehouses-warehouseId. operations: - method: PUT name: updateinventorybyskuandwarehouse description: VTex Update inventory by SKU and warehouse call: logistics-inventory.updateinventorybyskuandwarehouse with: Accept: rest.Accept Content-Type: rest.Content-Type skuId: rest.skuId warehouseId: rest.warehouseId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: logistics-inventory-mcp port: 9090 transport: http description: MCP adapter for VTex Logistics API — Inventory. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-list-inventory-dispatched-reservations description: VTex List inventory with dispatched reservations hints: readOnly: true destructive: false idempotent: true call: logistics-inventory.getinventorywithdispatchedreservations with: Content-Type: tools.Content-Type Accept: tools.Accept itemId: tools.itemId warehouseId: tools.warehouseId outputParameters: - type: object mapping: $. - name: vtex-list-inventory-per-dock description: VTex List inventory per dock hints: readOnly: true destructive: false idempotent: true call: logistics-inventory.inventoryperdock with: Content-Type: tools.Content-Type Accept: tools.Accept skuId: tools.skuId dockId: tools.dockId outputParameters: - type: object mapping: $. - name: vtex-list-inventory-per-dock-2 description: VTex List inventory per dock and warehouse hints: readOnly: true destructive: false idempotent: true call: logistics-inventory.inventoryperdockandwarehouse with: Content-Type: tools.Content-Type Accept: tools.Accept skuId: tools.skuId dockId: tools.dockId warehouseId: tools.warehouseId outputParameters: - type: object mapping: $. - name: vtex-list-inventory-per-warehouse description: VTex List inventory per warehouse hints: readOnly: true destructive: false idempotent: true call: logistics-inventory.inventoryperwarehouse with: Content-Type: tools.Content-Type Accept: tools.Accept skuId: tools.skuId warehouseId: tools.warehouseId outputParameters: - type: object mapping: $. - name: vtex-list-supply-lots description: VTex List supply lots hints: readOnly: true destructive: false idempotent: true call: logistics-inventory.getsupplylots with: Accept: tools.Accept Content-Type: tools.Content-Type skuId: tools.skuId warehouseId: tools.warehouseId outputParameters: - type: object mapping: $. - name: vtex-save-supply-lot description: VTex Save supply lot hints: readOnly: false destructive: false idempotent: true call: logistics-inventory.savesupplylot with: Accept: tools.Accept Content-Type: tools.Content-Type skuId: tools.skuId warehouseId: tools.warehouseId supplyLotId: tools.supplyLotId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-transfer-supply-lot description: VTex Transfer supply lot hints: readOnly: false destructive: false idempotent: false call: logistics-inventory.transfersupplylot with: Accept: tools.Accept Content-Type: tools.Content-Type skuId: tools.skuId warehouseId: tools.warehouseId supplyLotId: tools.supplyLotId outputParameters: - type: object mapping: $. - name: vtex-list-inventory-sku description: VTex List inventory by SKU hints: readOnly: true destructive: false idempotent: true call: logistics-inventory.inventorybysku with: Content-Type: tools.Content-Type Accept: tools.Accept skuId: tools.skuId outputParameters: - type: object mapping: $. - name: vtex-update-inventory-sku-and description: VTex Update inventory by SKU and warehouse hints: readOnly: false destructive: false idempotent: true call: logistics-inventory.updateinventorybyskuandwarehouse with: Accept: tools.Accept Content-Type: tools.Content-Type skuId: tools.skuId warehouseId: tools.warehouseId body: tools.body outputParameters: - type: object mapping: $.