Email infrastructure
for AI agents
Give your agent a real email address in one REST call. Send, receive, read and delete mail over plain HTTPS — no SMTP servers, no IMAP, no OAuth dance.
# 1. create a mailbox — that's the whole setup $ curl -X POST https://api.kantsy.com/inbox { "email": "brave-comet-17@kantsy.com", "token": "<64-hex>", "tier": "free" } # 2. poll for inbound mail $ curl -H "Authorization: Bearer <token>" .../email?direction=in
Three calls, start to finish
Everything an agent needs — nothing it doesn't.
Create a mailbox
POST /inbox returns a memorable address like lunar-glade@kantsy.com plus its bearer token. Custom names available.
Send or wait for mail
POST /email sends outbound mail through the relay. Inbound messages land in the same mailbox automatically.
Poll and act
GET /email?direction=in&q=… lists new mail with filtering and pagination. Fetch bodies individually, then delete when done.
Built for machines first
Designed around how autonomous agents actually consume APIs.
Full-duplex inbox
Send and receive over one REST surface. Inbound mail lands the moment it arrives — poll it, filter it, act on it.
Agent-native auth
A single bearer token per mailbox, returned at creation. If your agent can call any HTTP API, it can have email.
Privacy by default
No tracking, no ads, no resale. Free-tier mail auto-purges after 7 days; paid tier keeps everything until you delete it.
Memorable addresses
Adjective-noun names humans can actually type and verify — bold-urchin@kantsy.com, not u3x9f@….
Honest limits
Clear, documented rate limits with Retry-After headers — 60 sends/hour per mailbox, 4 inbox creations/min per IP.
Made to be automated
Stable JSON responses, pagination, substring search across subject and body, machine-readable docs at /skill.md.
Your language, five minutes
The whole lifecycle: create → send → read.
# create $ curl -s -X POST https://api.kantsy.com/inbox # send $ curl -s -X POST https://api.kantsy.com/email \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"to":"dev@example.com","subject":"Hello","body":"From my agent"}' # read latest inbound $ curl -s -H "Authorization: Bearer $TOKEN" \ "https://api.kantsy.com/email?direction=in&limit=1"
import httpx BASE = "https://api.kantsy.com" # create inbox = httpx.post(f"{BASE}/inbox").json() email, token = inbox["email"], inbox["token"] headers = {"Authorization": f"Bearer {token}"} # send httpx.post(f"{BASE}/email", headers=headers, json={"to": "dev@example.com", "subject": "Hello", "body": "From my Python agent"}) # poll mail = httpx.get(f"{BASE}/email", headers=headers, params={"direction": "in"}).json()
const BASE = "https://api.kantsy.com"; // create const inbox = await (await fetch(`${BASE}/inbox`, { method: "POST" })).json(); const headers = { Authorization: `Bearer ${inbox.token}`, "Content-Type": "application/json" }; // send await fetch(`${BASE}/email`, { method: "POST", headers, body: JSON.stringify({ to: "dev@example.com", subject: "Hello", body: "From my Node agent" }) }); // poll const mail = await (await fetch(`${BASE}/email?direction=in`, { headers })).json();
The entire API
This is genuinely all of it. Auth via Authorization: Bearer <token>.
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/inbox | POST | — | Create mailbox → {email, token, tier}. Optional {"name": "mybot"} |
/email | GET | ✓ | List emails — filter by ?direction=in|out, ?from=, ?q=; paginate with ?limit=&offset= |
/email | POST | ✓ | Send — {"to","subject","body"}, single recipient, ≤ 256 KB plain text |
/email/{id} | GET | ✓ | Read one email including body_text |
/email/{id} | DELETE | ✓ | Delete an email immediately |
/health | GET | — | Service status |
/skill.md | GET | — | Machine-readable integration guide — point your agent at it |
Common questions
I lost my token. Can I recover it?
No — tokens are stored only as hashes and are never retrievable. Create a fresh mailbox, or contact us from your registered address if you're on the paid tier.
What's the difference between free and paid?
Free mailboxes auto-delete all messages after 7 days. Paid mailboxes keep mail indefinitely (until deleted via the API). Send limits are identical.
Can I choose my own address?
Yes — {"name": "mybot"} gives you mybot@kantsy.com. Names are lowercase letters, digits and hyphens (2–32 chars). Reserved names like admin and support are blocked.
Is there an SDK?
Not needed — the API is deliberately tiny. Any HTTP client works. Point your agent at skill.md and it can integrate itself.
What happens if I hit a rate limit?
You'll get a 429 with a Retry-After header telling you exactly how long to wait. Back off and retry — nothing is lost.
Your agent's inbox is one call away
Free tier, no signup, memorable addresses. Built for the way agents work.
View pricing