Example Domains
Don't worry, real domains and their subscribers are not publicly accessible.
Sign in to claim your domain
We only store subscribers from claimed domains.
You can only access subscribers from domains you claimed.
Start within seconds
01
Create your account
So we can make sure only you have access to your subscribers.
02
Claim your domain
We only accept requests from claimed domains.
Quick Start
This is a minimal example including a component using react and axios.
You should end up with this.
Join the wait list
Thanks for subscribing!
Of course you can use whatever http client or framwork you want. As long as you can send post requests, you got all you need.
import axios from "axios";
import { useRef, useState } from "react";
export default function WaitList() {
const emailRef = useRef();
const [showSuccessMessage, setShowSuccessMessage] = useState(false);
async function handleClick(e) {
e.preventDefault();
axios.post("https://wl.breakneck.dev/api/join", { email: emailRef.current.value })
.then(data => setShowSuccessMessage(true));
}
return (
<div className="bg-orange-600 p-3 rounded-2xl mx-auto max-w-lg" >
<h3 className="text-3xl font-bold text-white pb-4 text-center ">Join the wait list</h3>
<form className="flex gap-2">
<input type="email" ref={emailRef} className="w-full bg-orange-700 border border-orange-500 rounded-sm px-4 h-12 py-4 mb-2 text-white placeholder-orange-400" placeholder="Your best email…" />
<button onClick={handleClick} className="inline-flex items-center justify-center font-bold w-36 rounded-sm text-orange-600 h-12 bg-orange-100 hover:bg-white shadow">Join</button>
</form>
<p className={`${showSuccessMessage ? "block" : "hidden"} text-left opacity-85 text-sm`} >Thanks for subscribing!</p>
</div>
)
}
Documentation
The endpoint is accepting POST requests under: https://wl.breakneck.dev/api/join
A valid request has the following form:
{
"email": "someone@gmail.com",
"data": "{"newsletter": true}",
"localhostDomain": "[localhost]-JuStTeStiNg"
}
Request parameters
email (required)
The email address of the user joining your wait list.
data (optional)
Optional field for whatever data you want to store regarding your subscriber.
Accepts any json object.
localhostDomain (optional)
Solely for debugging purposes on localhost. See testing from localhost.
Succesful Responses
200 OK
No Body. Everything worked as expected.
Error Responses
Error responses are formatted like this.
{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 404,
"instance": "/api/join",
"traceId": "0HN1--VV1:00000005",
"errors": [
{
"name": "generalErrors",
"reason": "Wait list for domain 'xD' not found. Claim the domain first on https://waitlist.breakneck.dev/#claim",
"code": "JoinWaitList.DomainNotFound"
}
]
}
ErrorCodes
JoinWaitList.DomainNotFound
Domain has not been found. The domain is automatically read from the origin of the request. Try claiming the domain.
JoinWaitList.NoLocalhost
Requests from localhost are not accepted. If you run into this while testing locally, check out testing from localhost
Testing from localhost
We dont accept join requests from localhost.
If you want to test locally you can
- 1) Claim a domain with the [localhost]- prefix. E.g "[localhost]-mytest".
- 2) Send a request to api/join using the optional localhostDomain parameter.
Waitlists with the [localhost]- prefix will be deleted once a day.