Headless messaging API
Rooms, messages, delivery, and presence — mapped to your user IDs and business objects. No parallel user directory.
- 1:1 and group rooms
- Typing & read receipts
- Reactions & media
- REST + WebSocket
Early access · Headless Chat API
Add two-party messaging to your product without replacing auth, users, or UI. Your IDs, your login, our real-time engine. APIs and SDKs for your stack — your IDs, your login, our real-time engine.
We're onboarding early partners personally — reach out by email or Telegram while we scale hosted infrastructure.
// Your server — API key stays here
const { token } = await fetch(`${API_URL}/v1/auth/token`, {
method: "POST",
headers: { "x-api-key": process.env.SENDSAR_API_KEY },
body: JSON.stringify({
userId: user.id,
displayName: user.name,
}),
}).then((r) => r.json());
// Client connects with short-lived JWT
await client.connect(token);01
Your app
Existing users & auth
02
Your server
Issues session JWT
03
Sendsar
Rooms & delivery
04
Your UI
Headless — you design it
Built for platform teams
Core products
Modular building blocks — start with two-party messaging, add calls when you need them. Your auth, your UI, our delivery engine.
Rooms, messages, delivery, and presence — mapped to your user IDs and business objects. No parallel user directory.
Multi-tenant gateway with session JWTs, webhooks, and optional voice/video when your workflow needs more than text.
How it works
Most chat SDKs expect a greenfield build. Sendsar is built for the opposite — platforms that already ship.
Sendsar maps to your existing user IDs. No parallel user directory, no auth migration, no SSO rebuild.
Your backend holds the API key and mints short-lived JWTs. Clients never see secrets — same pattern you already trust.
We deliver rooms, messages, and real-time events. You render the chat experience inside your product's design system.
Platform features
Infrastructure for delivery and state — not a design system you have to adopt wholesale.
Use cases
Driver ↔ passenger
Trip-scoped rooms tied to order IDs. Chat opens when a match happens — no separate messaging app.
Account ↔ vendor
Let customers talk to suppliers or support inside your dashboard, using the accounts you already manage.
Client ↔ provider
Booking-based conversations with your auth layer intact. Add chat without adopting someone else's UI kit.
Early access
We're onboarding early partners personally — no hosted tiers live yet. Email or Telegram and we'll share docs, sandbox access, and pricing when you're ready to ship.
Developer experience
Start with the API, add SDKs where they help. Docs, webhooks, and session flows are designed around how platform engineers actually integrate — reach out when you want help wiring it up.
webhook payload
{
"type": "message.created",
"tenantId": "acme",
"roomId": "order_8f2a",
"senderId": "user_42", // your ID
"body": "Driver is 2 min away"
}Why Sendsar
If adding chat feels like bolting on someone else's product, you probably need infrastructure — not another app inside your app.
Typical chat SDK
Sendsar
Adopt our UI kit and user model
Keep your UI and map our rooms to your user IDs
Rebuild auth around our SDK
Mint session JWTs from the server you already run
Ship a full communication suite on day one
Start with two-party messaging, add calls when needed
Blog

Opinion
Building a real-time chat backend from scratch means signing up for a lifetime tax of fixing WebSocket connection drops, database scaling, and race conditions.
Team Flash Chat • • 5 min read

Comparison
Compare Stream, Sendbird, CometChat, Twilio, PubNub, and Flash Chat on integration, pricing, two-party messaging, and platform fit.
Team Flash Chat • • 8 min read