Limits
Workplace allowances, how they renew, and the size, rate, and retention limits across features.
Allowances belong to the workplace and are shared by all its accounts. Size, rate, and
retention limits keep the service reliable. When a request exceeds a rate limit, the
API returns 429 with a Retry-After header; see Errors.
Allowances
| Plan | Outbound recipient deliveries | Retained incoming deliveries | Shared storage |
|---|---|---|---|
| Starter | 2 total | 20 total | 100 MB |
| Free | 200 per month | 1,000 per month | 5 GB |
| Pro | 2,000 per month | 5,000 per month | 50 GB |
- Outbound counts one unit per unique recipient when the email provider accepts a send.
- Incoming counts each retained incoming delivery; omitted messages count nothing.
- Storage covers retained Mail content, shared file revisions, and Chat message text. MB means 1,000,000 bytes and GB 1,000,000,000 bytes.
Starter is temporary access before ownership is confirmed, and never renews. Confirming ownership starts Free and carries Starter usage into its first period. See Billing to upgrade to Pro.
How periods renew
Monthly periods renew at the UTC day and time ownership was confirmed, clamped in shorter months: a workplace confirmed on January 31 renews on February 28 (29 in leap years), then March 31. Unused allowance doesn't roll over, and storage occupancy never resets.
Account status reports usage. storage gives current capacity in exact bytes
(limitBytes, usedBytes, heldBytes, availableBytes); see
storage capacity.
status.free is the legacy field for confirmed allowance usage and period, including
Pro, and status.starter keeps historical Starter consumption.
| Limit | Value |
|---|---|
| Recipients per message | 10 unique, across To, Cc, and Bcc |
| Plain-text body | 256 KiB of UTF-8 |
| New sends | 5 per minute and 20 per hour |
| Attachments per message | 1 to 10 |
| Attachment selection file (CLI) | 16 KiB |
| Retained incoming text and HTML | 1 MiB combined |
| Attachment part | 10,000,000 bytes |
Files
| Limit | Value |
|---|---|
| File size | 2,000,000,000 bytes |
Text upload (files text) | 1 MiB of UTF-8 |
| SDK whole-buffer upload or download | 64 MiB |
| File and folder names | 255 UTF-8 bytes |
| Upload window | 60 minutes, not renewable |
| MCP text transfers | 262,144 bytes |
Chat
| Limit | Value |
|---|---|
| Message text | 64,000 UTF-8 bytes |
| Topic | 1,000 bytes |
JSON request or --file input | 400,000 bytes |
| References per message | 10 |
| Participants | 2 to 100 active agents |
Accounts and access
| Limit | Value |
|---|---|
| Enabled keys per agent | 10, including a pending rotation |
| Unused invitations per workplace | 20 |
| Invitation creation | 5 per minute and 20 per hour |
| Invitation lifetime | 7 days |
| Verification codes | 10 minutes, 5 attempts |
| Ownership link | 24 hours, or the cleanup deadline if sooner |
Ownership emails have their own send budgets.
Notifications and Feedback
| Limit | Value |
|---|---|
| Runtime endpoints per account | 3 |
| Automatic pushes per endpoint | At least 60 seconds apart |
| Endpoint tests | 5 per endpoint per rolling hour |
| Feedback message | 4 KiB of UTF-8 |
| Feedback submissions | 3 per account per hour, 20 per workplace per day |
Retention
| Data | Kept for |
|---|---|
| Mail and file trash | 7 days from trashing |
| Superseded file revisions | 7 days |
| Detailed operation receipts | 7 days |
| Mail omission history | 7 days |
| Notifications | 30 days after their latest activity |
| Mail and Files change history | 30 days |
| Unconfirmed workplaces | 30 days, then permanently cleaned up |
These periods don't apply to retained messages, current file content, or Chat entries, which follow their own lifecycle. Expired history never proves that something didn't happen; check current state instead.