Request a waitlist confirmation email.
const url = 'https://api.opdns.io/v1/waitlist';const options = { method: 'POST', headers: {'Content-Type': 'application/json'},};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.opdns.io/v1/waitlist \ --header 'Content-Type: application/json' \Public and rate-limited. Requires explicit consent. Valid submissions always answer 202 with the same body for new, pending and confirmed addresses, including addresses under the durable one-email-per-minute resend limit. New entries are pending; only pending entries receive mail. The API queues mail containing a signed single-use confirmation link valid for 48 hours through the mailer; 202 does not promise delivery. Confirmed entries do not receive another confirmation. Pending entries expire from the waitlist after seven days. Joining does not create an account or issue an invitation; only confirmed entries may be invited.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Example
{ "consent": true}Responses
Section titled “Responses”Accepted without disclosing the address’s waitlist state.
object
Example
{ "status": "confirmation_sent"}Malformed request.
object
Stable machine code.
object
Seconds, repeating the Retry-After header (rate limits, offline nodes).
Example
{ "type": "https://opdns.io/problems/bad_request", "title": "Bad Request", "status": 400, "code": "bad_request", "detail": "invalid JSON body", "request_id": "5f2c9a0e7b1d4c38"}Field validation failed (validation_failed, unknown_list).
object
Stable machine code.
object
Seconds, repeating the Retry-After header (rate limits, offline nodes).
Example
{ "type": "https://opdns.io/problems/validation_failed", "title": "Unprocessable Content", "status": 422, "code": "validation_failed", "detail": "the request has invalid fields", "errors": [ { "field": "settings.block_mode", "message": "one of nxdomain, refused, null, block-page" } ], "request_id": "5f2c9a0e7b1d4c38"}Rate limited (rate_limited).
object
Stable machine code.
object
Seconds, repeating the Retry-After header (rate limits, offline nodes).
Example
{ "type": "https://opdns.io/problems/rate_limited", "title": "Too Many Requests", "status": 429, "code": "rate_limited", "detail": "too many requests", "request_id": "5f2c9a0e7b1d4c38", "retry_after": 6}Headers
Section titled “Headers”A required waitlist signer or mail queue is unavailable.
object
Stable machine code.
object
Seconds, repeating the Retry-After header (rate limits, offline nodes).
Example
{ "type": "https://opdns.io/problems/waitlist_unavailable", "title": "Service Unavailable", "status": 503, "code": "waitlist_unavailable", "detail": "waitlist temporarily unavailable"}