Private beta · onboarding in small batches

InboxKit

Email inboxes,
designed for agents.

··
curl -X POST https://api.inboxkit.dev/v1/inboxes \ -H "Authorization: Bearer $INBOXKIT_API_KEY"

[email protected] is live. No DNS.

Agents can browse, write code, and call any API. But the world still runs on email sign-ups, invoices, support, introductions. InboxKit gives every agent a real address, so it can take part.

One inbox. Every way in and out.

Create an address once. New mail reaches your agent the way it prefers, and replies land back in the same thread.

agent.tspreview
const res = await fetch("https://api.inboxkit.dev/v1/inboxes", {
method: "POST",
headers: { Authorization: `Bearer ${key}` },
body: JSON.stringify({ local_part: "support" }),
});
// [email protected] — reachable four ways
WebhookHMAC · SHA-256
POST /hooks/mail
X-InboxKit-Event: message.received
X-InboxKit-Signature: sha256=…
signature verified
200 OK
POST /hooks/mail
X-InboxKit-Event: message.received
X-InboxKit-Signature: sha256=…
signature verified
200 OK
POST /hooks/mail
X-InboxKit-Event: message.received
X-InboxKit-Signature: sha256=…
signature verified
200 OK
POST /hooks/mail
X-InboxKit-Event: message.received
X-InboxKit-Signature: sha256=…
signature verified
200 OK
WebSocketwss · /v1/ws
subscribe support@k7f3…
message.received
message.received
message.received
ThreadIn-Reply-To
Charged twice for March?
Refunded the duplicate. 3–5 days.
Perfect, thank you!
SearchSemantic · /v1/search
refund requests
Invoice #1042 — paid twice?
Refund for order 88-311
March billing question

Watch an agent handle its mail.

Create, receive, get pushed, reply. The whole loop is plain HTTP.

Three calls to a working agent inbox.

Plain REST and JSON. Use it from any language, any framework, any agent runtime.

Create an inbox
1const res = await fetch("https://api.inboxkit.dev/v1/inboxes", {
2 method: "POST",
3 headers: {
4 Authorization: `Bearer ${process.env.INBOXKIT_API_KEY}`,
5 "Content-Type": "application/json",
6 },
7 body: JSON.stringify({ local_part: "support" }),
8});
9
10const { address } = await res.json();
response201 Created
{
"org_id": 42,
"address": "[email protected]",
"mode": "instant",
"inbox": { "id": 118, ... }
}
createlistenreply

Not AI for your email.
Email for your AI.

Everything an agent needs to own an address, hold a conversation, and act on what arrives.

support@k7f3.inboxkit.dev
sales@k7f3.inboxkit.dev
agent-042@k7f3.inboxkit.dev
recruiter@k7f3.inboxkit.dev
signup-bot@k7f3.inboxkit.dev

Inboxes on demand

One inbox per agent, per user, or per task. Each gets its own address and history on your hosted domain.

MXagents.acme.exampleinbound
TXTagents.acme.exampleSPF
TXTik._domainkeyDKIM
TXT_dmarcDMARC

Your own domain

Start on inboxkit.dev, then move to your domain. We return the DNS records — or set them for you with Domain Connect.

text/plaintext/htmlmultipart/mixed
invoice-1042.pdf84 KB
receipt-march.png212 KB
contract-v3.docx46 KB

Full MIME + attachments

The raw message, parsed text and HTML, and every attachment. Send attachments back the same way.

Extraction built in

Pull structured fields from a message or interpret an attachment with one call. Your agent acts, not parses.

Push, not polling

Signed webhooks for your backend, a WebSocket for long-running agents. Filter by inbox, test with a sample event.

Scoped by design

Keys belong to an organization. Inboxes, events, and sockets never cross that line.

What agents do with an inbox.

Anything a person does with email, an agent can now do too — without borrowing someone's account.

Your verification code
482 193
→ code entered · account created
Sign up for things
Receive the verification email, read the code, finish the form.
Refund for order 88-311replied
Can I change my plan?replied
Legal question about datato human
Login link not arrivingdrafting…
Run a support desk
Answer every ticket in its own thread, hand off to a human when needed.
invoice-1042.pdf
{
"amount": "$1,240.00",
"due_date": "10/31/2026"
}
Process invoices
Pull amounts and dates out of incoming mail with /extract.
Can we meet next week?
Thursday 14:00 or 16:00?
16:00 works.
Book meetings
Trade a few emails, agree on a time, confirm in the same thread.

A small API you can hold in your head.

Bearer-token auth, predictable resources, JSON in and out. Your agent — or your coding assistant — learns it in one read.

api.inboxkit.devAuthorization: Bearer …
POST/v1/inboxes
GET/v1/inboxes/:address/messages
GET/v1/inboxes/:address/threads
POST/v1/inboxes/:address/send
POST/v1/inboxes/:address/messages/:id/reply
POST/v1/destinations
GET/v1/ws
POST/v1/domains
POST/v1/search
POST/v1/messages/:id/extract

Simple plans. Scale when you do.

Developer
$20/month
$16/mo billed annually

For one agent in production.

  • 14-day trial
  • 1,000 sends / month
  • 10,000 receives / month
  • 10 inboxes
  • Email support
Request access
Startup· recommended
$200/month
$160/mo billed annually

For a fleet of agents on your domain.

  • 25,000 sends / month
  • 100,000 receives / month
  • 100 inboxes
  • Custom domains
  • Priority support
Request access
Enterprise
Custom
Volume pricing

For platforms that give every user an inbox.

  • Unlimited sends
  • Unlimited receives
  • Unlimited inboxes
  • Dedicated support
  • Custom SLA
Talk to us

Questions,
answered.

The short version of how InboxKit works. Something missing? Ask us when you request access.

No. Every account gets a hosted inboxkit.dev domain, so your first inbox works in one API call. Add your own domain when you are ready — we give you the DNS records, or set them for you with Domain Connect.

Register a destination for message.received, or hold a WebSocket open at /v1/ws. Each push carries an X-InboxKit-Signature header (HMAC-SHA256), so you can verify it came from us.

Yes. POST /v1/inboxes/:address/send sends a new message with text, HTML, and attachments. Replies go through /messages/:id/reply so they stay in the thread.

Yes. Replies set In-Reply-To and References headers, so mail clients group them with the original message.

Yes. You get the full MIME message and every attachment. There are also endpoints to extract structured data from a message and to interpret an attachment.

Not today. The API is plain REST and JSON with a Bearer key, so any HTTP client works — fetch, requests, or curl.

InboxKit is in private beta. We onboard teams in small batches so that deliverability stays high for every sender on the platform.

Give your agent
an address.

Tell us what you are building. We will get you set up.