API Reference
cStar is a headless customer support platform — you bring the UI, we provide the API. Organized around REST with JSON request/response bodies, standard HTTP codes, and Bearer token auth.
Authentication
Authenticate API requests by including your API key in the Authorization header as
a Bearer token. You can manage API keys from the CLI or your team settings.
curl -H "Authorization: Bearer sk_live_your_key" \
https://www.cstar.help/api/v1/teams/{teamId}/ticketsFull read/write access. Keep server-side only — never expose in client code.
Read-only access. Safe for frontend apps, widgets, and public-facing code.
Base URL
https://www.cstar.help/api/v1/teams/{teamId}All endpoints are scoped to your team. Replace {teamId} with your team's UUID
(found in team settings or via cstar status).
Errors
cStar uses conventional HTTP status codes. Codes in the 2xx range indicate success, 4xx indicate a client error, and 5xx indicate a server error. See the full Error Reference for detailed troubleshooting of every error code.
200 OK — Request succeeded201 Created — Resource created successfully400 Bad Request — Missing or invalid parameters401 Unauthorized — Invalid or missing API key403 Forbidden — Key lacks required permissions404 Not Found — Resource doesn't exist429 Rate Limited — Too many requests500 Server Error — Something went wrong on our end{
"success": false,
"error": {
"type": "invalid_request_error",
"code": "parameter_missing",
"message": "The 'title' field is required.",
"param": "title",
"doc_url": "https://www.cstar.help/developers/errors#parameter_missing",
"request_id": "req_abc123"
},
"meta": {
"timestamp": "2025-12-10T14:30:00Z"
}
}Rate Limits
The API is rate-limited per key. Limits are returned in response headers. When exceeded,
requests return 429 with a retryAfter value in the error body.
Idempotency
For safe retries on POST and PATCH requests, include an Idempotency-Key header. If the same key is sent again within 24 hours, the original response
is returned instead of creating a duplicate.
curl -X POST .../tickets \
-H "Authorization: Bearer sk_live_..." \
-H "Idempotency-Key: unique-request-id-123" \
-d '{"title": "My ticket"}'
# Retry with the same key → returns the same ticket, no duplicateResources
Explore each resource for full endpoint documentation, parameters, and code examples.
//{ticketId}///{customerId}////{groupId}//{articleId}/////{webhookId}////{categoryId}/posts/posts/posts/{postId}//{memberId}/{memberId}///statuses//unread-count/mark-all-read/////overview/agents/////////player/player/{memberId}/boss////{ruleId}/test///{viewId}/tickets/subscription/portal