Introduction
Nordva Launch is one REST API and one MCP server for the things a small product needs around its users, from before launch to after people pay.
| Primitive | What it does |
|---|---|
| Changelog | Markdown release notes, scheduling, a hosted public page, email subscribers and an embeddable widget. |
| Waitlist | Signups with referral codes, a hosted page and widgets, invites, CSV import and export, and where each signup came from. |
| Feedback | Free-text feedback, classified automatically and routed to email, Slack, Linear or GitHub. |
| Notifications | In-app notifications: send to a user id, poll unread from the browser, mark read. Builder plan. |
| Revenue | Your own Stripe account, connected read-only: MRR, new and churned subscriptions, revenue over time. Indie and Builder. |
| Contacts | One record per person across waitlist, subscribers, feedback and Stripe. Not a CRM. |
| Attribution | Which signup sources produce paying customers, with no tracking script. Indie and Builder. |
Everything is behind the same API key, and every primitive is also available as tools in the MCP server, so Claude Code, Cursor or VS Code can publish a changelog entry, look up a customer or report your MRR from inside a session.
How it fits together
Section titled “How it fits together”- Two kinds of key. A secret key (
nv_live_…) for your server, and a publishable key (nv_pub_live_…) that is safe in a browser and can only write to the public endpoints: waitlist signup, feedback, changelog subscribe, and reading notifications. See Authentication. - One response shape. Every response is
{ data, error, meta }. Errors carry a stablecodeand aremediationtelling you what to do. See Error codes. - Safe retries.
POSTandPATCHaccept anIdempotency-Key. See Idempotency. - No tracking script. Attribution and insights only count what passes through Launch’s own forms and API. There are no pageviews or sessions here.
Where to start
Section titled “Where to start” Quickstart Get an API key and publish your first changelog entry in a few minutes.
MCP setup Connect Claude Code, Cursor, VS Code or Claude Desktop.
Add a waitlist A signup form in Next.js, or a zero-code widget, with referrals and sources.
Connect Stripe Read-only. See revenue, who became a customer, and from where.
Endpoints Every endpoint, generated from the API's own OpenAPI document.
Error codes Stable codes, what they mean and what to do about them.