How WaitKit Works
The WaitKit signup request lifecycle, duplicate prevention for the same email on a project, and asynchronous confirmation email delivery.
Request lifecycle
When a visitor submits their email through your waitlist form, this is what happens:
- Browser sends a POST request to the WaitKit API with the subscriber's email and optional fields (name, source, metadata)
- API authenticates the request using the API key in the
Authorizationheader - Validation checks the email format and required fields
- Duplicate check ensures the email is not already registered for this project
- Enrichment records the subscriber's IP address, country (via IP geolocation), and device type (derived from the user-agent)
- Storage saves the subscriber entry
- Response returns the created entry to the browser
- Email (if enabled) schedules a confirmation email for delivery
The signup response returns without waiting for confirmation email delivery. Confirmation email delivery happens in the background.
Email system
When confirmation emails are enabled for a project, each signup records the email as pending, then it is delivered and marked accordingly. Failed deliveries are retried automatically before being marked as failed. Campaign blasts use the same system at scale.
Uniqueness guarantee
Duplicate signups are prevented for the same email on the same project. The same email can join different projects but not the same project twice. Attempting a duplicate returns 409 Conflict.
Concepts
Understand how the WaitKit waitlist platform works under the hood. Architecture, request lifecycle, analytics collection, and security explained for developers and product teams.
Analytics
How WaitKit subscriber analytics are collected. IP geolocation for country data, user-agent parsing for device detection, source tracking, and why signup requests must come from the browser for accurate analytics.
