Plans and limits
What each plan’s tokens may do, and the ceilings a run body is checked against.
Every plan’s tokens can read, validate and estimate. Writing through the API, meaning saving a scenario or launching a run, is what the paid plans include. There is no separate charge for API use: a run launched through the API meters exactly like one launched from the builder, agent turns against the month’s allowance and inference on your own keys.
#Developer access by plan
| Free Free | Starter $10/mo | Pro $49/mo | Lab $499/mo | |
|---|---|---|---|---|
| API and MCP | Read, validate, estimate | Full: author scenarios, launch runs | Full: author scenarios, launch runs | Full: author scenarios, launch runs |
| Access tokens | 1 | 3 | 10 | 25 |
| Requests per minute, per token | 60 | 120 | 300 | 600 |
| Saved scenarios | 5 | 20 | 50 | 500 |
| Saved skills | 5 | 20 | 50 | 500 |
#Run ceilings by plan
These are the limits GET /api/v1/me reports under limits, and the ones an estimate or a launch is checked against.
| Free | Starter | Pro | Lab | |
|---|---|---|---|---|
| Seats per run | 4 | 6 | 8 | 16 |
| Ticks per run | 300 | 600 | 2000 | 2000 |
| Trials per series | 2 | 4 | 10 | 50 |
| Queued runs | 1 | 2 | 3 | 10 |
| Agent turns per month | 5,000 | 12,000 | 60,000 | Unlimited |
#What a refusal looks like
A write on a read-only plan answers 403 plan_api with a message that names the upgrade. A body over a plan ceiling answers 400 with the ceiling’s code (plan_seats, plan_ticks, plan_series, plan_quota) and a message that says what to change. Validate reports the ticks ceiling as a warning before you ever try to launch.
{
"error": "plan_api",
"message": "The Free plan's tokens can read, validate and estimate; saving a scenario through the API needs Starter or above. Upgrade at /pricing, or save it from the Studio's run builder."
}The full plan table, including spend caps and log retention, is on /pricing.