Skip to main content
Skip to main content
You're viewing the documentation for v1, which isn't the latest Medusa version.Latest documentation

AdminInventoryItemsResource

This class is used to send requests to Admin Inventory Item API Routes. To use these API Routes, make sure to install the @medusajs/inventory module in your Medusa backend. All its method are available in the JS Client under the medusa.admin.inventoryItems property.

All methods in this class require user authentication.

Inventory items, provided by the Inventory Module, can be used to manage the inventory of saleable items in your store.

Related Guide: How to manage inventory items.

Methods​

retrieve​

Retrieve an Inventory Item's details.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.retrieve(inventoryItemId)
.then(({ inventory_item }) => {
console.log(inventory_item.id);
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Configurations applied on the retrieved inventory item.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsRes>Required
The inventory item's details.

update​

Update an Inventory Item's details.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.update(inventoryItemId, {
origin_country: "US",
})
.then(({ inventory_item }) => {
console.log(inventory_item.id);
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item.
The attributes to update in the inventory item.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Configurations to apply on the retrieved inventory item.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsRes>Required
The inventory item's details.

delete​

Delete an Inventory Item. This does not delete the associated product variant.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.delete(inventoryItemId)
.then(({ id, object, deleted }) => {
console.log(id)
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Returns​

ResponsePromiseResponsePromise<DeleteResponse>Required
The deletion operation's details.

create​

Create an Inventory Item for a product variant.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.create({
variant_id: "variant_123",
})
.then(({ inventory_item }) => {
console.log(inventory_item.id);
})

Parameters​

The inventory item to create.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Configurations to apply on the retrieved inventory item.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsRes>Required
The inventory item's details.

list​

Retrieve a list of inventory items. The inventory items can be filtered by fields such as q or location_id passed in the query parameter. The inventory items can also be paginated.

Example​

To list inventory items:

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.list()
.then(({ inventory_items, count, offset, limit }) => {
console.log(inventory_items.length);
})

By default, only the first 20 records are retrieved. You can control pagination by specifying the limit and offset properties:

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.list({
limit,
offset
})
.then(({ inventory_items, count, offset, limit }) => {
console.log(inventory_items.length);
})

Parameters​

customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Filters and pagination configurations applied on the retrieved inventory items.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsListWithVariantsAndLocationLevelsRes>Required
The list of inventory items with pagination fields.

updateLocationLevel​

Update a location level's details for a given inventory item.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.updateLocationLevel(inventoryItemId, locationId, {
stocked_quantity: 15,
})
.then(({ inventory_item }) => {
console.log(inventory_item.id);
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item that the location level belongs to.
locationIdstringRequired
The ID of the location level to update.
The attributes to update in the location level.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Configurations to apply on the returned inventory item.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsRes>Required
the inventory item's details.

createLocationLevel​

Create a Location Level for a given Inventory Item.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.createLocationLevel(inventoryItemId, {
location_id: "sloc_123",
stocked_quantity: 10,
})
.then(({ inventory_item }) => {
console.log(inventory_item.id);
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item that the location level belongs to.
The location level to create.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Configurations to apply on the returned inventory item.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsRes>Required
the inventory item's details.

deleteLocationLevel​

Delete a location level of an Inventory Item.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.deleteLocationLevel(inventoryItemId, locationId)
.then(({ inventory_item }) => {
console.log(inventory_item.id);
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item.
locationIdstringRequired
The ID of the location level to delete.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsRes>Required
the inventory item's details.

listLocationLevels​

Retrieve a list of inventory levels of an inventory item. The inventory levels can be filtered by fields such as location_id passed in the query parameter.

Example​

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.inventoryItems.listLocationLevels(inventoryItemId)
.then(({ inventory_item }) => {
console.log(inventory_item.location_levels);
})

Parameters​

inventoryItemIdstringRequired
The ID of the inventory item that the location levels belong to.
customHeadersRecord<string, any>Required
Custom headers to attach to the request.

Default: {}

Filters to apply on the retrieved location levels.

Returns​

ResponsePromiseResponsePromise<AdminInventoryItemsLocationLevelsRes>Required
The inventory item's details and list of location levels.
Was this section helpful?