Search documentation

Search across all documentation pages

Get API Key
Endpoints

Categories

Category taxonomy endpoints

Categories are hierarchical. A category is identified by its full root→leaf path slug (see Identifiers), e.g. integrated-circuits-ics/linear. These endpoints resolve names to canonical categories and let you walk the tree. Free — no match or part-record billing (abuse-tracked only).

parts:read

Match a category

Resolve a full or partial category name to canonical Zenode categories — useful for turning a free-text category into the path slug you pass to catalog search filters.

POSThttps://api.zenode.ai/v1/categories/matchFree

Request

JSON
1{
2 "query": "op amp",
3 "limit": 10
4}
ParameterTypeRequiredDescription
query
stringRequiredFull or partial category name
limit
intOptionalMax results, default 5, max 15

Response

JSON
1{
2 "query": "op amp",
3 "results": [
4 {
5 "category": {
6 "slug": "amplifiers/operational-amplifiers",
7 "name": "Operational Amplifiers",
8 "path": [
9 {
10 "slug": "amplifiers",
11 "name": "Amplifiers"
12 },
13 {
14 "slug": "amplifiers/operational-amplifiers",
15 "name": "Operational Amplifiers"
16 }
17 ]
18 },
19 "confidence": 98
20 }
21 ],
22 "request_id": "req_3d90..."
23}

Each result is { category, confidence }, ranked best-first. The category is a CategoryRef (slug, name, path).

Try it

Try itPOST
Body
Request body
JSON
1{
2 "query": "op amp",
3 "limit": 5
4}
Request
cURL
curl -X POST "https://api.zenode.ai/v1/categories/match" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"query": "op amp",
"limit": 5
}'

Browse the tree

The same GET /v1/categories endpoint serves the tree two ways — one level at a time or the whole thing at once — controlled by two optional query parameters:

GEThttps://api.zenode.ai/v1/categoriesFree
ParameterTypeRequiredDescription
parent
stringOptionalList this category's direct children. Omit (or leave empty) for the top-level (root) categories.
all
boolOptionalReturn every category flat in one call. Combine with parent to flatten just that subtree. Default false.

Both forms return a list of CategoryNodes — { slug, name, has_children, part_count }. has_children tells you whether a node can be drilled into; part_count is the subtree-inclusive part count.

BASH
1# Top-level (root) categories
2curl https://api.zenode.ai/v1/categories \\
3 -H "Authorization: Bearer <YOUR API KEY HERE>"
4
5# Direct children of one node
6curl "https://api.zenode.ai/v1/categories?parent=integrated-circuits-ics" \\
7 -H "Authorization: Bearer <YOUR API KEY HERE>"
8
9# The entire taxonomy, flat, in one call
10curl "https://api.zenode.ai/v1/categories?all=true" \\
11 -H "Authorization: Bearer <YOUR API KEY HERE>"
JSON
1{
2 "categories": [
3 {
4 "slug": "amplifiers/operational-amplifiers",
5 "name": "Operational Amplifiers",
6 "has_children": true,
7 "part_count": 1284
8 },
9 {
10 "slug": "amplifiers/instrumentation-amplifiers",
11 "name": "Instrumentation Amplifiers",
12 "has_children": false,
13 "part_count": 212
14 }
15 ],
16 "request_id": "req_7a02..."
17}

Try it — one level at a time

Leave parent empty for the root categories, or set it to a category slug (e.g. integrated-circuits-ics) to list that node's direct children. Follow has_children to know which results you can expand next — this is the lazy way to walk the tree as a user clicks through it.

Try itGET
Query

Category slug to list children of; empty = roots

Return every category flat in one call (combine with parent to flatten a subtree)

Request
cURL
curl -X GET "https://api.zenode.ai/v1/categories" \
-H "Authorization: Bearer <YOUR_API_KEY>"

Try it — the whole taxonomy

Prefer one flat call when you want the entire tree (e.g. to build a picker client-side). ?all=true returns all ~1,200 categories at once; each slug encodes its full path, so you can reconstruct the hierarchy without further requests. Use one-level browsing instead when you're drilling in interactively and don't need every node.

Try itGET
Query

Return every category flat in one call

Request
cURL
curl -X GET "https://api.zenode.ai/v1/categories?all=true" \
-H "Authorization: Bearer <YOUR_API_KEY>"

Category detail

GEThttps://api.zenode.ai/v1/categories/{slug}Free

The {slug} is the full path and may span several URL segments. Returns the Category object — slug, name, description, the path breadcrumb, and its immediate children (each a CategoryNode):

JSON
1{
2 "category": {
3 "slug": "amplifiers/operational-amplifiers",
4 "name": "Operational Amplifiers",
5 "description": "Amplifiers that amplify the voltage difference between two inputs …",
6 "path": [
7 {
8 "slug": "amplifiers",
9 "name": "Amplifiers"
10 },
11 {
12 "slug": "amplifiers/operational-amplifiers",
13 "name": "Operational Amplifiers"
14 }
15 ],
16 "children": [
17 {
18 "slug": "amplifiers/operational-amplifiers/precision",
19 "name": "Precision",
20 "has_children": false,
21 "part_count": 318
22 }
23 ]
24 },
25 "request_id": "req_4f51..."
26}

404Not Found not_found if the path matches no category. Inside part results, categories appear as the lighter CategoryRef (slug, name, path).

Try it

The slug may span several segments — enter the full path (e.g. integrated-circuits-ics/linear):

Try itGET
Parameters

Full category path slug

Request
cURL
curl -X GET "https://api.zenode.ai/v1/categories/integrated-circuits-ics/linear" \
-H "Authorization: Bearer <YOUR_API_KEY>"

Filtering catalog search by a category slug is subtree-inclusive — filtering on amplifiers returns parts in every amplifier subcategory.

Next