Throwaway email over plain HTTP. Plain REST, a live SSE stream, and the server pulls the verification code or magic link out of the email for you. No password, no SDK. Made for scripts and AI agents: create an inbox, use it to sign up, ask for the code.
No password. Call POST /inboxes with no auth and you get a session_key back (just once). Send it as Authorization: Bearer <key> on every other call. Lose the key and you lose access to those inboxes, so store it.
Quickstart
bash
# 1. get an address (and your session key)
RESP=$(curl -s -X POST https://api.voidash.com/api/v1/inboxes)
TM_KEY=$(echo "$RESP" | jq -r .session_key)
ID=$(echo "$RESP" | jq -r .id)
echo"$RESP" | jq -r .address
# 2. … paste the address into a signup, then wait for the code:curl -s"https://api.voidash.com/api/v1/inboxes/$ID/otp?wait=60"\ -H"Authorization: Bearer $TM_KEY" | jq -r .code
# → 624810
★
Wait for a verification code
The server finds the one-time code (any format) or magic link in the email for you. Add ?wait=N and the request stays open until it lands, so your whole flow is just create inbox, sign up, get code. No SSE setup, no regex, no polling loops.
curl
# trigger your signup, then just wait for the code:curl"https://api.voidash.com/api/v1/inboxes/$ID/otp?wait=60"\ -H"Authorization: Bearer $TM_KEY"
response
{"code":"624810","message_id":"3e0d…","from_addr":"noreply@github.com","subject":"Your code is 624810","received_at":"2026-06-16T12:54:52Z"}
Endpoints
POST/api/v1/inboxesoptional
Create a throwaway inbox. No key yet? You get a new session and a session_key (returned once - save it and send it as the Bearer token from now on). Body is optional: "domain" picks a domain (see GET /domains), "style" picks the name style (neutral, funny, or serious).
curl
curl -X POST https://api.voidash.com/api/v1/inboxes\ -H"Content-Type: application/json"\ -d'{"domain":"voidash.cyou","style":"neutral"}'
response
{"id":"df83…","address":"swift-koala-8421@voidash.cyou","domain":"voidash.cyou","expires_at":"2026-06-15T04:49:56Z","session_key":"tm_sess_…"// only on first call}
GET/api/v1/inboxes/{id}/otp★required
The latest verification code found in this inbox. Add ?wait=N (up to 90s) to hold the request open until a code arrives; ?after=<RFC3339> skips codes older than a time. Returns 200 with the code, or 404 if none yet.