Troubleshooting
Troubleshoot common WaitKit integration issues. Fix API key errors, project slug not found (404), duplicate email conflicts (409), rate limits (429), CORS errors, and Node.js fetch compatibility.
API key not working
- Verify the key starts with
wk_ - Confirm the key belongs to the correct project (keys are project-scoped)
- Check that the key has not been deleted from the dashboard
- Ensure the
Authorizationheader uses theBearerscheme exactly:Authorization: Bearer wk_... - If the key was recently created, it is active immediately - no propagation delay
Project slug not found
A 404 response means the slug in the URL does not match any project.
- Slugs are set when the project is created and cannot be changed
- Slugs are case-sensitive
- View the correct slug from the project settings page in the dashboard
- The SDK uses the
projectSlugfromWaitKitConfig- make sure it matches exactly
Email already registered
A 409 Conflict means this email is already on the waitlist. This is intentional - each email can only be registered once per project. The waitlist tracks unique interest.
If a user tries to sign up again:
- They should check their inbox for the original confirmation email
- You can update their name or metadata from the dashboard's Waitlist tab
Rate limited
A 429 Too Many Requests response means you have exceeded the rate limit.
- Join: 3 requests per minute per project slug + IP
- Count: 30 requests per minute per project slug + IP
- The response includes a
Retry-Afterheader with the number of seconds to wait - Rate limits apply per API key, not per project
If you need higher limits, contact support.
SDK not working in Node.js
The SDK requires the global fetch API, available in:
- Node.js 18+
- All modern browsers
- Bun
- Deno
For Node.js 17 and below, install a fetch polyfill like undici or node-fetch.
CORS errors in the browser
The WaitKit API includes the necessary CORS headers for browser requests. If you see CORS errors:
- Verify the API key is correct
- Make sure you are calling the SDK from a browser, not a server
- Check that no proxy is modifying the request origin
