Waitlist
Build a waitlist for your product. Users sign up with their email, get assigned a position, and you can manage entries from the dashboard.
Quick Start
Section titled “Quick Start”curl -X POST https://api.sassmaker.com/v1/waitlist \ -H "Content-Type: application/json" \ -H "X-Project-Key: pk_your_api_key" \ -d '{ "email": "user@example.com", "name": "Jane Doe" }'API Endpoints
Section titled “API Endpoints”Join waitlist
Section titled “Join waitlist”POST /v1/waitlistAuth: API Key
curl -X POST https://api.sassmaker.com/v1/waitlist \ -H "Content-Type: application/json" \ -H "X-Project-Key: pk_your_api_key" \ -d '{ "email": "user@example.com", "name": "Jane Doe" }'| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email address |
name | string | No | Full name |
Response (201):
{ "id": "abc-123", "email": "user@example.com", "name": "Jane Doe", "position": 42, "created_at": "2025-01-01T00:00:00Z"}Errors:
| Status | Message | Cause |
|---|---|---|
400 | "email is required" | Missing or invalid email |
409 | "Email already on waitlist" | Duplicate signup |
Get waitlist count
Section titled “Get waitlist count”GET /v1/waitlist/countAuth: API Key
curl https://api.sassmaker.com/v1/waitlist/count \ -H "X-Project-Key: pk_your_api_key"Response (200):
{ "count": 142 }Use this to display “142 people on the waitlist” on your landing page.
List waitlist entries
Section titled “List waitlist entries”GET /v1/waitlist?project_id=PROJECT_ID&page=1Auth: Session Token
curl "https://api.sassmaker.com/v1/waitlist?project_id=proj_123&page=1" \ -H "Authorization: Bearer SESSION_TOKEN"Response (200):
{ "data": [ { "id": "abc-123", "email": "user@example.com", "name": "Jane Doe", "position": 1, "created_at": "..." } ], "total": 142, "page": 1, "limit": 50}Errors:
| Status | Message | Cause |
|---|---|---|
400 | "project_id is required" | Missing project_id query param |
403 | "Forbidden" | Not the project owner |
Delete waitlist entry
Section titled “Delete waitlist entry”DELETE /v1/waitlist/:id?project_id=PROJECT_IDAuth: Session Token
Response (200): { "ok": true }
Errors:
| Status | Message | Cause |
|---|---|---|
403 | "Forbidden" | Not the project owner |
404 | "Not found" | Entry doesn’t exist |
SDK Usage
Section titled “SDK Usage”import { SaaSMakerClient } from '@saas-maker/sdk';
const client = new SaaSMakerClient({ apiKey: 'pk_your_api_key' });
// Add to waitlistconst entry = await client.waitlist.join({ email: 'user@example.com', name: 'Jane Doe',});console.log(`Position: ${entry.position}`);
// Get countconst { count } = await client.waitlist.count();