Articles
Articles power your knowledge base. Create, publish, and manage help content that customers and agents can search.
The Article object
Unique article identifier
Article title
Article body (Markdown)
Category name
Publication status "draft" | "published"
Whether visible in public knowledge base
Array of tag strings
Number of times viewed
Number of "helpful" votes
When the article was created
Last modification timestamp
Endpoints
/api/v1/teams/{teamId}/articlesList Articles
Retrieve a paginated list of knowledge base articles with optional filtering.
Query Parameters
category string Filter by category name
status string Filter by publication status
isPublic boolean Filter by public visibility
search string Full-text search in title and content
page integer Page number (1-indexed)
Default: 1
pageSize integer Results per page (max 100)
Default: 20
Code Examples
curl -X GET "https://app.cstar.help/api/v1/teams/{teamId}/articles?status=published" \
-H "Authorization: Bearer sk_live_your_key"
Responses
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "How to reset your password",
"category": "Account",
"status": "published",
"is_public": true,
"view_count": 342,
"helpful_count": 28,
"created_at": "2025-11-15T09:00:00Z"
}
],
"pagination": {
"page": 1,
"pageSize": 20,
"total": 142,
"totalPages": 8
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}
{
"error": {
"code": "FORBIDDEN",
"message": "Secret key required for this endpoint"
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Try again in 60 seconds",
"retryAfter": 60
}
}
/api/v1/teams/{teamId}/articles/{articleId}Get Article
Retrieve a single article by ID with full content.
Path Parameters
articleId uuid requiredThe article ID
Code Examples
curl -X GET "https://app.cstar.help/api/v1/teams/{teamId}/articles/{articleId}" \
-H "Authorization: Bearer sk_live_your_key"
Responses
{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "How to reset your password",
"content": "# Password Reset\n\n1. Go to login page\n2. Click \"Forgot Password\"...",
"category": "Account",
"status": "published",
"is_public": true,
"tags": [
"password",
"account",
"security"
],
"view_count": 342,
"helpful_count": 28,
"created_at": "2025-11-15T09:00:00Z",
"updated_at": "2025-12-01T11:00:00Z"
}
}
{
"error": {
"code": "resource_missing",
"message": "Article not found"
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}
{
"error": {
"code": "FORBIDDEN",
"message": "Secret key required for this endpoint"
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Try again in 60 seconds",
"retryAfter": 60
}
}
/api/v1/teams/{teamId}/articlesCreate Article
Create a new knowledge base article. Articles start as drafts by default.
Request Body
title string requiredArticle title
content string Article body (Markdown)
category string Category name
status string Publication status
Default: draft
isPublic boolean Whether visible publicly
Default: false
tags string Comma-separated tags
Code Examples
curl -X POST "https://app.cstar.help/api/v1/teams/{teamId}/articles" \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"title": "Getting Started Guide",
"content": "# Welcome\n\nHere is how to get started...",
"category": "Onboarding",
"status": "draft"
}'
Responses
{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Getting Started Guide",
"status": "draft",
"is_public": false,
"created_at": "2025-12-10T14:30:00Z"
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}
{
"error": {
"code": "FORBIDDEN",
"message": "Secret key required for this endpoint"
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Try again in 60 seconds",
"retryAfter": 60
}
}
/api/v1/teams/{teamId}/articles/{articleId}Update Article
Update one or more fields on an existing article.
Path Parameters
articleId uuid requiredThe article ID
Request Body
title string Article title
content string Article body (Markdown)
category string Category name
status string Publication status
isPublic boolean Whether visible publicly
tags string Comma-separated tags
Code Examples
curl -X PATCH "https://app.cstar.help/api/v1/teams/{teamId}/articles/{articleId}" \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "status": "published", "isPublic": true }'
Responses
{
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Getting Started Guide",
"status": "published",
"updated_at": "2025-12-10T16:00:00Z"
}
}
{
"error": {
"code": "resource_missing",
"message": "Article not found"
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}
{
"error": {
"code": "FORBIDDEN",
"message": "Secret key required for this endpoint"
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Try again in 60 seconds",
"retryAfter": 60
}
}
/api/v1/teams/{teamId}/articles/{articleId}Delete Article
Permanently delete an article from the knowledge base.
Path Parameters
articleId uuid requiredThe article ID
Code Examples
curl -X DELETE "https://app.cstar.help/api/v1/teams/{teamId}/articles/{articleId}" \
-H "Authorization: Bearer sk_live_your_key"
Responses
{
"data": {
"deleted": true
}
}
{
"error": {
"code": "resource_missing",
"message": "Article not found"
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}
{
"error": {
"code": "FORBIDDEN",
"message": "Secret key required for this endpoint"
}
}
{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Try again in 60 seconds",
"retryAfter": 60
}
}