# 1. Create an inbox on your free subdomain
curl -X POST https://api.mailbay.dev/v1/inboxes \
-H "Authorization: Bearer $MAILBAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"local_part": "signup-bot", "display_name": "Signup bot"}'
# {"id": "ibx_01jbz8w4k2q9...", "address": "signup-bot@k7m3qz.mailbay.email", ...}
# 2. Block until the sign in code arrives (long poll, up to 60s)
curl "https://api.mailbay.dev/v1/inboxes/ibx_01jbz8w4k2q9/wait?subject=code&timeout=60" \
-H "Authorization: Bearer $MAILBAY_API_KEY"
const api = "https://api.mailbay.dev/v1";
const headers = {
Authorization: `Bearer ${process.env.MAILBAY_API_KEY}`,
"Content-Type": "application/json",
};
// 1. An inbox on your free subdomain, ready to receive right away
const inbox = await fetch(`${api}/inboxes`, {
method: "POST",
headers,
body: JSON.stringify({ local_part: "signup-bot", display_name: "Signup bot" }),
}).then((r) => r.json());
console.log(inbox.address); // signup-bot@k7m3qz.mailbay.email
// 2. Block until the sign in code arrives (long poll, up to 60s)
const { message, codes } = await fetch(
`${api}/inboxes/${inbox.id}/wait?subject=code&timeout=60`,
{ headers },
).then((r) => r.json());
console.log(message.subject, codes[0]);
import os
import requests
api = "https://api.mailbay.dev/v1"
headers = {"Authorization": f"Bearer {os.environ['MAILBAY_API_KEY']}"}
# 1. An inbox on your free subdomain, ready to receive right away
inbox = requests.post(f"{api}/inboxes", headers=headers,
json={"local_part": "signup-bot", "display_name": "Signup bot"}).json()
print(inbox["address"]) # signup-bot@k7m3qz.mailbay.email
# 2. Block until the sign in code arrives (long poll, up to 60s)
result = requests.get(f"{api}/inboxes/{inbox['id']}/wait",
headers=headers, params={"subject": "code", "timeout": 60}, timeout=70).json()
print(result["message"]["subject"], result["codes"][0])
{
"mcpServers": {
"mailbay": {
"command": "mailbay-mcp",
"args": ["stdio"],
"env": { "MAILBAY_API_KEY": "mb_live_..." }
}
}
}
// Your agent now has: create_inbox, send_email, reply,
// list_threads, get_thread, get_message, wait_for_email,
// add_domain, verify_domain, create_webhook