Parts List Parts
parts_list_partsRead-onlyIdempotent
List the organization's parts, newest first.
count is the total across all pages. Page with cursor rather than
offset when parts may be created while you walk — offset counts
from the start of the result set, so a concurrent insert shifts every
later page and rows get skipped or repeated.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring match | |
| sort | No | Ordering key. `unit_cost` and `annual_spend` rank by the newest succeeded calculation per part; parts with no successful calculation always sort last, whatever the direction. `created_at`, `updated_at` and `part_number` support `cursor`; the other three page by `offset` only, because their column is nullable or joined and a cursor over it cannot reach every row. | created_at |
| limit | No | Maximum rows to return in one page. | |
| order | No | Sort direction over the collection's ordering key. Use `asc` to reconcile a batch: rows come oldest-first, so work created while you page lands after your position instead of shifting rows under it. | desc |
| cursor | No | Opaque position token from the previous page's `next_cursor` (or the `Link` / `X-Next-Cursor` response header). Omit it for the first page. Keep every other query parameter identical for the whole walk — a cursor replayed against different filters is rejected. | |
| offset | No | Rows to skip. Superseded by `cursor`, which is stable under concurrent writes; kept for existing integrations. Bounded — past the cap, page with `cursor`. | |
| quoted | No | true → only parts with at least one succeeded calculation; false → only parts that have never been priced. | |
| unfiled | No | Only parts not filed in any folder (folder_id IS NULL). | |
| folder_id | No | Only parts filed directly in this folder (excludes subfolders). | |
| make_or_buy | No | Only parts sourced this way. Repeatable — several values are OR-ed, so passing every value is the same as passing none. | |
| created_after | No | Only rows created at or after this instant (RFC 3339, e.g. `2026-07-20T09:00:00Z`). Inclusive. | |
| created_before | No | Only rows created strictly before this instant (RFC 3339). Exclusive, so an `after`/`before` pair tiles a range without overlap. | |
| include_facets | No | Also return `facets`: the values available for each filter with their counts, computed over everything the OTHER active filters allow. Lets a client show counts and grey out choices that would return nothing. | |
| procurement_type | No | Only parts with one of these procurement types. | |
| classification_id | No | ||
| material_grade_id | No | Only parts whose NEWEST succeeded calculation used one of these material grades. A part carries no material of its own — the material is chosen per calculation — so this filters on the last run. Repeatable; several values are OR-ed. | |
| include_assembly_components | No | Also list the piece-parts that an assembly decomposition created. They are catalogue entries like any other and stay reachable by id, but nobody uploaded them — by default this list shows the parts a person actually put there, so a 29-body weldment adds one row, not thirty. Asking for the Assembly components folder lists them anyway: that folder's rows are those parts, and its count includes them. |