List Inventory Levels
curl --request GET \
--url https://api.launchmystore.io/api/v1/inventory_levels.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/inventory_levels.json"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.launchmystore.io/api/v1/inventory_levels.json', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.launchmystore.io/api/v1/inventory_levels.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/api/v1/inventory_levels.json"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.launchmystore.io/api/v1/inventory_levels.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/inventory_levels.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data.items": [
{
"inventory_item_id": "<string>",
"location_id": "<string>",
"variant_id": "<string>",
"sku": "<string>",
"available": 123,
"incoming": 123,
"committed": 123,
"on_hand": 123,
"updated_at": "<string>"
}
],
"data.pagination": {}
}Inventory
List Inventory Levels
Retrieve inventory levels for products
GET
/
api
/
v1
/
inventory_levels.json
List Inventory Levels
curl --request GET \
--url https://api.launchmystore.io/api/v1/inventory_levels.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/inventory_levels.json"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.launchmystore.io/api/v1/inventory_levels.json', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.launchmystore.io/api/v1/inventory_levels.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/api/v1/inventory_levels.json"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.launchmystore.io/api/v1/inventory_levels.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/inventory_levels.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data.items": [
{
"inventory_item_id": "<string>",
"location_id": "<string>",
"variant_id": "<string>",
"sku": "<string>",
"available": 123,
"incoming": 123,
"committed": 123,
"on_hand": 123,
"updated_at": "<string>"
}
],
"data.pagination": {}
}List Inventory Levels
Returns inventory levels for product variants across all locations.Request
curl -X GET "https://api.launchmystore.io/api/v1/inventory_levels.json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Parameters
integer
default:"1"
Page number for pagination
integer
default:"50"
Number of items per page (max 250)
string
Filter by inventory location ID
string
Comma-separated list of inventory item IDs to retrieve
string
Comma-separated list of variant IDs to retrieve
string
Filter inventory updated after this date (ISO 8601)
Response
boolean
Whether the request succeeded
array
Array of inventory level objects
Show Inventory Level Object
Show Inventory Level Object
string
Unique inventory item ID
string
Location ID where inventory is held
string
Associated product variant ID
string
Stock keeping unit
integer
Available quantity for sale
integer
Incoming quantity (pending receipt)
integer
Quantity committed to orders
integer
Total on-hand quantity
string
Last update timestamp (ISO 8601)
object
Pagination information
Example Response
{
"success": true,
"data": {
"items": [
{
"inventory_item_id": "inv_abc123",
"location_id": "loc_main",
"variant_id": "var_xyz789",
"sku": "TSHIRT-S-BLK",
"available": 45,
"incoming": 100,
"committed": 5,
"on_hand": 50,
"updated_at": "2024-01-20T14:45:00Z"
},
{
"inventory_item_id": "inv_def456",
"location_id": "loc_main",
"variant_id": "var_abc123",
"sku": "TSHIRT-M-BLK",
"available": 30,
"incoming": 0,
"committed": 10,
"on_hand": 40,
"updated_at": "2024-01-20T14:45:00Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 500,
"hasMore": true
}
}
}
Inventory Quantities Explained
| Field | Description |
|---|---|
on_hand | Total physical inventory at the location |
committed | Reserved for unfulfilled orders |
incoming | Expected from purchase orders or transfers |
available | Can be sold (on_hand - committed) |
Error Codes
| Code | Description |
|---|---|
UNAUTHORIZED | Invalid or missing access token |
FORBIDDEN | App doesn’t have read_inventory scope |
⌘I