> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer-stage.shipbob.dev/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 Inventories

GET https://sandbox-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-stage.shipbob.dev/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: ''
          required: false
          schema:
            $ref: >-
              #/components/schemas/Inventory.Get.Api.V3.Inventories.SearchBy.String
        - name: FilterOperations
          in: query
          description: ''
          required: false
          schema:
            $ref: '#/components/schemas/Inventory.FilterOperationArray'
        - name: InventoryIds
          in: query
          description: ''
          required: false
          schema:
            $ref: >-
              #/components/schemas/Inventory.Get.Api.V3.Inventories.InventoryIds.IntegerArray
        - name: IsActive
          in: query
          description: ''
          required: false
          schema:
            $ref: >-
              #/components/schemas/Inventory.Get.Api.V3.Inventories.IsActive.Boolean
        - name: IsDigital
          in: query
          description: ''
          required: false
          schema:
            $ref: >-
              #/components/schemas/Inventory.Get.Api.V3.Inventories.IsDigital.Boolean
        - name: PageSize
          in: query
          description: ''
          required: false
          schema:
            $ref: >-
              #/components/schemas/Inventory.Get.Api.V3.Inventories.PageSize.Integer
        - name: SortBy
          in: query
          description: ''
          required: false
          schema:
            $ref: >-
              #/components/schemas/Inventory.Get.Api.V3.Inventories.SortBy.String
        - name: Authorization
          in: header
          description: Authentication using Personal Access Token (PAT) token
          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://sandbox-api.shipbob.com
    description: https://sandbox-api.shipbob.com
components:
  schemas:
    Inventory.Get.Api.V3.Inventories.SearchBy.String:
      type: string
      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).
      title: Inventory.Get.Api.V3.Inventories.SearchBy.String
    Inventory.FilterOperation:
      type: object
      properties:
        key:
          type: string
          description: >-
            Filter field name to apply the operation to (e.g., 'sku', 'name',
            'is_active')
        rawValue:
          type: string
          description: Filter value to match against the specified field
      title: Inventory.FilterOperation
    Inventory.FilterOperationArray:
      type: array
      items:
        $ref: '#/components/schemas/Inventory.FilterOperation'
      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.
      title: Inventory.FilterOperationArray
    Inventory.Get.Api.V3.Inventories.InventoryIds.IntegerArray:
      type: array
      items:
        type: integer
      description: >-
        Comma-separated list of inventory IDs to filter results. Use this to
        retrieve information for specific inventory items only.
      title: Inventory.Get.Api.V3.Inventories.InventoryIds.IntegerArray
    Inventory.Get.Api.V3.Inventories.IsActive.Boolean:
      type: boolean
      description: >-
        Filter by active status. True returns only active inventory items, False
        returns only inactive items. Omit to return both.
      title: Inventory.Get.Api.V3.Inventories.IsActive.Boolean
    Inventory.Get.Api.V3.Inventories.IsDigital.Boolean:
      type: boolean
      description: >-
        Filter by digital product status. True returns only digital products (no
        physical fulfillment), False returns only physical products. Omit to
        return both.
      title: Inventory.Get.Api.V3.Inventories.IsDigital.Boolean
    Inventory.Get.Api.V3.Inventories.PageSize.Integer:
      type: integer
      description: >-
        Number of items to return per page. Controls pagination size for the
        response.
      title: Inventory.Get.Api.V3.Inventories.PageSize.Integer
    Inventory.Get.Api.V3.Inventories.SortBy.String:
      type: string
      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.
      title: Inventory.Get.Api.V3.Inventories.SortBy.String
    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
          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
          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
          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
          description: Name of the inventory item
        sku:
          type: string
          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
          description: >-
            URL to retrieve the first page of results. Null if already on the
            first page.
        items:
          type: array
          items:
            $ref: '#/components/schemas/Inventory.InventoryResponse'
          description: Array of inventory items in the current page of results.
        last:
          type: string
          description: >-
            URL to retrieve the last page of results. Null if already on the
            last page.
        next:
          type: string
          description: URL to retrieve the next page of results. Null if on the last page.
        prev:
          type: string
          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
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
        instance:
          type: string
          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
          description: The HTTP status code for this occurrence of the problem.
        title:
          type: string
          description: A short, human-readable summary of the problem type.
        type:
          type: string
          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
    OAuth2:
      type: http
      scheme: bearer
      description: OAuth2 authentication using JWT tokens

```

## Examples



**Response**

```json
{
  "first": "string",
  "items": [
    {
      "barcode": "string",
      "dimensions": {
        "height": 0.1,
        "is_locked": true,
        "length": 0.1,
        "unit": "string",
        "validated": true,
        "width": 0.1
      },
      "inventory_id": 0,
      "is_case": true,
      "is_lot": true,
      "name": "string",
      "sku": "string",
      "user_id": 0,
      "variant": {
        "hazmat": {
          "is_hazmat": true,
          "validated": true
        },
        "is_active": true,
        "is_bundle": true,
        "is_digital": true
      },
      "weight": {
        "unit": "string",
        "value": 0.1
      }
    }
  ],
  "last": "string",
  "next": "string",
  "prev": "string"
}
```

**SDK Code**

```python default
import requests

url = "https://sandbox-api.shipbob.com/2026-01/inventory"

querystring = {"SearchBy":"string","FilterOperations":"[{\"key\":\"string\",\"rawValue\":\"string\"}]","InventoryIds":"[0]","IsActive":"true","IsDigital":"true","SortBy":"string"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript default
const url = 'https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string';
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 default
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string"

	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 default
require 'uri'
require 'net/http'

url = URI("https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&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 <token>'

response = http.request(request)
puts response.read_body
```

```java default
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string")
  .header("Authorization", "Bearer <token>")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp default
using RestSharp;

var client = new RestClient("https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&InventoryIds=%5B0%5D&IsActive=true&IsDigital=true&SortBy=string");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift default
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://sandbox-api.shipbob.com/2026-01/inventory?SearchBy=string&FilterOperations=%5B%7B%22key%22%3A%22string%22%2C%22rawValue%22%3A%22string%22%7D%5D&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()
```