Docs
Quickstart
Everything below runs against the live API. Keys are issued with waitlist invites while we're in beta — join here and you'll get one with your invite email.
1. One key, plain HTTPS
Every service is a resource under api.paean.dev,
authenticated with a Bearer key scoped per project. Create a support
thread:
curl -X POST https://api.paean.dev/support/threads \
-H "Authorization: Bearer $PAEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"body": "Reset password button does nothing on Safari",
"category": "bug",
"reporter_email": "user@example.com",
"reporter_name": "Alice"
}'
The response includes a public ref (like
ACME-42) your user can use on the hosted lookup page —
replies flow back over email automatically.
2. Or the typed SDK
The TypeScript SDK covers support, waitlist, feedback, flags, changelog and files. Server-side only — never ship your key to a browser.
import { createPaeanClient } from "@paean/sdk";
const paean = createPaeanClient({
baseUrl: "https://api.paean.dev",
apiKey: process.env.PAEAN_API_KEY!, // server-side only
});
// Support thread (returns a public ref like ACME-42)
const thread = await paean.support.threads.create({
body: "Reset password button does nothing on Safari",
category: "bug",
reporter_email: "user@example.com",
reporter_name: "Alice",
});
// Waitlist signup
await paean.waitlist.add({ email: "early@adopter.dev", referrer: "x" });
// Feedback
await paean.feedback.submit({ rating: 9, comment: "Love it" });
// Feature flag
const flag = await paean.flags.evaluate("new-checkout", { user_id: "u_1" }); 3. On Cloudflare Workers? Skip the network
If your backend is a Worker, a service binding gives you zero-egress, single-digit-ms calls:
// wrangler.jsonc — zero-egress if your backend is a CF Worker
{ "services": [{ "binding": "PAEAN", "service": "paean-api" }] }
// then:
const paean = createPaeanClient({
binding: env.PAEAN,
apiKey: env.PAEAN_API_KEY,
}); What's covered today
- Support inbox — threads, replies, statuses, tags, inbound email, public lookup page. Full REST surface.
- Waitlist — signup, list, invite (fires the invite email).
- Feedback — ratings + comments with stats.
- Feature flags — CRUD + edge-cached evaluate.
- Changelog — public JSON feed you can embed.
- Files — upload, stream, on-the-fly image resize.
- Webhooks, cron monitoring, email notifiers — API-first today; portal UI is rolling out.
Full API reference is being published service-by-service. Anything unclear in the meantime — ask us, replies usually land same-day.