manageGroups).
Groups bundle products for the storefront. They are not categories.
List
group:read
limit max is 100. List rows omit member products (products is []); use GET one for membership.
Create
group:create · 201
storeId in the JSON body is ignored.
Get / update / delete
group:read · group:update · group:delete
GET includes membership:
name, image, visibility, products. Omitting products leaves membership unchanged. Sending products: [] unlinks every product. Sending numeric IDs replaces membership.
A group that belongs to another shop returns 404. Unknown product IDs return 400. Duplicate names return 400.
DELETE unlinks products, then removes the group.