Blog categories: blog_categories
Powers the category picker in Castro’s blog editor. Implement:
GET /blog-categories?per_page=&page=→ bare JSON array of{ "id", "name", "slug", "description", "parent" }POST /blog-categorieswith{ "name", "description", "slug", "parent" }→ the created category objectPUT /blog-categories/{id}(partial) → the updated objectDELETE /blog-categories/{id}→{ "deleted": true, "id" }
Even without this capability, blog posts still arrive with
categories as an
array of names in the post payload: the picker in the editor just won’t
list your existing ones.Product categories: product_categories
Category pages that Castro writes copy for (e.g. a collection page with an
SEO description). Implement the same CRUD shape on /product-categories.
Create/update bodies:
{ "id": "...", "url": "..." }; the list endpoint
must include id and slug per item (used for slug→id resolution during bulk
updates).
