> 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-inventory-levels-grouped-by-fulfillment-center/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 Inventory Levels Grouped By Fulfillment Center GET https://sandbox-api.shipbob.com/2026-07/inventory-level/locations Retrieves inventory levels for all inventory items grouped by fulfillment center location. Supports filtering by location type, location ID, and various product attributes. Returns inventory quantities broken down by fulfillment center location; it does not return the list of fulfillment centers. For the physical location list use the Locations API, and for receiving-eligible fulfillment centers use the Receiving API's fulfillment centers endpoint. Reference: https://developer-stage.shipbob.dev/api/inventory/get-all-inventory-levels-grouped-by-fulfillment-center ## 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 - `LocationType` (string, optional) - `LocationId` (integer, optional) - `SearchBy` (string, 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) - `items` (list of Inventory.InventoryQuantityFcV4Response, optional, nullable) - `last` (string, optional, nullable) - `next` (string, optional, nullable) - `prev` (string, optional, nullable) ## 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.InventoryQuantityFcV4Response - `inventory_id` (integer, optional) - `locations` (list of Inventory.FulfillmentCenterV4Response, optional, nullable) - `name` (string, optional, nullable) - `sku` (string, optional, nullable) ### Inventory.FulfillmentCenterV4Response - `awaiting_quantity` (integer, optional) - `committed_quantity` (integer, optional) - `damaged_quantity` (integer, optional) - `exception_quantity` (integer, optional) - `fulfillable_quantity` (integer, optional) - `in_fulfillment_quantity` (integer, optional) - `internal_transfer_quantity` (integer, optional) - `location_id` (integer, optional) - `name` (string, optional, nullable) - `on_hand_quantity` (integer, optional) - `quarantine_quantity` (integer, optional) ## Examples **Response** ```json { "first": "string", "items": [ { "inventory_id": 0, "locations": [ { "awaiting_quantity": 0, "committed_quantity": 0, "damaged_quantity": 0, "exception_quantity": 0, "fulfillable_quantity": 0, "in_fulfillment_quantity": 0, "internal_transfer_quantity": 0, "location_id": 0, "name": "string", "on_hand_quantity": 0, "quarantine_quantity": 0 } ], "name": "string", "sku": "string" } ], "last": "string", "next": "string", "prev": "string" } ``` **SDK Code** ```python default import requests url = "https://sandbox-api.shipbob.com/2026-07/inventory-level/locations" querystring = {"LocationType":"string","SearchBy":"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-level/locations?LocationType=string&SearchBy=string&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-level/locations?LocationType=string&SearchBy=string&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-level/locations?LocationType=string&SearchBy=string&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-level/locations?LocationType=string&SearchBy=string&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-level/locations?LocationType=string&SearchBy=string&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-level/locations?LocationType=string&SearchBy=string&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-level/locations?LocationType=string&SearchBy=string&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() ```