Everything people ask before they start
24 questions about giving an AI agent its own email address, answered against the live API.
Mailgi gives an AI agent its own real email address in one API call, with no human in the loop. Receiving is free, mail between your own agents is free, and mail to the outside world costs $0.0005 per recipient from a prepaid balance. Every answer below matches the live API; where something isn't built yet, it says so.
Getting an address
01How does an AI agent get its own email address?
One unauthenticated POST to https://api.mailgi.xyz/v1/agents/register. The response carries a readable address like buzzing-falcon@mailgi.xyz, a second alias address that delivers to the same inbox, and an API key that is shown once. No signup form, no OAuth, no human approval. The full walkthrough is in how to give an AI agent an email address.
02Does a human need to sign up first?
No. An agent can register itself on the shared @mailgi.xyz domain with no account, card or credentials. A human is only needed for a custom domain: they attach it in the dashboard and hand the agent a registration token.
03Can the agent use our own domain, like support@ourcompany.com?
Yes. A human attaches the domain at app.mailgi.xyz and publishes the DNS records it generates: TXT and MX for inbound, then DKIM, a MAIL FROM subdomain for SPF, and a recommended DMARC record for outbound. Once verified, they create a registration token, and the agent registers with domainToken and a localPart such as support. Custom domains cost nothing extra.
04How many agents or inboxes can I create?
There is no inbox fee and no quota on registration. Each agent is one mailbox; for another address, register another agent. One agent per role or per task is a normal pattern.
05Can an agent delete its own address?
Yes, with DELETE /v1/agents/me. It is permanent and burns the address: a deleted local part can never be registered again, by anyone. To start clean, register a new agent instead.
Receiving and reading
06Can an AI agent receive verification codes by email?
Yes. That is the most common reason to give an agent an address. Register, trigger the signup, poll GET /v1/mail every few seconds until the message arrives, then read the code from the body. See receiving a verification code for working code and the four mistakes that make it flaky.
07How does an agent find out that new mail has arrived?
Poll GET /v1/mail, or register an HTTPS webhook with POST /v1/webhook-endpoints. The webhook is a signed notification (HMAC-SHA256 over the timestamp and body) with the sender, time, size and a fetch URL, never the content. There is no WebSocket or long-poll.
08Can an agent search its inbox?
No. There is no full-text, subject, sender or date search. You can list by folder, page and sort, then match messages yourself. Unknown query parameters are ignored rather than rejected, so ?q=invoice returns the whole inbox.
09Does Mailgi support attachments?
Not yet. There is no attachments field on send; send a link instead.
10Can an agent reply in the same thread?
Not with threading headers. Send a new message with “Re: ” in the subject; most clients group it correctly by subject and participants, but there is no In-Reply-To header and no thread ID in the API.
11Can an agent organise mail into folders?
Yes. Create, rename and delete folders with /v1/mailboxes, move messages with PATCH /v1/mail/<id>/move and mark them read with PATCH /v1/mail/<id>/flags. Folders work well as ticket status in a support inbox.
Sending and deliverability
12Will mail from an agent land in spam?
Every domain sends with DKIM, SPF and DMARC. On the shared @mailgi.xyz domain they are already in place; on your own domain Mailgi generates the records and refuses to send until they verify. Reputation on the shared domain is protected by conservative sending limits; on your own domain it is yours alone.
13What are the sending limits?
All apply at once and the lowest wins: 100 a day per API key; 50 an hour and 300 a day per agent; on a custom domain, 100 a day for the first three days, 1,000 a day up to thirty days, and 5,000 a day after that; on the shared @mailgi.xyz domain, one collective bucket of 500 an hour and 5,000 a day. Mail between Mailgi agents has its own allowance of 1,000 an hour and 5,000 a day per agent. Receiving and reading are not limited.
14Can I use Mailgi for newsletters or cold outreach?
No. Mailgi has no lists, imports or campaigns. Every send is one explicit API call naming its own recipients, at most 50 per field, and the limits above are deliberately too low for bulk mail.
15Can two agents email each other?
Yes, and it is free. Mail to any @mailgi.xyz address or to your organisation's own domains costs nothing and is counted separately from external sending. See agent-to-agent email.
Pricing and billing
16How much does Mailgi cost?
Receiving is free, and so is mail between your own agents. Mail that leaves Mailgi is pay-as-you-go from a prepaid balance: $0.0005 per external recipient, plus $0.02 once the first time an agent writes to an address that has never written to it. Storage above 10 MB per mailbox is $0.25 per GB-month. No subscription. Details on the pricing page.
17What is the $0.02 introduction charge?
A one-time charge the first time an agent writes to an address that has never written to it. Anyone whose DKIM-signed message reaches the agent becomes a known contact for free, so replying to customers, services and verification senders costs only the per-email price.
18What happens when the balance runs out?
A send the balance cannot cover is refused whole with 402 PAYMENT_REQUIRED, itemised, and nothing is charged. Receiving keeps working. The error carries a top-up link the agent can forward to whoever pays.
19How do I top up, and do I need an account?
Anyone can top up any agent by card at app.mailgi.xyz/topup, with no Mailgi account. The minimum is $5 plus any sales tax or VAT; Stripe is the merchant of record. An agent can also request a checkout link with POST /v1/billing/topup.
Tools and integrations
20Is there an MCP server?
Yes, hosted at https://api.mailgi.xyz/mcp (Streamable HTTP). It works with Claude Code, Claude Desktop and Cursor, and every tool is a 1:1 proxy of a REST endpoint with the same limits and billing. It has no OAuth yet, so it cannot be added as a claude.ai or ChatGPT connector. Setup is on the MCP server page.
21Is there an SDK or CLI?
Yes: npm install @mailgi/mailgi gives you the TypeScript SDK and the mailgi CLI. Neither is required; everything works over plain HTTP from any language.
Security and privacy
23Where is mail stored?
Mailbox content is stored in Germany, and outbound mail relays through AWS in Ireland. The privacy page lists every sub-processor and where each one runs.
24How do I verify that a webhook came from Mailgi?
Compute HMAC-SHA256 over the x-mailgi-timestamp header, a dot, and the raw request body, using the secret returned when you created the endpoint, and compare it to x-mailgi-signature in constant time. Reject timestamps more than a few minutes old.
One POST to start.
No signup form, no OAuth, no card to start. Receiving is free.
Open the dashboard →