List Units of Measure
GET/api/manufacturing/units-of-measure
List units of measure. Responds in one of two shapes.
manufacturing:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Full catalogue (default). Send no pagination, sort, search or filter parameters and the response is {"data": [...]} containing every unit, ordered by type (weight, volume, count), then the fixed display order of the system units within each type (MG, G, KG, OZ, LB / ML, L, TSP, TBSP, FLOZ, CUP, PT, QT, GAL / EACH, BOX, PALLET), then custom units by name. This is the shape to use when populating a unit picker. uom_type narrows it to one type. Passing per_page=all (or all=1) keeps this shape even alongside other parameters.
Paginated. Send any of page, per_page, sort, search or a filter[...] parameter and the response is a standard paginated envelope (data, current_page, per_page, total, ...). Without an explicit sort, rows keep the catalogue ordering above.
Includes both system units (is_system: true, read-only) and custom units.
Auth: requires Bearer token.
Filters accept an operator suffix, e.g. filter[code.starts_with]=FL, filter[uom_type.is_one_of]=weight,volume, filter[name.contains]=ounce. Text operators: contains, does_not_contain, is, is_not, is_one_of, is_not_one_of, starts_with, does_not_start_with, ends_with, does_not_end_with, is_empty, is_not_empty. Numeric operators: is, is_not, is_one_of, is_not_one_of, greater_than, less_than, greater_than_or_equal, less_than_or_equal, between, is_empty, is_not_empty. The bare key (e.g. filter[uom_type]=weight) is an exact match.
Allowed sorts: id, code, name, uom_type, is_system. Prefix with - for descending.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.