Get unit types
List unit types for the authenticated company. A unit type is a company-scoped unit of measure (e.g. Gram, Pound, Milliliter, or a custom unit you define) used to express quantities throughout Distru — on products, inventory levels, cost type rates, and order and purchase line items. This endpoint is read-only; unit types are managed in the Distru web app.
There are two kinds of unit type in the response:
• Distru's built-in standard units (Gram, Pound, Liter, etc.) are locked (cannot be renamed or
deleted) and always carry a category (COUNT, VOLUME, or WEIGHT) and a qty_per_si_unit
conversion factor.
• Custom units you create are unlocked and have both category and qty_per_si_unit set to null —
they are treated as opaque labels with no physical conversion.
Results are scoped to your company and ordered oldest-first by creation time. Both active and
inactive unit types are returned. The response is paginated — follow the next_page URL to page
through the full set.
BearerAuthorizationBearer <token>API token generated in Distru (Settings → Distru API). Send it on every request as Authorization: Bearer YOUR_API_TOKEN.
ids[]?array<string>Restrict the result to specific unit types by ID (the same ID returned as each unit type's id). Repeat the bracketed key once per ID. Unknown IDs simply match nothing; an empty list is treated as no filter. At most 200 IDs may be given.
inserted_datetime?stringFilter to unit types by their creation datetime, given as a comma-separated start,end pair of ISO8601 datetimes (inclusive). Either bound may be omitted for an open-ended range: 2022-07-10T00:00:00Z, matches on or after that instant, ,2022-07-10T00:00:00Z matches on or before it.
updated_datetime?stringFilter to unit types by their last-updated datetime, given as a comma-separated start,end pair of ISO8601 datetimes (inclusive). Either bound may be omitted for an open-ended range.
page?stringPage selector. Page size is fixed by the server; paginate by following the next_page URL in each response rather than building page selectors yourself — it is null on the last page. next_page uses page[after]=<cursor>, an opaque token marking where the next page resumes; pass it back exactly as given, and only to the endpoint that issued it. This is seek-based, so every page stays fast no matter how deep you page.
A list of unit types
*/*- response
A collection of unit types
data?array<>Unit Types
next_page?stringURL for the next page of results; null when there is no next page
curl -X GET 'https://app.distru.com/public/v1/unit-types'{ "data": [ { "active": true, "category": "WEIGHT", "id": "00000000-0000-0000-0000-000000000001", "inserted_datetime": "2026-10-08T09:10:03.926477Z", "locked": true, "name": "Pound", "qty_per_si_unit": "2.20462", "updated_datetime": "2026-10-08T09:10:03.926477Z" }, { "active": false, "category": "WEIGHT", "id": "00000000-0000-0000-0000-000000000006", "inserted_datetime": "2026-10-08T09:10:03.926477Z", "locked": true, "name": "Kilogram", "qty_per_si_unit": "1", "updated_datetime": "2026-10-08T09:10:03.926477Z" }, { "active": true, "category": "WEIGHT", "id": "00000000-0000-0000-0000-000000000007", "inserted_datetime": "2026-10-08T09:10:03.926477Z", "locked": true, "name": "Gram", "qty_per_si_unit": "1000", "updated_datetime": "2026-10-08T09:10:03.926477Z" } ], "next_page": "https://www.example.com/public/v1/unit-types?page[after]=ZHwyMDI2LTEwLTA4VDA5OjEwOjAzLjkyNjQ3N1p8aXwwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDc"}