Customers
Customers represent the people who submit tickets. Track their history, sentiment, and metadata across all interactions.
The Customer object
Unique customer identifier
Full name
Email address
Account status "active" | "inactive"
Calculated sentiment based on interactions "positive" | "neutral" | "negative"
Array of tag strings
Internal notes about this customer
Total number of tickets
When the customer was created
Last modification timestamp
Endpoints
/api/v1/teams/{teamId}/customersList Customers
Retrieve a paginated list of customers with optional filtering.
Query Parameters
status string Filter by status
sentiment string Filter by sentiment
search string Search by name or email
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}/customers?status=active" \
-H "Authorization: Bearer sk_live_your_key"
Responses
{
"data": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Jane Smith",
"email": "jane@example.com",
"status": "active",
"sentiment": "positive",
"ticket_count": 5,
"created_at": "2025-11-01T10: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}/customers/{customerId}Get Customer
Retrieve a single customer by ID with their full profile and ticket history summary.
Path Parameters
customerId uuid requiredThe customer ID
Code Examples
curl -X GET "https://app.cstar.help/api/v1/teams/{teamId}/customers/{customerId}" \
-H "Authorization: Bearer sk_live_your_key"
Responses
{
"data": {
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Jane Smith",
"email": "jane@example.com",
"status": "active",
"sentiment": "positive",
"tags": [
"vip",
"enterprise"
],
"notes": "Key account — escalate issues immediately",
"ticket_count": 5,
"created_at": "2025-11-01T10:00:00Z",
"updated_at": "2025-12-10T14:30:00Z"
}
}
{
"error": {
"code": "resource_missing",
"message": "Customer 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}/customersCreate Customer
Create a new customer record. Email must be unique within your team.
Request Body
name string requiredFull name
email string requiredEmail address
tags string Comma-separated tags
notes string Internal notes
Code Examples
curl -X POST "https://app.cstar.help/api/v1/teams/{teamId}/customers" \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Smith",
"email": "jane@example.com",
"tags": "vip,enterprise"
}'
Responses
{
"data": {
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Jane Smith",
"email": "jane@example.com",
"status": "active",
"created_at": "2025-12-10T14:30:00Z"
}
}
{
"error": {
"code": "parameter_missing",
"message": "name and email are required"
}
}
{
"error": {
"code": "conflict",
"message": "A customer with this email already exists"
}
}
{
"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}/customers/{customerId}Update Customer
Update one or more fields on an existing customer.
Path Parameters
customerId uuid requiredThe customer ID
Request Body
name string Full name
email string Email address
status string Account status
sentiment string Override sentiment
tags string Comma-separated tags (replaces existing)
notes string Internal notes
Code Examples
curl -X PATCH "https://app.cstar.help/api/v1/teams/{teamId}/customers/{customerId}" \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "tags": "vip,enterprise,priority" }'
Responses
{
"data": {
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Jane Smith",
"status": "active",
"updated_at": "2025-12-10T16:00:00Z"
}
}
{
"error": {
"code": "resource_missing",
"message": "Customer 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}/customers/{customerId}Delete Customer
Permanently delete a customer. Associated tickets are preserved but unlinked.
Path Parameters
customerId uuid requiredThe customer ID
Code Examples
curl -X DELETE "https://app.cstar.help/api/v1/teams/{teamId}/customers/{customerId}" \
-H "Authorization: Bearer sk_live_your_key"
Responses
{
"data": {
"deleted": true
}
}
{
"error": {
"code": "resource_missing",
"message": "Customer 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
}
}