Agent Inbox Fundamentals · 6 min read · Jun 29, 2026

How to Provision an Email Inbox for an AI Agent in One API Call

Most email providers put a form between you and a working address: sign up, verify, configure, maybe wait on approval. DimeBox skips all of it. One POST request returns a working email address and the credential to read it, and the request can come from a script with no prior relationship to DimeBox at all.

curl -X POST https://dimebox.app/api/inboxes \
  -H 'Content-Type: application/json'

That's the entire free path. No body is required. The response is a 201 with the new inbox's slug, its address, and — shown exactly once — a read_token:

{
  "data": { "slug": "bold-ember-564", "email_address": "[email protected]", ... },
  "read_token": "inbox_...",
  "webhook_secret": null,
  "paid_by": null,
  "notice": "Save the read token (and webhook secret, if set) now - neither is shown again."
}

Free vs. claimed: two routes to the same shape

There are two ways to provision an inbox, and they return the same response shape with one difference in how the slug is chosen:

Availability on the paid route is checked before payment settles — a taken or reserved name comes back as a 422 with no payment attempted, so you never pay for a slug you can't have. See claiming a custom inbox name for the full mechanics, and reserved inbox names for which slugs are permanently blocked regardless of what you offer to pay.

Paying for the claim route

Because claim is a priced call, it goes through the same payment gate as every other paid DimeBox route: call it with a signed payment header, or skip the signing step entirely with a card-funded wallet secret.

# x402 — sign a payment and attach it
curl -X POST https://dimebox.app/api/inboxes/claim \
  -H 'Content-Type: application/json' \
  -H 'PAYMENT-SIGNATURE: ' \
  -d '{"slug":"acme-support-agent"}'

# Wallet — skip the 402 round trip
curl -X POST https://dimebox.app/api/inboxes/claim \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ' \
  -d '{"slug":"acme-support-agent"}'

Fund a wallet through the wallet page if you'd rather pay by card than sign a payment on every call, or see the quickstart for both the x402 and wallet flows end to end.

Two optional fields worth knowing about

Both provisioning routes accept the same two optional fields in the request body, independent of whether you're using the free or claimed path:

What you get, and what to do with it immediately

The read_token in the response is the only credential that can read this inbox's messages later, via the X-Inbox-Token header on GET /api/inboxes/{slug}/messages. It is shown exactly once, at creation. There's no recovery flow if you lose it, so the first thing your code should do after this call succeeds is persist that token somewhere durable, not just hold it in memory. Read tokens explained covers the model in depth, and losing your read token walks through what happens if you skip that step.

Once the inbox exists, the next calls are usually drafting and sending from it or setting up a channel to receive mail. Both are separate, separately priced calls from provisioning itself — creating the inbox is just step one.

What happens if you hit the free-tier throttle

The free route is limited to three inboxes per IP per day. A fourth attempt from the same IP within the same day returns a 429 rather than creating another inbox. This isn't a billing event — there's nothing to pay to lift it, and no partial inbox gets created in the background while you wait it out. If an agent genuinely needs more than three free inboxes in a day from one IP, the paid claim route doesn't carry the same per-IP cap, since price rather than a rate limit is what keeps that route from being abused.

Choosing free vs. claimed up front

The two routes aren't really a "free tier" and a "premium tier" — they solve different problems. The free route is right when the address itself is disposable: a one-off task, a throwaway address to receive a single confirmation, anything where nobody needs to recognize or remember the sender. The claim route is worth the dollar when the slug itself carries meaning — an address a human will see repeatedly, or one that needs to look deliberate rather than randomly generated. Both produce an inbox with identical capabilities afterward; the only difference is how the slug was chosen and whether a one-time fee was involved in choosing it.

New to agent email? Start with Email for Agents: The Complete Guide to Giving AI Agents a Real Inbox for the full picture.