List Material Availability

Returns a paginated list of materials with their on-hand inventory aggregated per location. For each material the response includes one `inventory` entry per location that currently holds stock, plus a `totalQuantity` summed across those locations. Job-site locations are excluded from the inventory breakdown. Results can be narrowed with a free-text search and limited to the business's own materials. Requires scope: `materials:read`

Authentication

API_KEYstring
API Key authentication via header

Query parameters

integrationIdstringOptional

Filter to the material linked to this external integration id (exact match against any integration, e.g. QBO, ServiceTitan, FieldEdge). When supplied, textToSearch and excludeGlobal are ignored.

textToSearchstringOptional

Free-text filter matched against material name, item number, brand and description.

excludeGlobalbooleanOptional

When true, returns only materials owned by the authenticated business and excludes global catalog materials. Defaults to false.

pageintegerOptional

Zero-based page index. Defaults to 0.

sizeintegerOptional

Items per page. Defaults to 20, maximum 100.

sortstringOptional
Sort by `field,direction` (Spring Pageable format; direction `asc` or `desc`, default `asc`). Sorting is applied to the underlying material's fields, not to the availability response shape — so keys such as `brand`, `manufacturer`, `materialType`, `active`, `serialized`, `createdAt` and `updatedAt` are valid even though they are not returned in this response. Allowed fields: id, name, itemNumber, brand, manufacturer, description, materialType, active, serialized, createdAt, updatedAt. Default order (when no sort is supplied): `updatedAt,desc`.

Response

This endpoint returns an object.
datalist of objects
paginationobject
Pagination metadata returned on all list endpoints.

Errors

401
Unauthorized Error
403
Forbidden Error