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
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.

01Browser and RPA platformsAn inbox per sessionEvery run signs up with an address of its own and waits for the code in one call. The password reset next week arrives at the same address.
02Agent buildersAn address per agentEach agent your customers build gets an inbox people outside can write to, and answers in the same thread.
03Vertical agentsAn inbox per clientAn assistant for each accountant’s, recruiter’s or landlord’s clients, kept apart from every other customer’s.

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
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.

Any agentprompt

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

SignupTwo calls, and one code emailed to you