Skip to main content

Community

Community posts let customers ask questions, share feedback, and vote on feature requests. Agents can manage posts, set statuses, and moderate content.

The Communit object

id uuid

Unique post identifier

title string

Post title

slug string

URL-friendly slug

body string

Post body text

topic_id uuid

Topic category ID

status string

Post status "open" | "answered" | "officially_answered" | "planned" | "not_planned" | "completed" | "under_review"

visibility string

Post visibility "public" | "members_only"

vote_count integer

Number of upvotes

comment_count integer

Number of comments

is_pinned boolean

Whether post is pinned to top

is_locked boolean

Whether new comments are disabled

custom_fields object

Custom field values as key-value pairs (field definition ID → value). Only fields assigned to the post's topic are accepted. Internal only — not returned by public API.

attachments array

Image attachments (max 10 per post, 5 per comment). Each object: {filename, content_type, size_bytes, storage_path}. Images only (JPEG, PNG, GIF, WebP), 5MB max per file.

created_at datetime

When the post was created

Endpoints

GET /api/v1/teams/{teamId}/community/posts

List posts

Get all community posts for the team with optional filters.

Query Parameters

topic string

Filter by topic slug

status string

Filter by status

sort string

Sort order: recent, votes, comments

Default: recent

page integer

Page number (1-indexed)

Default: 1

pageSize integer

Results per page (max 100)

Default: 20

Code Examples

curl "https://www.cstar.help/api/v1/teams/{teamId}/community/posts?sort=votes" \
  -H "Authorization: Bearer sk_live_your_key"

Responses

200 List of posts
{
  "success": true,
  "data": [
    {
      "id": "...",
      "title": "Add dark mode",
      "status": "planned",
      "vote_count": 42
    }
  ],
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2025-12-10T14:30:00Z",
    "pagination": {
      "page": 1,
      "pageSize": 20,
      "total": 142,
      "totalPages": 8
    }
  }
}
401 Authentication failed — missing or invalid API key
{
  "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"
  }
}
403 Insufficient permissions — wrong key type or team access
{
  "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"
  }
}
429 Rate limit exceeded
{
  "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"
  }
}
POST /api/v1/teams/{teamId}/community/posts

Create post

Create a new community post.

Request Body

title string required

Post title

body string

Post body text

topicId uuid required

Topic category ID

visibility string

public or members_only

Default: public

customFields object

Custom field values as {fieldDefinitionId: value}. Only fields assigned to the topic are accepted. Required fields (per topic config) must be included.

attachments array

Image attachments (max 10). Each: {filename, content_type, size_bytes, storage_path}. Images only, 5MB max each.

Code Examples

curl -X POST "https://www.cstar.help/api/v1/teams/{teamId}/community/posts" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{"title":"Tutorial Video","topicId":"topic-uuid","customFields":{"field-def-id":"https://youtube.com/watch?v=abc"}}'

Responses

201 Created post
{
  "success": true,
  "data": {
    "id": "...",
    "title": "New feature idea",
    "status": "open"
  }
}
401 Authentication failed — missing or invalid API key
{
  "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"
  }
}
403 Insufficient permissions — wrong key type or team access
{
  "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"
  }
}
429 Rate limit exceeded
{
  "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"
  }
}
PATCH /api/v1/teams/{teamId}/community/posts/{postId}

Update post status

Update a community post status or properties.

Path Parameters

postId uuid required

Post ID

Request Body

status string

New status (open, planned, completed, etc.)

is_pinned boolean

Pin to top of topic

is_locked boolean

Lock comments

customFields object

Custom field values as {fieldDefinitionId: value}. Merged with existing values. Required fields cannot be removed.

attachments array

Replace post attachments (images only, max 10, 5MB each)

Code Examples

curl -X PATCH "https://www.cstar.help/api/v1/teams/{teamId}/community/posts/{postId}" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{"status":"planned","customFields":{"field-id":"new-value"}}'

Responses

200 Updated post
{
  "success": true,
  "data": {
    "id": "...",
    "status": "planned"
  }
}
401 Authentication failed — missing or invalid API key
{
  "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"
  }
}
403 Insufficient permissions — wrong key type or team access
{
  "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"
  }
}
429 Rate limit exceeded
{
  "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"
  }
}
GET /api/v1/teams/{teamId}/community/topics

List topics

Get all community topics for the team. Each topic includes a customFieldConfig array specifying which custom fields appear on posts in that topic.

Code Examples

curl "https://www.cstar.help/api/v1/teams/{teamId}/community/topics" \
  -H "Authorization: Bearer sk_live_your_key"

Responses

200 List of topics
{
  "success": true,
  "data": [
    {
      "id": "...",
      "name": "Videos",
      "slug": "videos",
      "customFieldConfig": [
        {
          "fieldId": "field-def-id",
          "required": true
        }
      ],
      "postCount": 12
    }
  ]
}
401 Authentication failed — missing or invalid API key
{
  "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"
  }
}
403 Insufficient permissions — wrong key type or team access
{
  "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"
  }
}
429 Rate limit exceeded
{
  "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"
  }
}