Appearance
Plans and limits
Agents work on every plan, Free included, in personal workspaces and teams: agent keys, apps that sign in with OAuth, the MCP server, and the REST API with an agent key. Everything an agent asks to send waits for a person's approval. Below Teams & Platform, a workspace can have 3 active agent keys, and a connected app counts as one.
API keys, whose sends can go out without approval, and webhooks come with the Teams & Platform plan. Whatever the plan, every workspace can have 25 active keys of either kind, including API keys left from Teams & Platform until they're revoked or expire. Prices are on the pricing page.
If a workspace leaves Teams & Platform, its API keys stop working with 403 API keys come with Teams & Platform; this workspace is no longer on it. Its webhooks also stop. Its agent keys and connected apps keep working, even past 3, but no new one can be made or connected until fewer than 3 are active. If the workspace comes back to the plan, its endpoints and any API keys that haven't expired work again.
Limits
These values come from the code that enforces them.
| Limit | Value |
|---|---|
| Plan | Agent keys, connected apps and the MCP server on every plan; API keys and webhooks with Teams & Platform |
| Sender seats on Teams & Platform | 5, more can be added |
| Completed requests on Teams & Platform | 300 a month, pooled across the team |
| Calls through one key | 120 a minute, REST and MCP together |
| Calls from one network address | 2000 a minute, across all keys (an IPv6 address counts with its /56 block) |
| Request body | 2 MB |
| Active agent keys per workspace, below Teams & Platform | 3, connected apps included. A workspace that moves down keeps the keys it has. |
| Active keys per workspace, on every plan | 25, API and agent keys together, counting API keys left from Teams & Platform until they're revoked or expire |
| Key lifetime | 90 days by default, up to 365 |
| Sends through one key | 20 a day by default, up to 1,000 |
| Recipient domains per key | Up to 20 (none means any domain) |
| Approving an app's sign-in | 10 minutes, in the browser that started it |
| OAuth authorization code | 1 minute, used once |
| OAuth access token | 1 hour, or until its key expires if sooner |
| OAuth refresh token | 30 days from when it's issued, never past its key's expiry. Each refresh replaces it. |
| Sign-ins kept per connected app | 10, the most recent. A new one ends the oldest. |
| New apps registered from one network address | 60 an hour. The same app registering again doesn't count. |
| Registered apps nobody connects | Removed after 30 days unused |
| Approvals waiting per workspace | 500 |
| An approval waits | 7 days, then expires |
| Documents per request | 10 |
| Recipients per request | 20 |
| Request expiry | 30 days by default, up to 365 |
| Intake link expiry | 14 days by default, up to 60 |
| Saved templates per workspace | 3 on Free, 10 on Signing packs, no limit on Business or Teams & Platform. Templates kept from a larger plan stay. |
| A template's text, through create_template | Up to 500,000 characters |
| Fill-ins per template | Up to 200 |
| Signing roles per template | At least 1, up to 20 |
| Fields per signing role | Up to 500 |
| Webhook endpoints per workspace, on Teams & Platform | 10 |
| Delivery attempts per event | 7: at once, then after 1 min, 5 min, 30 min, 2 h, 6 h, 12 h |
| Delivery timeout | 10 seconds |
| An endpoint pauses after | 20 failed attempts in a row |
| Signature tolerance | 5 minutes |
How the limits apply
- Calls a minute are counted per key, across the REST API and the MCP server. Each network address (for IPv6, its /56 block) also has a ceiling across all keys, far above the per-key limit, so made-up keys can't be tried without limit. Going over either returns
429until the minute rolls over. See Errors and rate limits. - Sends a day are counted per key over the last 24 hours. They include signing requests and intake links sent through the key, and approved sends. Going over returns
429 This key has sent its 20 for the last 24 hours.The plan also caps new signing requests a day, and how many any one address can receive. - Recipient domains apply to every address on a request or intake link, including subdomains. An address outside them returns
422and names the address. - Approvals waiting. A workspace can have a limited number of approvals waiting at once. Beyond that, asking for another returns
429. Decide some first. - Active agent keys. Below Teams & Platform, once 3 agent keys are active, making another or connecting a new app is refused with
402and the reason. Revoke or disconnect one first; a team can also move to Teams & Platform. Revoked and expired keys don't count, nor do API keys left from Teams & Platform (they still count toward the 25 active keys of every plan until they're revoked or expire). Someone connecting an app they already connected updates their key, so it's never refused. - Saved templates. Each plan keeps a number of saved templates, however they're made: in the editor, from a PDF, from the library or with
create_template. At the limit, saving another returns402. Delete one you no longer use, or change the plan. Templates kept from a larger plan stay. - Completed requests. Sending a request holds one of the month's completed requests, as does an intake link that goes straight on to signing. If the request doesn't complete, the hold is released. When none are left, sends return
402. The allowance is shared by the whole workspace, whichever key or person sends.