Signup API

Accept signups from your server with a scoped API key.

Use this endpoint when you collect emails on your own backend and want Waitlyze to own verification, referrals, and storage. Browsers should use the hosted page or embed instead — never expose an API key client-side.

Create an API key first

Go to Settings → Integrations → API keys, choose a waitlist, name the key, and set expiry. Copy the secret before closing: only its hash is stored. See API keys.

Keep keys on your server

A key grants signup-write access to one waitlist. Store it in a server environment variable such as WAITLYZE_API_KEY. Never put it in a browser bundle or public repository.

Create a signup

POST /api/waitlist accepts JSON. Authentication uses the apiKey body field. This endpoint does not use a Bearer header.

Server-side JavaScript
const response = await fetch("https://waitlyze.falakgala.dev/api/waitlist", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    apiKey: process.env.WAITLYZE_API_KEY,
    waitlistId: "YOUR_WAITLIST_ID",
    email: "person@example.com",
    // referralCode: "OPTIONAL_REFERRAL_CODE"
  })
});
const result = await response.json();
if (!response.ok) throw new Error(result.error || "Signup failed");

Prop

Type

Handle responses

Success response
{ "success": true, "message": "Successfully joined the waitlist!", "data": { "rank": 9 } }
StatusMeaningFix
400Missing or invalid inputValidate email, IDs, and JSON shape.
401Bad key, expiry, or wrong linked waitlistCheck API keys and waitlistId.
409Duplicate email, or not accepting signupsDistinguish duplicate from draft/paused state.
429Rate limitedWait for Retry-After; back off, do not loop.
503Rate-limit service unavailableRetry after the provided interval.
500Temporary server failureRetry with exponential backoff.

New API signups follow the same verification flow: they receive a 24-hour confirmation link and stay unverified until they click it.

Dashboard routes need a session, not a signup key

/api/v1/api-keys and /api/v1/waitlists are browser-session routes. A waitlist:write signup key cannot manage keys, list subscribers, or access them.

Next

On this page