Identifiers & slugs
The Zenode API identifies resources with human-readable slugs. Learn how part, manufacturer, and category identifiers are formed and what stays stable.
Zenode resources are identified by stable, human-readable slugs, never by internal database IDs. Store the slugs you receive; they keep resolving as the catalog grows.
Manufacturers
A manufacturer is identified by its slug — lowercase kebab-case, e.g. texas-instruments-inc.
It appears as manufacturer.slug on part results and as the path segment for manufacturer lookups.
A manufacturer slug is stable: once the API returns one, it remains valid and is not reused for a different manufacturer.
Parts
A part is identified by the pair of its manufacturer slug and its MPN slug:
1(manufacturer slug, mpn_slug) → texas-instruments-inc + TL072CPBoth halves are required, because the same MPN can exist under different manufacturers
(st-microelectronics + 2N2222 is a different part from microchip-inc + 2N2222). Part-scoped
endpoints take them as two path segments:
1GET /v1/parts/texas-instruments-inc/TL072CPEvery part object carries two related fields:
| Field | What it is |
|---|---|
mpn | The full, orderable manufacturer part number (raw — may contain characters like / or #). Use it for display and ordering. |
mpn_slug | A URL-safe, case-preserving encoding of the MPN. Use it (with the manufacturer slug) as the identifier you pass back to the API. |
For most parts mpn_slug equals the MPN. When an MPN contains characters that aren't URL-safe, only
those characters are escaped (case is preserved), so LM358/NOPB becomes LM358~2FNOPB. You never
need to compute this yourself — use the mpn_slug value Zenode returns.
Part lookups are case-insensitive when unambiguous: requesting …/tl072cp redirects to the
canonical …/TL072CP. Storing the exact mpn_slug we return avoids the extra hop.
Categories
Categories are hierarchical. A category slug is the full path from the root, with levels
joined by /:
1amplifiers/operational-amplifiers2passive-components/resistors/chip-resistor-surface-mountThe full path is part of the identifier because leaf names repeat across branches (e.g. "Thin Film"
appears under more than one parent). A CategoryRef carries the leaf name, the full-path slug,
and a path array of its ancestors for breadcrumbs.
When you filter by a category slug, the match is subtree-inclusive — filtering on amplifiers
returns parts in every amplifier subcategory.
Treat slugs as tokens
Slugs are readable for convenience, but treat each as a single opaque token: don't parse a slug to
infer structure beyond the documented (manufacturer, mpn) and category-path forms.
Next
- Part matching
- Part detail
- Object reference — every response object