List item categories
Operation ID: itemCategories
Group: Inventory › Item Categories
Open in the interactive reference
GET /inventory/item-categories
Read-only: Reads and returns; changes nothing.
Lists item categories. Each category comes back with every field except parentId, which GET inventory/item-categories/:id returns. To see where each category sits in the tree, with its parent, ancestors, and depth, use GET inventory/item-categories/tree.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likename— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeactive— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, name, description, active, idealTurnoverRatio, lastModifiedDate
- Selectable: id, name, description, active, idealTurnoverRatio, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of itemCategoriesRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the item category. Example: "a2f47b91-0c6d-4e38-95b1-7d3e6a428c50". |
name |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The display name of the category, for example 'Hardware'. Not unique: two categories can share a name, so use id to address one. Example: "Hardware". |
description |
string | null | no | no | yes | A free-form description of what the category covers. Absent when none was set. Example: "Fasteners, fittings and tooling". |
active |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Whether the category can be chosen on new items. When false the category is retired: existing items keep it and new ones cannot be assigned to it. Example: true. |
idealTurnoverRatio |
decimal | null | no | no | yes | The target inventory turnover for items in this category, in times per year. For analytics only. A ratio rather than an amount, so it has no currency. Example: "6.50". |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the category last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-05-12T09:30:00.000Z". |
{
"data": [
{
"id": "a2f47b91-0c6d-4e38-95b1-7d3e6a428c50",
"name": "Hardware",
"description": "Fasteners, fittings and tooling",
"active": true,
"idealTurnoverRatio": "6.50",
"lastModifiedDate": "2026-05-12T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error