Skip to main content

Headless Customer Support API

Build with cStar

The headless support platform for teams who want to ship their own UI. We run the backend. You render whatever you want. SDKs, webhooks, a CLI, and a REST API that doesn't try to be cute.

2 min to first API call
3 SDKs JS, React, Svelte
$15 per seat, everything
Terminal
_

Pick your level

Drop in a script tag. Reach for the SDK. Hit the API directly. Start at the level you need — you can mix surfaces later without rebuilding.

What are you building?

REST API

Full CRUD for tickets, customers, articles, and webhooks. Clean JSON responses, sensible pagination, proper error codes.

Explore endpoints

Framework SDKs

First-class support for React, Svelte, and vanilla JavaScript. Hooks, rune classes, and real-time subscriptions built in.

View SDKs

Webhooks

Real-time event delivery for tickets, customers, articles, and gamification. HMAC signing, retries, and a CLI for local testing.

Webhook guide

CLI + MCP

Developer CLI for local webhook forwarding, log streaming, and key management. MCP server mode for AI agent integration.

CLI reference

Built different on purpose

MCP
AI-native from day one

MCP server mode lets Claude, Cursor, and other AI tools work with your support data directly.

CLI
Stripe-style webhook testing

cstar listen forwards webhook events to localhost. cstar trigger fires test events.

SDK
Framework-native, not wrappers

React hooks with real-time subscriptions. Svelte 5 rune classes. Not auto-generated REST wrappers.

AI
AI context file included

Drop our AI context file into your project. Your AI assistant instantly knows the full API.

Quick look at the API

REST. Bearer tokens. JSON in, JSON out. No surprises.

GET /api/v1/teams/{teamId}/tickets List tickets
POST /api/v1/teams/{teamId}/tickets Create ticket
GET /api/v1/teams/{teamId}/customers List customers
POST /api/v1/teams/{teamId}/webhooks Create webhook
GET /api/v1/teams/{teamId}/articles List articles
Example: List open tickets
import { CStarClient } from '@cstar.help/js';

const cstar = new CStarClient({ apiKey: 'sk_live_your_key' });

const { data, pagination } = await cstar.tickets.list({
  status: 'open',
  priority: 'urgent'
});

console.log(`Found ${pagination.total} urgent tickets`);

Framework SDKs

Pick the one that matches your stack. React hooks for React. Svelte 5 rune classes for Svelte. The vanilla JS client for everything else (and for the server).