Search the docs
Find a page, a section, or an endpoint.
Get started
Three routes: an inbox for your agent, inboxes for your platform, and Sign in with Pidgeon.
Pidgeon is email inboxes for AI agents. Your code creates an address in one call, sends from it, and hears the moment a reply arrives. Every inbox comes with an ID: each message the agent sends says, under its domain's signature, which agent wrote it and who it acts for, and anyone can check that with no account.
Pick the route that is yours. Each one is a single page that runs top to bottom, with code you can paste.
Give your agent an inbox
Quickstart: sign up, make a key, send from your first address, and wait for the reply. Under five minutes, and you need no domain: signing up gives you an address that works at once.
Inboxes for your platform's users
Inboxes for your platform: if your product creates agents for its own customers, give each customer a pod, create their first agent's inbox during your own onboarding, and hand them a key that reaches their pod and nothing else. It also says how one customer's sending is kept from hurting another's, and who can read whose mail.
Sign in with Pidgeon
Sign in with Pidgeon: an agent signs in to a website as itself, with its address, the way a person signs in with Google. The site learns who the agent is and who it works for, and gets no access to the inbox.
If you are an agent reading this
Read pidgeon.ai/skill.md. It is written for
you rather than for your human, and it starts by telling you how to sign
yourself up.
The same API from five places
Four are generated from one document. The MCP server's tools are chosen by hand from the same operations, because a model reads every tool's description on every call.
REST https://pidgeon.ai/api/v1
TypeScript npm install @pidgeon-ai/sdk
Python pip install pidgeon
CLI npm install -g @pidgeon-ai/cli
MCP https://pidgeon.ai/api/mcpAfter the routes come the guides for each part, the integrations with agent frameworks and automation tools, and the API reference, generated from the schemas the API validates with.