# Get All Inventory Levels GET https://api.shipbob.com/2026-01/inventory-level Retrieves current inventory levels across all locations. Returns available, on-hand, committed, and other quantity types. Supports filtering by inventory IDs and product attributes. Reference: https://developer-stage.shipbob.dev/api/inventory/get-all-inventory-levels ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: api-2026-01 version: 1.0.0 paths: /2026-01/inventory-level: get: operationId: get-all-inventory-levels summary: Get All Inventory Levels description: >- Retrieves current inventory levels across all locations. Returns available, on-hand, committed, and other quantity types. Supports filtering by inventory IDs and product attributes. 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: InventoryIds in: query description: >- Comma-separated list of inventory IDs to filter results. Use this to retrieve inventory levels for specific inventory items only. required: false schema: type: string - name: IsActive in: query description: >- Filter inventory levels by active status. Set to true to return only active inventory items, false for inactive items. Omit to return all items regardless of status. required: false schema: type: boolean - name: IsDigital in: query description: >- Filter inventory levels by digital product status. Set to true to return only digital products, false for physical products. Digital products are items that don't require physical fulfillment. required: false schema: type: boolean - name: PageSize in: query description: >- Number of inventory level 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., '-total_on_hand_quantity' sorts by quantity 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.InventoryQuantityResponsePagedResponse '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.InventoryQuantityResponse: type: object properties: inventory_id: type: integer description: Unique identifier for the inventory item name: type: - string - 'null' description: Name of the inventory item sku: type: - string - 'null' description: Stock keeping unit identifier total_awaiting_quantity: type: integer description: Total quantity expected to arrive from receiving or transfers total_backordered_quantity: type: integer description: Total quantity on backorder for pending shipments total_committed_quantity: type: integer description: Total quantity reserved for existing orders and allocations total_exception_quantity: type: integer description: >- Total quantity in exception status (damaged, lost, or under investigation) total_fulfillable_quantity: type: integer description: >- Total quantity available to fulfill new orders (on-hand minus committed) total_internal_transfer_quantity: type: integer description: Total quantity currently in transit between fulfillment centers total_on_hand_quantity: type: integer description: Total quantity physically present in all fulfillment centers total_sellable_quantity: type: integer description: Total quantity available for sale (fulfillable plus awaiting) title: Inventory.InventoryQuantityResponse Inventory.InventoryQuantityResponsePagedResponse: 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.InventoryQuantityResponse' description: Array of inventory quantity 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.InventoryQuantityResponsePagedResponse 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_getAllInventoryLevels_example import requests url = "https://api.shipbob.com/2026-01/inventory-level" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript Inventory_getAllInventoryLevels_example const url = 'https://api.shipbob.com/2026-01/inventory-level'; 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_getAllInventoryLevels_example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.shipbob.com/2026-01/inventory-level" 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_getAllInventoryLevels_example require 'uri' require 'net/http' url = URI("https://api.shipbob.com/2026-01/inventory-level") 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_getAllInventoryLevels_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.shipbob.com/2026-01/inventory-level") .header("Authorization", "Bearer ") .asString(); ``` ```php Inventory_getAllInventoryLevels_example request('GET', 'https://api.shipbob.com/2026-01/inventory-level', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp Inventory_getAllInventoryLevels_example using RestSharp; var client = new RestClient("https://api.shipbob.com/2026-01/inventory-level"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift Inventory_getAllInventoryLevels_example import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://api.shipbob.com/2026-01/inventory-level")! 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() ```