One call to send
POST to EMAIL_API_URL/send with your key, a recipient, a subject and HTML or text. You get a result for each recipient.
Send sign-in links, password resets, receipts and alerts from your server. Mail goes out from your project's cloudhike.dev address with no setup, or from your own domain.
Transactional email from your app with one API call, from a CloudHike.dev address or your own domain.
POST to EMAIL_API_URL/send with your key, a recipient, a subject and HTML or text. You get a result for each recipient.
Add your domain, set the DKIM, SPF and DMARC records it lists, and send from any address on it once it shows Verified.
Set scheduledAt up to 7 days ahead, and cancel the message any time before it goes out.
The Logs tab shows who each message went to and what happened. Message bodies are never stored.
Addresses that bounce for good or report spam are never mailed again, which keeps your sending reputation clean.
The Overview tab charts each day's delivered, bounced and failed mail, with your bounce and complaint rates.
Accept the email acceptable use policy and click Deploy on the Email card. You get EMAIL_API_URL and EMAIL_API_KEY.
Call /send from your server. Keep the key there: anyone with it can send as your project.
Add your domain under Domains, set the DNS records and send from your own address once it is verified.
const res = await fetch(`${process.env.EMAIL_API_URL}/send`, {
method: "POST",
headers: {
"content-type": "application/json",
"x-api-key": process.env.EMAIL_API_KEY!,
},
body: JSON.stringify({
to: "customer@example.com",
subject: "Your receipt",
html: "<p>Thanks for your order.</p>",
from: "receipts@acme.com", // needs acme.com verified
replyTo: "support@acme.com",
}),
});
const { results } = await res.json(); // [{ to, id, status }]Same project, same .env, same bill.
Postgres, auth, storage, Redis, email and AI models. One API key.