# Get All Inventories GET https://api.shipbob.com/2026-01/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. Reference: https://developer.shipbob.com/api/inventory/get-all-inventories ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: api-2026-01 version: 1.0.0 paths: /2026-01/inventory: get: operationId: get-all-inventories summary: Get All Inventories description: >- 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. tags: - subpackage_inventory parameters: - name: SearchBy in: query description: >- Search is available for 3 fields: Inventory ID, Name, and SKU. Expected behavior for search by Inventory ID is exact match. Expected behavior for search by Inventory Name or SKU is partial match (consecutive characters, case insensitive). required: false schema: type: string - name: FilterOperations in: query description: >- Advanced filtering operations. Apply multiple key-value filters to refine inventory results. Each filter operation contains a 'key' (field name) and 'rawValue' (filter value) to match. required: false schema: type: string - name: InventoryIds in: query description: >- Comma-separated list of inventory IDs to filter results. Use this to retrieve information for specific inventory items only. required: false schema: type: string - name: IsActive in: query description: >- Filter by active status. True returns only active inventory items, False returns only inactive items. Omit to return both. required: false schema: type: boolean - name: IsDigital in: query description: >- Filter by digital product status. True returns only digital products (no physical fulfillment), False returns only physical products. Omit to return both. required: false schema: type: boolean - name: PageSize in: query description: >- Number of items to return per page. Controls pagination size for the response. required: false schema: type: string format: int32 - name: SortBy in: query description: >- Sort results by field name. Default is ascending order. Prefix with '-' for descending order (e.g., '-name' sorts by name descending). Multiple fields can be comma-separated. required: false schema: type: string - name: Authorization in: header description: Authentication using Personal Access Token (PAT) token or OAuth2 required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Inventory.InventoryResponsePagedResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Inventory.ProblemDetails' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Inventory.ProblemDetails' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Inventory.ProblemDetails' '500': description: Internal Server Error content: application/json: schema: description: Any type '503': description: Service Unavailable content: application/json: schema: description: Any type servers: - url: https://api.shipbob.com - url: https://sandbox-api.shipbob.com components: schemas: Inventory.DimensionsResponse: type: object properties: height: type: number format: double description: Height measurement of the inventory item is_locked: type: boolean description: Indicates whether dimensions are locked and cannot be modified length: type: number format: double description: Length measurement of the inventory item unit: type: - string - 'null' description: Unit of measurement for dimensions (i.e. inches) validated: type: boolean description: Indicates whether dimensions have been validated by warehouse staff width: type: number format: double description: Width measurement of the inventory item title: Inventory.DimensionsResponse Inventory.HazmatResponse: type: object properties: is_hazmat: type: boolean description: Indicates if the inventory item is classified as hazardous material validated: type: boolean description: Indicates whether hazmat status has been validated and confirmed title: Inventory.HazmatResponse Inventory.VariantResponse: type: object properties: hazmat: $ref: '#/components/schemas/Inventory.HazmatResponse' description: Hazardous materials information is_active: type: boolean description: >- Indicates if the variant is currently active and available for fulfillment is_bundle: type: boolean description: Indicates if this item is a bundle of multiple products is_digital: type: boolean description: >- Indicates if this is a digital product (no physical fulfillment required) title: Inventory.VariantResponse Inventory.WeightResponse: type: object properties: unit: type: - string - 'null' description: Unit of measurement for weight (e.g., pounds, kilograms) value: type: number format: double description: Weight value of the inventory item title: Inventory.WeightResponse Inventory.InventoryResponse: type: object properties: barcode: type: - string - 'null' description: Barcode associated with the inventory item dimensions: $ref: '#/components/schemas/Inventory.DimensionsResponse' description: Physical dimensions of the inventory item inventory_id: type: integer description: Unique identifier for the inventory item is_case: type: boolean description: Indicates if the inventory item is stored in cases is_lot: type: boolean description: Indicates if the inventory item is tracked by lot number name: type: - string - 'null' description: Name of the inventory item sku: type: - string - 'null' description: Stock keeping unit identifier user_id: type: integer description: User ID associated with this inventory item variant: $ref: '#/components/schemas/Inventory.VariantResponse' description: Variant details including active status and product characteristics weight: $ref: '#/components/schemas/Inventory.WeightResponse' description: Weight information of the inventory item title: Inventory.InventoryResponse Inventory.InventoryResponsePagedResponse: type: object properties: first: type: - string - 'null' description: >- URL to retrieve the first page of results. Null if already on the first page. items: type: - array - 'null' items: $ref: '#/components/schemas/Inventory.InventoryResponse' description: Array of inventory items in the current page of results. last: type: - string - 'null' description: >- URL to retrieve the last page of results. Null if already on the last page. next: type: - string - 'null' description: URL to retrieve the next page of results. Null if on the last page. prev: type: - string - 'null' description: >- URL to retrieve the previous page of results. Null if on the first page. title: Inventory.InventoryResponsePagedResponse Inventory.ProblemDetails: type: object properties: detail: type: - string - 'null' description: >- A human-readable explanation specific to this occurrence of the problem. instance: type: - string - 'null' description: >- A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. status: type: - integer - 'null' description: The HTTP status code for this occurrence of the problem. title: type: - string - 'null' description: A short, human-readable summary of the problem type. type: type: - string - 'null' description: >- A URI reference that identifies the problem type. This URI should provide human-readable documentation for the problem. title: Inventory.ProblemDetails securitySchemes: PAT: type: http scheme: bearer description: Authentication using Personal Access Token (PAT) token or OAuth2 ``` ## SDK Code Examples ```python Inventory_getAllInventories_example import requests url = "https://api.shipbob.com/2026-01/inventory" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript Inventory_getAllInventories_example const url = 'https://api.shipbob.com/2026-01/inventory'; 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 Inventory_getAllInventories_example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.shipbob.com/2026-01/inventory" 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 Inventory_getAllInventories_example require 'uri' require 'net/http' url = URI("https://api.shipbob.com/2026-01/inventory") 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 Inventory_getAllInventories_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.shipbob.com/2026-01/inventory") .header("Authorization", "Bearer ") .asString(); ``` ```php Inventory_getAllInventories_example request('GET', 'https://api.shipbob.com/2026-01/inventory', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp Inventory_getAllInventories_example using RestSharp; var client = new RestClient("https://api.shipbob.com/2026-01/inventory"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift Inventory_getAllInventories_example import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://api.shipbob.com/2026-01/inventory")! 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() ```