Platforms
An inbox for every one of your users.
For platforms that give each user, session or agent an email address of its own. One call makes the inbox and its key, and one customer’s bounces never touch another’s delivery.
curl https://pidgeon.ai/api/v1/pods \
-H "Authorization: Bearer $PIDGEON_ADMIN_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: provision-user-8812" \
-d '{
"name": "user-8812",
"client_id": "user-8812",
"address": { "address": "user-8812@yourapp.pidgeon.email", "type": "agent" },
"key": { "access": "send" }
}'
# The pod, its address and a key that reaches nothing else
{ "data": { "id": "2f0f6a1c-…", "client_id": "user-8812",
"address": { "email": "user-8812@yourapp.pidgeon.email" },
"key": { "token": "pgn_live_…" } } }Who it is for
Inboxes are part of your product.
You hand out hundreds or thousands of addresses, and each belongs to someone else.
Kept apart
One customer at a time.
Each of your users gets a container of their own: its reputation, its numbers and its key.
A reputation per customer
Each user’s addresses go in a pod, and mail sent from a pod lands on that pod’s own sending reputation. When one customer mails a thousand dead addresses, the bounces are theirs; the rest keep delivering.
Numbers per customer
GET /v1/metrics with a pod_id answers for that pod alone: sent, delivered, bounced, complained, received, and whether its sending is enabled or paused. You see one customer’s trouble before it is a support ticket.
A key per user
A pod key reaches every address in its pod, including ones added later, and nothing else. It cannot see another pod or mint a wider key, so you can hand it to the user’s agent.
Measured, not promised
See each customer’s delivery.
Put two pods’ numbers side by side and the separation is the answer. When the provider pauses one pod for its own bounce rate, its sending reads paused, and nobody else’s does.
Provisioning, rotation, test mode and teardown are in the platform guide and the pods reference.
curl "https://pidgeon.ai/api/v1/metrics?pod_id=2f0f6a1c-…&days=30" \
-H "Authorization: Bearer $PIDGEON_ADMIN_KEY"
{
"data": {
"pod": { "name": "user-8812" },
"reputation": { "sending": "enabled" },
"outbound": { "sent": 1840, "delivered": 1792, "bounced": 41,
"delivery_rate": 0.9739 },
"inbound": { "received": 612, "spam": 9 }
}
}Everything else
The rest of Pidgeon, per user.
Every user’s inbox is a full Pidgeon inbox, reached however your platform works.
API, SDKs and CLI
REST with an OpenAPI document, TypeScript and Python SDKs generated from it, and a CLI.
MCP
A hosted MCP server, so the agents on your platform can use their inbox as tools.
IMAP and SMTP
An app password per address, for the users who want to read along in a mail client.
Test mode
Test keys for CI: the whole pipeline runs, nothing leaves, and bounces happen on demand.
Your domain or ours
Addresses on a subdomain of pidgeon.email or on your domains, with the DNS records written for you.
Stored in the EU
Mail, the API and your data are stored and processed in the EU, on every plan.
Questions
Asked before signing up a platform.
How do I give each of my users an email inbox?
One call per user. POST /v1/pods with an address and a key makes a pod for that user, an address in it and a key that reaches only that pod. All three are made or none is, and an Idempotency-Key makes a retry safe.
Can one customer’s bad sending hurt the others?
No. Mail sent from a pod lands on that pod’s own sending reputation, so bounces and complaints are counted against that customer alone. GET /v1/metrics with a pod_id shows each one’s numbers.
What happens when a user leaves?
Either keep the record or remove it. Suspending their addresses keeps the mail; deleting the pod with delete_addresses=true revokes its keys and deletes its addresses with all their mail.
How is it priced for thousands of inboxes?
Talk to us. Inboxes are what we meter, not pods, and volume pricing for platforms is set with you. The published plans are on the pricing page.
Where is the mail stored?
In the EU, on every plan. Mail, the API and your data are stored and processed there.
Give your agent an address.
Paste one prompt, or make the call yourself. It is free to start.
Read https://pidgeon.ai/skill.md and follow the instructions to get your own inbox.
The full API reference is at https://pidgeon.ai/openapi.json