Categories
Categories organize your knowledge base articles into logical groups. Customers see public categories when browsing your help center.
The Category object
Unique category identifier (UUID)
Category display name
URL-safe slug (auto-generated from name)
Category description
Icon identifier
Color value
Display order (ascending)
Whether visible in the public knowledge base
When the category was created
Last modification timestamp
Endpoints
/api/v1/teams/{teamId}/categoriesList Categories
Retrieve all categories for a team, ordered by sort order then name.
Query Parameters
isPublic boolean Filter to public categories only
Code Examples
curl -X GET "https://www.cstar.help/api/v1/teams/{teamId}/categories" \
-H "Authorization: Bearer sk_live_your_key"Responses
{
"success": true,
"data": [
{
"id": "7134fc12-0302-4e58-9466-a770035d5da9",
"object": "category",
"name": "Getting Started",
"slug": "getting-started",
"description": "Beginner guides and onboarding",
"isPublic": true,
"sortOrder": 0,
"createdAt": "2025-12-10T14:30:00Z"
}
],
"meta": {
"requestId": "req_abc123",
"timestamp": "2025-12-10T14:30:00Z",
"pagination": {
"total": 3,
"page": 1,
"pageSize": 3,
"hasMore": false
}
}
}{
"success": false,
"error": {
"type": "authentication_error",
"code": "authentication_required",
"message": "Invalid or expired API key",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authorization_error",
"code": "insufficient_permissions",
"message": "Secret key required for this endpoint",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds",
"doc_url": "https://www.cstar.help/developers/api-reference#rate-limiting",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}/api/v1/teams/{teamId}/categoriesCreate Category
Create a new article category. Slug is auto-generated from the name.
Request Body
name string requiredCategory display name
description string Category description
icon string Icon identifier
color string Color value
sortOrder integer Display order
Default: 0
isPublic boolean Whether visible publicly
Default: false
Code Examples
curl -X POST "https://www.cstar.help/api/v1/teams/{teamId}/categories" \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "name": "Getting Started", "isPublic": true }'Responses
{
"success": true,
"data": {
"id": "7134fc12-0302-4e58-9466-a770035d5da9",
"object": "category",
"name": "Getting Started",
"slug": "getting-started",
"description": null,
"isPublic": false,
"sortOrder": 0,
"createdAt": "2025-12-10T14:30:00Z"
},
"meta": {
"requestId": "req_abc123",
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "conflict_error",
"code": "CONFLICT",
"message": "A category with slug \"getting-started\" already exists",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authentication_error",
"code": "authentication_required",
"message": "Invalid or expired API key",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authorization_error",
"code": "insufficient_permissions",
"message": "Secret key required for this endpoint",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds",
"doc_url": "https://www.cstar.help/developers/api-reference#rate-limiting",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}/api/v1/teams/{teamId}/categories/{categoryId}Update Category
Update one or more fields on an existing category. Only include the fields you want to change.
Path Parameters
categoryId string requiredThe category ID (UUID)
Request Body
name string New name
description string New description
icon string New icon
color string New color
sortOrder integer New sort order
isPublic boolean New visibility
Code Examples
curl -X PATCH "https://www.cstar.help/api/v1/teams/{teamId}/categories/{categoryId}" \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "description": "Updated description", "isPublic": true }'Responses
{
"success": true,
"data": {
"id": "7134fc12-0302-4e58-9466-a770035d5da9",
"object": "category",
"name": "Getting Started",
"slug": "getting-started",
"description": "Updated description",
"isPublic": true,
"updatedAt": "2025-12-10T16:00:00Z"
},
"meta": {
"requestId": "req_abc123",
"timestamp": "2025-12-10T16:00:00Z"
}
}{
"success": false,
"error": {
"type": "not_found_error",
"code": "RESOURCE_MISSING",
"message": "Category not found",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authentication_error",
"code": "authentication_required",
"message": "Invalid or expired API key",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authorization_error",
"code": "insufficient_permissions",
"message": "Secret key required for this endpoint",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds",
"doc_url": "https://www.cstar.help/developers/api-reference#rate-limiting",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}/api/v1/teams/{teamId}/categories/{categoryId}Delete Category
Permanently delete a category. Articles in this category will become uncategorized.
Path Parameters
categoryId string requiredThe category ID (UUID)
Code Examples
curl -X DELETE "https://www.cstar.help/api/v1/teams/{teamId}/categories/{categoryId}" \
-H "Authorization: Bearer sk_live_your_key"Responses
{
"success": true,
"data": {
"deleted": true
},
"meta": {
"requestId": "req_abc123",
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "not_found_error",
"code": "RESOURCE_MISSING",
"message": "Category not found",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authentication_error",
"code": "authentication_required",
"message": "Invalid or expired API key",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "authorization_error",
"code": "insufficient_permissions",
"message": "Secret key required for this endpoint",
"doc_url": "https://www.cstar.help/developers/api-reference#authentication",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}{
"success": false,
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds",
"doc_url": "https://www.cstar.help/developers/api-reference#rate-limiting",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}