# Get All Inventory Levels Grouped By Fulfillment Center GET https://api.shipbob.com/2026-01/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. Reference: https://developer-stage.shipbob.dev/api/inventory/get-all-inventory-levels-grouped-by-fulfillment-center ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: api-2026-01 version: 1.0.0 paths: /2026-01/inventory-level/locations: get: operationId: get-all-inventory-levels-grouped-by-fulfillment-center summary: Get All Inventory Levels Grouped By Fulfillment Center description: >- Retrieves inventory levels for all inventory items grouped by fulfillment center location. Supports filtering by location type, location ID, and various product attributes. tags: - subpackage_inventory parameters: - name: LocationType in: query description: >- Filter by location type. Valid values: 'hub', 'spoke', or 'lts'. Defaults to all locations if not specified. required: false schema: type: string - name: LocationId in: query description: >- Filter by specific fulfillment center location ID. Use this to retrieve inventory levels for a particular fulfillment center. required: false schema: type: string format: int32 - 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 location-grouped 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 location-grouped 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., '-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.InventoryQuantityFcResponsePagedResponse '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.FulfillmentCenterResponse: type: object properties: awaiting_quantity: type: integer description: Quantity expected to arrive at this location committed_quantity: type: integer description: Quantity reserved for existing orders at this location fulfillable_quantity: type: integer description: Quantity available to fulfill new orders at this location internal_transfer_quantity: type: integer description: Quantity in transit to or from this location location_id: type: integer description: Unique identifier for the fulfillment center location name: type: - string - 'null' description: Name of the fulfillment center on_hand_quantity: type: integer description: Total quantity physically present at this location title: Inventory.FulfillmentCenterResponse Inventory.InventoryQuantityFcResponse: type: object properties: inventory_id: type: integer description: Unique identifier for the inventory item locations: type: - array - 'null' items: $ref: '#/components/schemas/Inventory.FulfillmentCenterResponse' description: >- List of fulfillment centers and their respective inventory quantities name: type: - string - 'null' description: Name of the inventory item sku: type: - string - 'null' description: Stock keeping unit identifier title: Inventory.InventoryQuantityFcResponse Inventory.InventoryQuantityFcResponsePagedResponse: 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.InventoryQuantityFcResponse' description: >- Array of location-grouped 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.InventoryQuantityFcResponsePagedResponse 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_getAllInventoryLevelsGroupedByFulfillmentCenter_example import requests url = "https://api.shipbob.com/2026-01/inventory-level/locations" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript Inventory_getAllInventoryLevelsGroupedByFulfillmentCenter_example const url = 'https://api.shipbob.com/2026-01/inventory-level/locations'; 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_getAllInventoryLevelsGroupedByFulfillmentCenter_example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.shipbob.com/2026-01/inventory-level/locations" 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_getAllInventoryLevelsGroupedByFulfillmentCenter_example require 'uri' require 'net/http' url = URI("https://api.shipbob.com/2026-01/inventory-level/locations") 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_getAllInventoryLevelsGroupedByFulfillmentCenter_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/locations") .header("Authorization", "Bearer ") .asString(); ``` ```php Inventory_getAllInventoryLevelsGroupedByFulfillmentCenter_example request('GET', 'https://api.shipbob.com/2026-01/inventory-level/locations', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp Inventory_getAllInventoryLevelsGroupedByFulfillmentCenter_example using RestSharp; var client = new RestClient("https://api.shipbob.com/2026-01/inventory-level/locations"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift Inventory_getAllInventoryLevelsGroupedByFulfillmentCenter_example import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://api.shipbob.com/2026-01/inventory-level/locations")! 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() ```