VTEX · Capability
VTex Logistics API — Inventory
VTex Logistics API — Inventory. 9 operations. Lead operation: VTex List inventory with dispatched reservations. Self-contained Naftiko capability covering one Vtex business surface.
What You Can Do
GET
Getinventorywithdispatchedreservations
— VTex List inventory with dispatched reservations
/v1/api/logistics/pvt/inventory/items/{itemid}/warehouses/{warehouseid}/dispatched
GET
Inventoryperdock
— VTex List inventory per dock
/v1/api/logistics/pvt/inventory/items/{skuid}/docks/{dockid}
GET
Inventoryperdockandwarehouse
— VTex List inventory per dock and warehouse
/v1/api/logistics/pvt/inventory/items/{skuid}/docks/{dockid}/warehouses/{warehouseid}
GET
Inventoryperwarehouse
— VTex List inventory per warehouse
/v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}
GET
Getsupplylots
— VTex List supply lots
/v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}/supplylots
PUT
Savesupplylot
— VTex Save supply lot
/v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}/supplylots/{supplylotid}
POST
Transfersupplylot
— VTex Transfer supply lot
/v1/api/logistics/pvt/inventory/items/{skuid}/warehouses/{warehouseid}/supplylots/{supplylotid}/transfer
GET
Inventorybysku
— VTex List inventory by SKU
/v1/api/logistics/pvt/inventory/skus/{skuid}
PUT
Updateinventorybyskuandwarehouse
— VTex Update inventory by SKU and warehouse
/v1/api/logistics/pvt/inventory/skus/{skuid}/warehouses/{warehouseid}
MCP Tools
vtex-list-inventory-dispatched-reservations
VTex List inventory with dispatched reservations
read-only
idempotent
vtex-list-inventory-per-dock
VTex List inventory per dock
read-only
idempotent
vtex-list-inventory-per-dock-2
VTex List inventory per dock and warehouse
read-only
idempotent
vtex-list-inventory-per-warehouse
VTex List inventory per warehouse
read-only
idempotent
vtex-list-supply-lots
VTex List supply lots
read-only
idempotent
vtex-save-supply-lot
VTex Save supply lot
idempotent
vtex-transfer-supply-lot
VTex Transfer supply lot
vtex-list-inventory-sku
VTex List inventory by SKU
read-only
idempotent
vtex-update-inventory-sku-and
VTex Update inventory by SKU and warehouse
idempotent
Capability Spec
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: $.