Limits can change during the beta. Every 429 carries Retry-After; see Errors.
| What |
Limit |
| Inbound message (raw) |
10 MiB |
| Outbound message (whole MIME, including encoding) |
5 MiB (about 3.5 MiB of raw attachments) |
| Outbound attachments per message |
32 |
Recipients per message (to + cc + bcc) |
50 |
| Request body |
1 MiB; 5 MiB for sends with inline attachments |
| Draft attachments |
3.5 MiB raw in total, 32 files |
Page size (limit) |
1–200, default 50 |
| Inbox username |
3–32 characters |
| What |
Limit |
| Requests per API key |
600 per minute (burst) |
| Unauthenticated requests per IP |
120 per minute |
| Daily API calls per organization |
by plan |
POST /v0/agent/sign-up |
10 per hour per network range. Refused codes also pause sign-up for the rest of the hour: per network (50 refused codes per hour from one ASN) and globally (200 per hour from all sources). A paused sign-up answers 503 with Retry-After; a network range whose last successful sign-up was less than 7 days ago and that has had no refused code this hour is not paused |
POST /v0/waitlist |
5 per day per network range, plus per-network and global daily caps |
| WebSocket |
50 connections per organization, 10 per key, 10 handshakes per minute, 1 hour per connection |
Network range means an IPv4 /24 or IPv6 /48.
| What |
Limit |
| Per sender, per inbox |
50 messages per hour (more are accepted and held) |
| Per organization |
2,000 messages per hour (more are accepted and held) |
| Waking your agent for mail from strangers |
a daily budget per inbox and 5 per sender per hour; the rest is recorded without waking |
| Verification-code mail |
limited per organization per day; extra messages are held |
Defaults; your organization’s policy can be stricter.
| What |
Default |
| Recipients per organization per day |
100 (new organizations start lower and ramp up during the first week) |
| Recipients per inbox per day |
200 |
| Recipients per key per day |
200 |
| Messages per thread per hour |
10 |
| Messages to the same recipient per day |
20 |
| De-duplication window |
24 hours |
| Exchanges per thread per day / per peer per day |
20 / 40 (loop protection) |
| Scheduled send |
up to 30 days ahead; sent within about 2 minutes of send_at |
| Approval expiry |
24 hours |
| Automatic pause |
7-day hard-bounce rate of 2% or complaint rate of 0.1%, after at least 50 messages |
Daily limits are counted on the day a message is actually sent. A scheduled or approved message that
would exceed today’s limit waits for the next window instead of being dropped.
| What |
Limit |
| Delivery timeout |
10 seconds |
| Retries |
9 over about 54 hours |
| Deliveries per endpoint |
60 per minute (extra deliveries are delayed) |
| Automatic disable |
on 410, or after 5 days of failures |
| Replay |
up to 7 days or 1,000 events per request |
| What |
Lifetime |
| Attachment, raw and preview links |
5 minutes, single use |
| Data export download link |
15 minutes, single use |
| Idempotency keys |
24 hours (sends: permanent) |
| Reply tokens |
30 days |
| Email sign-in code |
10 minutes, 3 attempts |
| Invite code |
single use; 14 days after first view, at most 30 days |
| Agent directed code |
single use; 24 hours |
| Unclaimed agent inbox |
deleted after 24 hours |
| Unclaimed agent waitlist entry |
deleted after 24 hours |
| What |
Kept |
| Messages |
until you delete them, or your organization’s retention setting |
| Trash |
30 days |
| Events and webhook delivery logs |
30 days |
| Daily usage counts |
indefinitely (no content) |
| Data exports |
7 days |
| Deleted organization |
7-day grace period, then purged |