inventory Level
Returns anInventoryLevelobject by ID.
Arguments
- id (ID!)
- •ID!required
The ID of the
Inventoryto return.Level
Anchor to Possible returnsPossible returns
- InventoryLevel (InventoryLevel)
- Anchor to InventoryLevelInventory•Inventory
Level Level The quantities of an inventory item at a specific location. Each inventory level connects one
Inventoryto oneItem Location, tracking multiple quantity states like available, on-hand, incoming, and committed.The
quantitiesfield provides access to different inventory states. Learnmore about inventory states and relationships.- Anchor to canDeactivatecan•Boolean!
Deactivate non-null Whether the inventory items associated with the inventory level can be deactivated.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the inventory level was created.
- Anchor to deactivationAlertdeactivation•String
Alert Describes either the impact of deactivating the inventory level, or why the inventory level can't be deactivated.
- •ID!non-null
A globally-unique ID.
- Anchor to itemitem•Inventory
Item! non-null Inventory item associated with the inventory level.
- Anchor to locationlocation•Location!non-null
The location associated with the inventory level.
- Anchor to quantitiesquantities•[Inventory
Quantity!]! non-null The quantity of an inventory item at a specific location, for a quantityname.
- Anchor to namesnames•[String!]!required
Thenamesof the requested inventory quantities.
Arguments
- Anchor to scheduledChangesscheduled•Inventory
Changes Scheduled Change Connection! non-null Scheduled changes for the requested quantity names.
- Anchor to firstfirst•Int
The first
nelements from thepaginated list.- Anchor to afterafter•String
The elements that come after the specifiedcursor.
- Anchor to lastlast•Int
The last
nelements from thepaginated list.- Anchor to beforebefore•String
The elements that come before the specifiedcursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Scheduled
Key Change Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, thentry specifying a sort key that matches the field used in the search.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators.You can apply one or more filters to a query. Learn more aboutShopify API search syntax.
Arguments
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time when the inventory level was updated.
Examples
Get the location, inventory item, and quantities for an inventory level
Query
query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } }}cURL
curl -X POST \https://your-development-store.myshopify.com/admin/api/2026-01/graphql.json \-H 'Content-Type: application/json' \-H 'X-Shopify-Access-Token: {access_token}' \-d '{"query": "query { inventoryLevel(id: \"gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695\") { id quantities(names: [\"available\", \"incoming\", \"committed\", \"damaged\", \"on_hand\", \"quality_control\", \"reserved\", \"safety_stock\"]) { name quantity } item { id sku } location { id name } } }"}'React Router
import { authenticate } from "../shopify.server";export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } } }`, ); const json = await response.json(); return json.data;}Ruby
session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token)client = ShopifyAPI::Clients::Graphql::Admin.new( session: session)query = <<~QUERY query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } } }QUERYresponse = client.query(query: query)Node.js
const client = new shopify.clients.Graphql({session});const data = await client.query({ data: `query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } } }`,});Shopify CLI
shopify app execute \--query \'query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } }}'Response
{ "inventoryLevel": { "id": "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695", "quantities": [ { "name": "available", "quantity": 2 }, { "name": "incoming", "quantity": 146 }, { "name": "committed", "quantity": 1 }, { "name": "damaged", "quantity": 0 }, { "name": "on_hand", "quantity": 33 }, { "name": "quality_control", "quantity": 0 }, { "name": "reserved", "quantity": 30 }, { "name": "safety_stock", "quantity": 0 } ], "item": { "id": "gid://shopify/InventoryItem/30322695", "sku": "element-151" }, "location": { "id": "gid://shopify/Location/346779380", "name": "Ottawa Store" } }}
Get the location, inventory item, and quantities for an inventory level
GQL
query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } }}cURL
curl -X POST \https://your-development-store.myshopify.com/admin/api/2026-01/graphql.json \-H 'Content-Type: application/json' \-H 'X-Shopify-Access-Token: {access_token}' \-d '{"query": "query { inventoryLevel(id: \"gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695\") { id quantities(names: [\"available\", \"incoming\", \"committed\", \"damaged\", \"on_hand\", \"quality_control\", \"reserved\", \"safety_stock\"]) { name quantity } item { id sku } location { id name } } }"}'React Router
import { authenticate } from "../shopify.server";export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } } }`, ); const json = await response.json(); return json.data;}Node.js
const client = new shopify.clients.Graphql({session});const data = await client.query({ data: `query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } } }`,});Ruby
session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token)client = ShopifyAPI::Clients::Graphql::Admin.new( session: session)query = <<~QUERY query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } } }QUERYresponse = client.query(query: query)Shopify CLI
shopify app execute \--query \'query { inventoryLevel(id: "gid://shopify/InventoryLevel/523463154?inventory_item_id=30322695") { id quantities(names: ["available", "incoming", "committed", "damaged", "on_hand", "quality_control", "reserved", "safety_stock"]) { name quantity } item { id sku } location { id name } }}'