Product Categories
Return children of this parent id. Omit to return roots.
When true, return the full subtree as a nested tree.
falseCase-insensitive substring match on name.
125falseTenant id (uuid v4)
Returned when the rate limit is exceeded
GET /api/v1/public/product-categories HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Accept: */*
{}Tenant id (uuid v4)
Parent id. Omit for root category.
Computed from deleted_at IS NULL.
Returned when the rate limit is exceeded
POST /api/v1/public/product-categories HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 66
{
"name": "text",
"parent_id": "123e4567-e89b-12d3-a456-426614174000"
}{
"id": "text",
"name": "text",
"parent_id": "text",
"path": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
],
"is_active": true,
"created_at": "text"
}Comma-separated list. Supported: products, children.
Page for the products include.
1Page size for the products include.
25Tenant id (uuid v4)
Computed from deleted_at IS NULL.
Returned when the rate limit is exceeded
GET /api/v1/public/product-categories/{id} HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"id": "text",
"name": "text",
"parent_id": "text",
"path": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
],
"is_active": true,
"created_at": "text",
"products": {
"data": [
{
"id": "text",
"name": "text"
}
],
"meta": {
"total": 1,
"lastPage": 1,
"currentPage": 1,
"perPage": 1,
"prev": 1,
"next": 1
}
},
"children": [
{
"id": "text",
"name": "text",
"parent_id": "text",
"path": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
],
"is_active": true,
"created_at": "text"
}
]
}Tenant id (uuid v4)
No content
Returned when the rate limit is exceeded
DELETE /api/v1/public/product-categories/{id} HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Accept: */*
No content
Tenant id (uuid v4)
New parent. Pass null to promote to root. Rejected if it would create a cycle.
true → restore soft-deleted, false → soft-delete. Rejected if state is already what you set.
Computed from deleted_at IS NULL.
Returned when the rate limit is exceeded
PATCH /api/v1/public/product-categories/{id} HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51
{
"name": "text",
"parent_id": "text",
"is_active": true
}{
"id": "text",
"name": "text",
"parent_id": "text",
"path": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
],
"is_active": true,
"created_at": "text"
}Tenant id (uuid v4)
Computed from deleted_at IS NULL.
Returned when the rate limit is exceeded
POST /api/v1/public/product-categories/{id}/restore HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"id": "text",
"name": "text",
"parent_id": "text",
"path": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
],
"is_active": true,
"created_at": "text"
}Tenant id (uuid v4)
Returned when the rate limit is exceeded
GET /api/v1/public/product-categories/{id}/path HTTP/1.1
Host: api-stage.hesh.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"path": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
}
]
}Last updated

