> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer-stage.shipbob.dev/2026-07/api/inventory/get-all-inventories/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer-stage.shipbob.dev/_mcp/server. # Get All Inventories GET https://sandbox-api.shipbob.com/2026-07/inventory Retrieves a paginated list of all inventory items. Supports filtering by active status, tags, and various product attributes. Use query parameters to search and filter results. Returns the inventory item catalog (item records and their attributes), not stock quantities; for current stock counts use the inventory levels endpoint (GET /inventory-level). Reference: https://developer-stage.shipbob.dev/api/inventory/get-all-inventories ## Authentication - `Authorization` header (bearer token, required) — Authentication using Personal Access Token (PAT) token - `Authorization` header (bearer token, required) — OAuth2 authentication using JWT tokens ## Request ### Query parameters - `SearchBy` (string, optional) - `FilterOperations` (list of Inventory.FilterOperation, optional) - `InventoryIds` (list of integer, optional) - `IsActive` (boolean, optional) - `IsDigital` (boolean, optional) - `PageSize` (integer, optional) - `SortBy` (string, optional) ## Response ### 200 OK - `first` (string, optional, nullable) — URL to retrieve the first page of results. Null if already on the first page. - `items` (list of Inventory.InventoryResponse, optional, nullable) — Array of inventory items in the current page of results. - `last` (string, optional, nullable) — URL to retrieve the last page of results. Null if already on the last page. - `next` (string, optional, nullable) — URL to retrieve the next page of results. Null if on the last page. - `prev` (string, optional, nullable) — URL to retrieve the previous page of results. Null if on the first page. ## Errors ### 400 Bad Request Error Bad Request - `detail` (string, optional, nullable) — A human-readable explanation specific to this occurrence of the problem. - `instance` (string, optional, nullable) — A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. - `status` (integer, optional, nullable) — The HTTP status code for this occurrence of the problem. - `title` (string, optional, nullable) — A short, human-readable summary of the problem type. - `type` (string, optional, nullable) — A URI reference that identifies the problem type. This URI should provide human-readable documentation for the problem. ### 401 Unauthorized Error Unauthorized - `detail` (string, optional, nullable) — A human-readable explanation specific to this occurrence of the problem. - `instance` (string, optional, nullable) — A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. - `status` (integer, optional, nullable) — The HTTP status code for this occurrence of the problem. - `title` (string, optional, nullable) — A short, human-readable summary of the problem type. - `type` (string, optional, nullable) — A URI reference that identifies the problem type. This URI should provide human-readable documentation for the problem. ### 403 Forbidden Error Forbidden - `detail` (string, optional, nullable) — A human-readable explanation specific to this occurrence of the problem. - `instance` (string, optional, nullable) — A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. - `status` (integer, optional, nullable) — The HTTP status code for this occurrence of the problem. - `title` (string, optional, nullable) — A short, human-readable summary of the problem type. - `type` (string, optional, nullable) — A URI reference that identifies the problem type. This URI should provide human-readable documentation for the problem. ### 500 Internal Server Error Internal Server Error - `any` ### 503 Service Unavailable Error Service Unavailable - `any` ## Types ### Inventory.FilterOperation - `key` (string, optional, nullable) — Filter field name to apply the operation to (e.g., 'sku', 'name', 'is_active') - `rawValue` (string, optional, nullable) — Filter value to match against the specified field ### Inventory.InventoryResponse - `barcode` (string, optional, nullable) — Barcode associated with the inventory item - `dimensions` (Inventory.DimensionsResponse, optional) — Physical dimensions of the inventory item - `inventory_id` (integer, optional) — Unique identifier for the inventory item - `is_case` (boolean, optional) — Indicates if the inventory item is stored in cases - `is_lot` (boolean, optional) — Indicates if the inventory item is tracked by lot number - `name` (string, optional, nullable) — Name of the inventory item - `sku` (string, optional, nullable) — Stock keeping unit identifier - `user_id` (integer, optional) — User ID associated with this inventory item - `variant` (Inventory.VariantResponse, optional) — Variant details including active status and product characteristics - `weight` (Inventory.WeightResponse, optional) — Weight information of the inventory item ### Inventory.DimensionsResponse - `height` (double, optional) — Height measurement of the inventory item - `is_locked` (boolean, optional) — Indicates whether dimensions are locked and cannot be modified - `length` (double, optional) — Length measurement of the inventory item - `unit` (string, optional, nullable) — Unit of measurement for dimensions (i.e. inches) - `validated` (boolean, optional) — Indicates whether dimensions have been validated by warehouse staff - `width` (double, optional) — Width measurement of the inventory item ### Inventory.VariantResponse - `hazmat` (Inventory.HazmatResponse, optional) — Hazardous materials information - `is_active` (boolean, optional) — Indicates if the variant is currently active and available for fulfillment - `is_bundle` (boolean, optional) — Indicates if this item is a bundle of multiple products - `is_digital` (boolean, optional) — Indicates if this is a digital product (no physical fulfillment required) ### Inventory.WeightResponse - `unit` (string, optional, nullable) — Unit of measurement for weight (e.g., pounds, kilograms) - `value` (double, optional) — Weight value of the inventory item ### Inventory.HazmatResponse - `is_hazmat` (boolean, optional) — Indicates if the inventory item is classified as hazardous material - `validated` (boolean, optional) — Indicates whether hazmat status has been validated and confirmed ## Examples **Response** ```json { "first": "string", "items": [ { "barcode": "string", "dimensions": { "height": 0.1, "is_locked": true, "length": 0.1, "unit": "string", "validated": true, "width": 0.1 }, "inventory_id": 0, "is_case": true, "is_lot": true, "name": "string", "sku": "string", "user_id": 0, "variant": { "hazmat": { "is_hazmat": true, "validated": true }, "is_active": true, "is_bundle": true, "is_digital": true }, "weight": { "unit": "string", "value": 0.1 } } ], "last": "string", "next": "string", "prev": "string" } ``` **SDK Code** ```python default import requests url = "https://sandbox-api.shipbob.com/2026-07/inventory" querystring = {"SearchBy":"string","FilterOperations":"[{\"key\":\"string\",\"rawValue\":\"string\"}]","InventoryIds":"[0]","IsActive":"true","IsDigital":"true","SortBy":"string"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript default const url = 'https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go default package main import ( "fmt" "net/http" "io" ) func main() { url := "https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby default require 'uri' require 'net/http' url = URI("https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java default import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string") .header("Authorization", "Bearer ") .asString(); ``` ```php default request('GET', 'https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp default using RestSharp; var client = new RestClient("https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift default import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://sandbox-api.shipbob.com/2026-07/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```