Categories (admin API)
Admin routes of the categories module. Every route needs a staff session and the permission named on it; send X-Resolve-Locale: false to receive every locale of a translatable field for editing.
GET /v1/admin/categories
Section titled “GET /v1/admin/categories”Get category tree (admin)
Responses:
200: Category tree retrieved.401: Unauthorized.403: Insufficient permissions.
POST /v1/admin/categories
Section titled “POST /v1/admin/categories”Create category
Request body: CreateCategoryAdminDto.
Responses:
201: Category created.400: Invalid input.401: Unauthorized.403: Insufficient permissions.
DELETE /v1/admin/categories/{id}
Section titled “DELETE /v1/admin/categories/{id}”Delete category
Parameters:
idin path (string, required).
Responses:
204: Category deleted.401: Unauthorized.403: Insufficient permissions.404: Category not found.409: Category has products.
PATCH /v1/admin/categories/{id}
Section titled “PATCH /v1/admin/categories/{id}”Update category
Parameters:
idin path (string, required).
Request body: UpdateCategoryAdminDto.
Responses:
200: Category updated.400: Invalid input.401: Unauthorized.403: Insufficient permissions.404: Category not found.
PATCH /v1/admin/categories/reorder
Section titled “PATCH /v1/admin/categories/reorder”Reorder categories
Request body: ReorderCategoriesAdminDto.
Responses:
204: Categories reordered.400: Invalid input.401: Unauthorized.403: Insufficient permissions.
Schemas
Section titled “Schemas”CreateCategoryAdminDto
Section titled “CreateCategoryAdminDto”name(TranslatableDto, required).slug(string, pattern/^[a-z0-9]+(?:-[a-z0-9]+)*$/, required).description(OptionalContentTranslatableDto, optional).parentId(string, optional).imageId(string, optional).sortOrder(number, min 0, optional).isVisible(boolean, optional).metaTitle(OptionalContentTranslatableDto, optional).metaDescription(OptionalContentTranslatableDto, optional).
OptionalContentTranslatableDto
Section titled “OptionalContentTranslatableDto”default(string, optional).fr(string, optional).en(string, optional).ar(string, optional).
ReorderCategoriesAdminDto
Section titled “ReorderCategoriesAdminDto”items(array of ReorderItemDto, required).
ReorderItemDto
Section titled “ReorderItemDto”id(string, required).sortOrder(number, min 0, required).
TranslatableDto
Section titled “TranslatableDto”default(string, required).fr(string, optional).en(string, optional).ar(string, optional).