Organize products into any hierarchy
Create unlimited catalog trees with nested categories and entity assignments. Build hierarchies that match your commerce topology — webshops, marketplaces, print catalogs, or internal collections.
Unlimited Catalogs
Create as many catalogs as you need. Each catalog has its own independent category tree and entity assignments.
Nested Categories
Categories support unlimited nesting via parentId. The /tree endpoint returns the full hierarchy pre-assembled.
Entity Assignments
Assign records to any category. A single record can appear in multiple categories and multiple catalogs simultaneously.
Cascade Delete
Deleting a catalog removes all its categories and assignments. Deleting a category removes its subcategories and assignments.
Catalog Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /catalogs |
List all catalogs |
| POST | /catalogs |
Create a catalog |
| GET | /catalogs/:id |
Get catalog by ID |
| PUT | /catalogs/:id |
Update a catalog |
| DELETE | /catalogs/:id |
Delete catalog and all categories |
| GET | /catalogs/:id/tree |
Full category tree (nested) |
Category Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /catalogs/:id/categories |
Create a category |
| GET | /categories/:id |
Get category by ID |
| PUT | /categories/:id |
Update a category |
| DELETE | /categories/:id |
Delete category and subcategories |
Assignment Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /categories/:id/assign |
Assign record to category |
| POST | /categories/:id/unassign |
Remove record from category |
| GET | /categories/:id/entities |
List records in a category |
List Catalogs
Returns all catalogs in the workspace.
Create Catalog
Create a new catalog to organize products into a custom hierarchy.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique catalog ID |
alias | string | Yes | URL-friendly identifier |
name | string | Yes | Display name |
description | string | No | Optional description |
Get Catalog
Retrieve a specific catalog by its ID.
Update Catalog
Update a catalog's name, alias, or description.
Delete Catalog
Permanently remove a catalog and all its categories and assignments. Returns 204 No Content on success.
Category Tree
Returns the full nested category tree for a catalog. Each node includes its children and assigned entity IDs. This is the primary endpoint for building navigation trees in your storefront or admin UI.
Create Category
Add a new category to a catalog. Set parentId to nest it under an existing category, or omit it for a root-level category.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique category ID |
name | string | Yes | Display name |
parentId | string | No | Parent category ID (omit for root-level) |
sortOrder | number | No | Sort position among siblings (default: 0) |
Get Category
Retrieve a specific category by its ID.
Update Category
Update a category's name, parent, or sort order. Moving a category to a new parent re-nests it along with all its children.
| Field | Type | Description |
|---|---|---|
name | string | Updated display name |
parentId | string | Move to a different parent category |
sortOrder | number | Updated sort position |
Delete Category
Permanently remove a category. All subcategories and their assignments are also removed. Returns 204 No Content on success.
Assign Record to Category
Assign a record (entity) to a category. The same record can be assigned to multiple categories across any number of catalogs. Optionally set a sortOrder for the assignment.
| Field | Type | Required | Description |
|---|---|---|---|
entityId | string | Yes | ID of the record to assign |
sortOrder | number | No | Sort position within the category (default: 0) |
Remove Record from Category
Remove a record from a category. The record itself is not deleted — only the assignment is removed. Returns 204 No Content on success.
List Records in Category
Returns all records assigned to a specific category. Use this to build product listing pages for a given category in your storefront.