Skip to content

Categories

View as Markdown

A Category classifies your products in a hierarchy. Each category has a translatable name, an optional parent, and its direct childrens - so categories form a tree (Apparel → Shoes → Running shoes). Products are assigned to categories through the category’s products list.

Categories also carry attributes - the properties that products in that category can describe themselves with (a material, a season, a heel height). In the unstable version, they are managed as attribute definitions: free text (string) or a fixed set of attribute options (list), attached to one or more categories.

PropertyTypeRequiredDescription
childrensarray-A list of direct child Category, each one representing a category under this one. Serialized as IRI strings by default; pass ?expand=children to embed direct children (one level only). Requires the categories:read scope. Returned empty when the scope is missing.
createdAtstring-Creation date of the resource (ISO 8601 format).
idstring-The resource's unique identifier (UUID).
namestring | null-This property supports translations.

The name of the category.
parentstring | Category | null-The parent Category to which this category belongs, if any. Serialized as IRI string by default; pass ?expand=parent to embed the direct parent (one level only). Requires the categories:read scope. Returned null when the scope is missing.
productsstring[]-List of products associated with the category. Requires the products:read scope. Returned empty when the scope is missing.
status"/api/statuses/DRAFT" | "/api/statuses/ACTIVE" | "/api/statuses/ARCHIVED"-The status of the category.
updatedAtstring-Last modification date of the resource (ISO 8601 format).
  • Build the tree. Create top-level categories, then create child categories with a parent pointing at them.
  • Classify products. Add products to a category’s products list.
  • Describe with attributes. Attach attribute definitions to a category, then set their values in the attributes of the category’s products (unstable version).

All requests require an OAuth 2.0 bearer token:

Authorization: Bearer <token>

For the translatable name, set the active locale:

Flowkiwi-Locale: fr-FR

PATCH uses JSON Merge Patch with Content-Type: application/merge-patch+json.