REST API
Base URL, request format, rate limits, and error shape for the UseWait REST API.
The REST API lives at:
https://usewait.com/api/v1
All endpoints accept and return JSON (assets also accept multipart/form-data). Authenticate every request with your API key; see Authentication.
Discovery
GET /api/v1 requires no authentication and returns a machine-readable index of every endpoint, the MCP endpoint, and usage notes. Hand it to an agent or use it to explore.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET |
/api/v1/me |
Account, plan, and capabilities |
GET |
/api/v1/waitlists |
List your waitlists |
POST |
/api/v1/waitlists |
Create a waitlist |
GET |
/api/v1/waitlists/{idOrSlug} |
One waitlist, including page code |
PATCH |
/api/v1/waitlists/{idOrSlug} |
Update a waitlist |
DELETE |
/api/v1/waitlists/{idOrSlug} |
Delete a waitlist |
GET |
/api/v1/waitlists/{idOrSlug}/entries |
List signups |
GET |
/api/v1/waitlists/{idOrSlug}/domain |
Domain state and the DNS record to create |
POST |
/api/v1/waitlists/{idOrSlug}/domain |
Connect a custom domain (DNS check + SSL) |
DELETE |
/api/v1/waitlists/{idOrSlug}/domain |
Disconnect the custom domain |
GET PUT DELETE |
/api/v1/waitlists/{idOrSlug}/turnstile |
Manage custom Turnstile keys |
GET POST DELETE |
/api/v1/waitlists/{idOrSlug}/database |
Connect your own Postgres/MySQL |
GET |
/api/v1/email-templates |
List email templates and the variable contract |
POST |
/api/v1/email-templates |
Create an email template |
GET |
/api/v1/email-templates/{id} |
One template with full HTML |
PATCH |
/api/v1/email-templates/{id} |
Update a template |
DELETE |
/api/v1/email-templates/{id} |
Delete a template |
POST |
/api/v1/assets |
Upload an image to the CDN |
Errors
Errors return a JSON body with an error message and, for validation failures, a details array:
{
"error": "Validation failed.",
"details": [{ "path": "name", "message": "Required" }]
}
| Status | Meaning |
|---|---|
400 |
Invalid input (see details) |
401 |
Missing or invalid API key |
403 |
Plan does not include the capability, or account inactive |
404 |
Resource not found or not yours |
409 |
Conflict, for example a taken slug |
413 |
File too large (assets, max 5 MB) |
422 |
Domain setup failed DNS verification (response includes the record to create) |
429 |
Rate limit exceeded (120 requests per minute) |