Skip to content
Engineering

Building on the InstantEduMail API

Create mailboxes, stream inbound mail and wire webhooks with a handful of requests.

DEDevansh Rao8 min readUpdated 5 August 2026

Authenticate

Every request carries a bearer key scoped to the permissions you granted it.

bash
curl https://api.instantedumail.com/v1/mailboxes \
  -H "Authorization: Bearer $INSTANTEDUMAIL_API_KEY"

Create a mailbox

ts
const res = await fetch("https://api.instantedumail.com/v1/mailboxes", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.INSTANTEDUMAIL_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ address: "cohort-2027", label: "Orientation" }),
});

const mailbox = await res.json();

Receive mail with webhooks

Register an https endpoint and subscribe to email.received. Every delivery is signed; verify before you trust it.

Rate limits

Limits are per key and returned on every response in X-RateLimit-Remaining. Back off on 429 using the Retry-After header.

Scopes

Grant the narrowest scope that works. A read-only integration should never hold emails:write.

Share

About the author

Devansh Rao

Principal Engineer

Devansh builds the provisioning pipeline that turns a chosen username into a live encrypted mailbox in under ten seconds.

All posts by Devansh Rao

Comments are coming soon

We're wiring up a moderated discussion thread for each post. Until then, reply by email and we'll add good questions to the article.

Send us a note