Rate Limits by Plan
Each plan limits how fast a workspace can do four kinds of work, counted per minute for the whole workspace (all users, CI tokens and assistants together):
| Limit | What it counts |
|---|---|
| API requests | Every request to the CertiQA API, from the app, your CI and your AI assistants |
| Test runs | Starting a run: from the app, CI, a schedule or a webhook |
| Playground messages | Messages sent in the Agent Playground |
| AI generations | CertiMind, Copilot and judge calls |
The API limit is a safety net: the app itself makes many requests when a page loads, and it is set well above normal use. The run, Playground and AI limits are the ones you are likely to meet, and they are higher on higher plans. Your planâs exact numbers are set by CertiQA and can be raised on request: write to support@certiqa.app.
When You Hit a Limit
Section titled âWhen You Hit a LimitâCertiQA answers with HTTP 429 and a message that names the limit (for example, âYour plan allows 40 Playground messages per minuteâ). API responses carry a Retry-After: 60 header. Nothing is lost: the request was not run and no credits were used. Wait for the minute to pass and send it again.
In CI, retry a 429 after a short pause instead of failing the build. certiqa-run.sh does this for you: when starting a run is refused with a 429 it waits as the API says (at most 60 seconds) and tries again, up to four times. A schedule that fires many runs at the same minute is the usual cause of a run-limit 429: spread the schedules a few minutes apart.