Agent Account usage is limited per plan across a few areas: how many accounts you run, storage, bandwidth, how much each account sends, message and attachment size, and retention. This page lists the limits for the Free and Full Platform plans, explains what counts toward each, and covers what your application sees when it hits one. For plan details and pricing, see Nylas pricing; to set stricter per-account caps yourself, use Policies, Rules, and Lists.
Plans and limits
Section titled “Plans and limits”Agent Account limits are set per plan at the organization level, so they apply across every app in your organization. There are two plans: Free and Full Platform. The table lists what each one allows; for plan details and pricing, see Nylas pricing. You can set stricter per-account caps with a policy.
| Limit | Free | Full Platform |
|---|---|---|
| Agent Accounts (concurrent) | 3 | 20 |
| Storage | 3 GB | 10 GB |
| Bandwidth (per month) | 3 GB | 10 GB |
| Emails sent (per month) | 3,000 | 10,000 |
| Emails sent (per account, per day) | 200 | Unlimited |
| Message size (inbound) | 50 MB | 100 MB |
| Message size (outbound) | 25 MB | 25 MB |
| Attachment size (inbound) | 50 MB | 50 MB |
| Attachments per message (inbound) | 10 | 20 |
| Inbox retention | 30 days | 365 days |
| Spam retention | 7 days | 30 days |
| Rules | 5 | 30 |
| Lists | 10 | 50 |
| Overages | No | Yes |
Agent accounts, storage, bandwidth, and monthly emails are totalled across the whole organization; the daily send cap and retention apply to each account. The attachment-size and attachment-count limits apply to inbound mail; outbound messages have a single size limit, covered under Sending limits.
The four metered resources
Section titled “The four metered resources”Every plan meters four resources, and the table above sets the ceiling for each.
- Agent Accounts is the number you can have provisioned at once. It’s a concurrency limit rather than a running total, so you can delete and recreate accounts freely as long as you stay under the cap at any moment.
- Storage is the most data your organization holds at rest at any one time: messages it receives and sends, attachments, drafts, and contact and calendar data. Deleting messages frees the space back up.
- Bandwidth is the total data moved in and out over the month: attachments you upload, and the mail your accounts send and receive. Sending one message to many recipients counts once, not once per recipient, so a 100 MB attachment sent to 10 people is 100 MB, while 10 separate 100 MB messages are 1 GB.
- Emails sent is every message your accounts send during the month, including calendar invitations. Both the per-account daily cap and the organization’s monthly count draw from this.
How hard caps and overages work
Section titled “How hard caps and overages work”What happens at a limit depends on the plan. On Free, every limit is a hard cap: when you reach one, that activity stops until the period resets, so sends return HTTP 429, storage-bound actions return 403, and exhausting the bandwidth budget pauses inbound delivery. On Full Platform, the four metered resources can run past their included amounts and the overage is billed instead of being blocked. The daily send quota resets at 00:00 UTC; the monthly count and bandwidth budget reset on the first of each calendar month.
How each resource is measured for billing differs. Agent Accounts and storage are billed point-in-time: Nylas reads the value at the end of the billing month. Bandwidth is billed cumulatively, so the overage applies the moment you pass the included amount, because it’s metered continuously. Sent emails are totalled across the month for the whole organization.
| Resource | Included | How the overage is billed |
|---|---|---|
| Agent Accounts | 20 | Point-in-time: account count at the end of the month. |
| Storage | 10 GB | Point-in-time: storage in use at the end of the month. |
| Bandwidth | 10 GB / month | Cumulative: applies as soon as the included amount is exceeded. |
| Sent emails | 10,000 / month | Totalled across every account in the organization; volume pricing applies. |
For current overage and volume pricing rates, see Nylas pricing.
Sending limits
Section titled “Sending limits”How much an Agent Account can send is bounded by volume over time, by how fast you send, by the number of recipients on a message, and by message size. The three volume limits each run on their own counter and return HTTP 429 when exceeded: a per-account daily quota, an organization-wide monthly send allowance, and a monthly bandwidth budget. A per-second rate limit caps how fast your organization can send, applied separately to your Sandbox and production applications. Two per-message limits also apply: a recipient limit and a total size limit.
Per-account daily send quota
Section titled “Per-account daily send quota”Every Agent Account has a daily send quota that resets at 00:00 UTC. When an account goes over it, send requests return HTTP 429 with the type too_many_requests until the counter resets. Nylas reserves the quota before sending and releases it if the send fails, so failed attempts don’t count against you. The Free plan caps each account at 200 sends per day; Full Platform has no daily per-account cap. You can set a stricter quota through a policy.
The quota counts every message an account sends, across these paths:
- Messages sent with
POST /v3/grants/{grant_id}/messages/send. - Drafts you send.
- Mail submitted over SMTP by a connected mail client.
- Calendar invitations, updates, and cancellations sent with
notify_participants(see How Agent Account calendars work).
Monthly send allowance and bandwidth
Section titled “Monthly send allowance and bandwidth”Beyond the per-account daily quota, your organization shares a monthly allowance that resets on the first of each calendar month (UTC): a total count of messages sent and a bandwidth budget for the data moved in and out. The send count tracks outbound messages only, while bandwidth covers both directions. On Free, exceeding either returns HTTP 429 on send, and exhausting the bandwidth budget pauses inbound delivery until the month resets. On Full Platform, the extra is billed as overage instead of being blocked. See the four metered resources for how bandwidth counts a message sent to many recipients.
Per-second send rate limit
Section titled “Per-second send rate limit”Beyond the daily and monthly quotas, Agent Account sends are throttled by a per-second rate limit. Like your other limits, it applies at the organization level, and it’s pooled by application environment: all of your organization’s Sandbox applications share a combined 1 request per second, and all of your non-sandbox applications share a combined 5 requests per second. The cap is across every Agent Account and app of that environment in your organization.
When you exceed the per-second rate, send requests return HTTP 429 with the message "per-second rate limit exceeded". The limit is measured over a rolling one-second window, so a brief pause before retrying is enough to recover. If your application needs a higher rate, contact Nylas support to have your limit reviewed.
Recipients per message
Section titled “Recipients per message”A single outbound message should address at most 50 recipients total across the to, cc, and bcc fields. To reach a larger audience, split the send into batches of 50 or fewer. Each batch still counts toward your daily and monthly send limits. If a message exceeds the recipient limit, it can be rejected by the sending infrastructure and surfaced as a send error.
Message size
Section titled “Message size”Every outbound message must be 25 MB or less in total raw MIME. Raw MIME is the encoded message including its headers, body, and all attachments. This is the only size limit on sending: it’s the same on every plan and every send path, and separate from the plan-based size and attachment limits that apply to inbound mail (shown in the table above). Messages over the cap are rejected at send time.
How storage is used
Section titled “How storage is used”Your storage limit is the most data your organization can hold at rest at any one time, enforced both per account and across the whole organization. It includes nearly everything an account keeps: received messages, the copies of messages it sends, attachments, drafts, and contact and calendar data. Deleting messages frees the space back up. On Free, reaching the cap blocks both sending and receiving with HTTP 403 until you free space; on Full Platform, storage past the included amount is billed as overage.
You can set a per-account storage cap below your plan maximum through a policy. See the configurable limits table for that field and the other per-account limits.
Retention
Section titled “Retention”Retention controls how long mail stays in an Agent Account before Nylas deletes it, and it differs for the inbox and the spam folder. On the Free plan, inbox mail is kept for 30 days and spam for 7 days; on Full Platform, the inbox is kept for 365 days and spam for 30 days. Spam always clears sooner than the inbox so junk doesn’t sit against your storage.
Retention runs as a periodic prune that deletes messages older than the limit, and the spam period must be shorter than the inbox period. You can shorten either window per account with a policy, down from the plan default. See the configurable limits table for the policy fields.
Other limits
Section titled “Other limits”Beyond the plan ceilings in the table above, a policy can set stricter per-account caps for attachment size and count, inbound message size, the number of messages received per day, and retention. The configurable limits table lists all nine policy fields and what each one controls.
Policies can also restrict the allowed attachment MIME types. Configure the attachment allowed-types policy field to allow or block specific types. An empty list allows every type, and wildcards such as image/* match a whole category.
When Nylas pauses or blocks sending
Section titled “When Nylas pauses or blocks sending”Separately from quotas, Nylas can stop an Agent Account from sending in two cases that protect the wider sending ecosystem: a reputation-based pause triggered by a high bounce or complaint rate, and an abuse block applied by Nylas operations. Both are recoverable, and they surface differently in your application. For sender-reputation hygiene that applies to any mailbox, see Improving email deliverability and Email deliverability for Agent Accounts.
Bounce and complaint thresholds
Section titled “Bounce and complaint thresholds”Nylas tracks the rolling bounce rate and complaint rate of mail sent from each Agent Account. When either rate climbs high enough, Nylas places the account under review; if the rate stays elevated, sending is paused until the issue is resolved. Nylas allows you to monitor deliverability in real time through the webhook triggers described below — subscribe to them to see the same delivery, bounce, and complaint events the rate calculation is based on.
How the rates are measured
Section titled “How the rates are measured”- Bounce rate is hard bounces divided by your recent representative send volume. Only hard bounces to addresses that don’t exist count. Transient soft bounces — full mailbox, temporary rejections, greylisting — do not. The denominator is a recent volume window, not a fixed time period, so the rate stays meaningful whether you send a hundred messages a day or a million.
- Complaint rate is the number of times a recipient clicks Mark this email as spam or moves your email into the junk folder, divided by your recent representative send volume. Complaints are counted only against recipient domains that send complaint feedback to senders.
Thresholds
Section titled “Thresholds”| Bounce rate | Account state | What happens |
|---|---|---|
| Under 2% | Healthy | Normal sending. |
| 5% or above | Under review | Sending continues; sustained elevated bounces will lead to a pause. |
| 10% or above | Sending paused | Outbound send requests fail until Nylas clears the pause. |
| Complaint rate | Account state | What happens |
|---|---|---|
| Under 0.1% | Healthy | Normal sending. |
| 0.1% or above | Under review | Sending continues; sustained complaints will lead to a pause. |
| 0.5% or above | Sending paused | Outbound send requests fail until Nylas clears the pause. |
What “under review” and “paused” look like to your code
Section titled “What “under review” and “paused” look like to your code”Under review is silent to your application, while pausing returns immediate feedback through the send response. Here are the response shapes you may see:
| Status | Response body | Cause |
|---|---|---|
400 Bad Request | Forwarded message from the underlying infrastructure (for example, text mentioning an account-level suspension or that sending is paused for the account) | Reputation enforcement paused sending |
403 Forbidden | "sender domain is not verified for sending" | The from domain isn’t verified. Finish verification in Setup domains. |
429 Too Many Requests | "rate limit exceeded" | A per-account or per-domain rate limit was hit — back off and retry, or raise quotas via policy |
Staying inside the envelope
Section titled “Staying inside the envelope”- Validate recipient addresses before sending, and skip any address that has hard-bounced before.
- Honor unsubscribe and list-removal requests immediately. The complaint threshold (
0.1%) is small enough that even a handful of recipients reporting your mail can put a low-volume account under review. - Use double opt-in for any list you care about.
- Wire up the four deliverability triggers (
message.bounced,message.complaint,message.delivered, andmessage.rejected) and pause your own outbound logic ifbounced,complaint, orrejectedrates start climbing — you’ll see the problem in your own telemetry before Nylas tells you about it. - Authenticate your sending domain. Missing or misconfigured DKIM, SPF, or DMARC shows up as elevated bounces from recipient servers that refuse the mail outright.
Abuse-restriction blocks
Section titled “Abuse-restriction blocks”Separately from reputation pauses, Nylas may apply an abuse restriction to a sender, sender domain, organization, application, or grant when our operations team identifies abusive or out-of-policy use. Active restrictions reject matching sends immediately. There is no threshold to stay under — restrictions are applied because of a signal we treat as abuse, not because of a quota you can wait out.
What you’ll see
Section titled “What you’ll see”What the block can be scoped to
Section titled “What the block can be scoped to”A restriction can target any of the following. When more than one matches, Nylas applies the most specific, with specificity running from most to least specific in this order:
- A single sender email address (most specific)
- A sender domain, including its subdomains
- An organization
- An application
- A specific Agent Account grant (least specific)
A more sender-specific restriction wins over a broader one: a restriction on a single sender address takes precedence over one on the whole domain. A restriction at the application level affects every Agent Account grant under that application, not just the one you happened to send from.
How to recover
Section titled “How to recover”- Contact support. Include the application ID, the grant ID, and one example error response so the abuse team can locate the restriction and walk through what triggered it.
- Once the underlying issue is resolved, Nylas operations disables the restriction. Send requests start succeeding on the next attempt — there’s no propagation delay you have to wait through.
What’s next
Section titled “What’s next”- Send an email — core send mechanics for any grant
- Sending errors — error-code reference across the Email API
- Policies, Rules, and Lists — plan-tier send quotas and outbound rules
- Agent Account webhook notifications — schemas for
message.delivered,message.bounced,message.complaint, andmessage.rejected - Improving email delivery — sender-reputation hygiene that applies to every mailbox
- Setup domains — DKIM, SPF, and DMARC setup for custom domains