For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://developer.shipbob.com/api/inventory/llms.txt. For full documentation content, see https://developer.shipbob.com/api/inventory/llms-full.txt.

# 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.shipbob.com/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 <token>"}

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 <token>'}};

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 <token>")

	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 <token>'

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<String> response = Unirest.get("https://api.shipbob.com/2026-01/inventory-level")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Inventory_getAllInventoryLevels_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.shipbob.com/2026-01/inventory-level', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

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 <token>");
IRestResponse response = client.Execute(request);
```

```swift Inventory_getAllInventoryLevels_example
import Foundation

let headers = ["Authorization": "Bearer <token>"]

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()
```