Get cost types
List cost types for the authenticated company. A cost type is a reusable, company-scoped category of cost accounting figure (e.g. freight, labor) with a default per-unit amount and a unit of measure. Cost types are configuration, not transactions — they are the templates you draw from when applying a cost to a plant, a package or batch, an assembly or breakdown output, a purchase item, or a product. Each applied cost snapshots its own amount and quantity at apply time, so a cost type's values here only seed future applications and never restate historical costs.
Results are scoped to your company and ordered oldest-first by creation time. Both active and
inactive cost types are returned; soft-deleted ones are excluded. The response is paginated —
follow the next_page URL to page through the full set.
Required permission: costs_permissions_manage_cost_types.
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 cost types by ID (the same ID returned as each cost 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 cost 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 cost 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 cost types
*/*- response
A collection of cost types
data?array<>Cost 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/cost-types'{ "data": [ { "active": true, "allow_inline_edits": true, "cost_per_unit": "1", "deleted_at": null, "description": null, "id": "00000000-0000-0000-0000-000000000001", "inserted_datetime": "2025-01-01T00:00:00.000000Z", "name": "CT1", "unit_type": { "id": "00000000-0000-0000-0000-00000000078d", "name": "Unit Type 12" }, "updated_datetime": "2026-10-08T09:10:05.840172Z" }, { "active": true, "allow_inline_edits": true, "cost_per_unit": "1", "deleted_at": null, "description": null, "id": "00000000-0000-0000-0000-000000000002", "inserted_datetime": "2025-01-02T00:00:00.000000Z", "name": "CT2", "unit_type": { "id": "00000000-0000-0000-0000-00000000078e", "name": "Unit Type 13" }, "updated_datetime": "2026-10-08T09:10:05.842020Z" }, { "active": true, "allow_inline_edits": true, "cost_per_unit": "1", "deleted_at": null, "description": null, "id": "00000000-0000-0000-0000-000000000003", "inserted_datetime": "2025-01-03T00:00:00.000000Z", "name": "CT3", "unit_type": { "id": "00000000-0000-0000-0000-0000000007a7", "name": "Unit Type 14" }, "updated_datetime": "2026-10-08T09:10:05.843331Z" } ], "next_page": "https://www.example.com/public/v1/cost-types?page[after]=ZHwyMDI1LTAxLTAzVDAwOjAwOjAwLjAwMDAwMFp8aXwwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDM"}