Reference
Errors and limits
The error codes the API and MCP tools answer with, and the limits that apply to tests, files, builds and requests.
Error codes#
| Status and code | Means |
|---|---|
400 input | A parameter is missing or not valid; the message says which. |
400 bad_json | The body is not valid JSON. |
401 unauthenticated | No key, or the key is invalid or revoked. |
402 plan_limit | The plan's runs, projects or tests are used. Upgrade, or buy extra runs on a paid plan. |
402 plan_services | A phone number or endpoint calls on the free trial. |
402 not_started | None of a project's tests could start; skipped says why. |
403 scope | The key can run tests and read results only. |
404 not_found | No such project, test, run, build, schedule, file or share link in this workspace. |
409 in_use | A build a test pins cannot be deleted. |
409 idempotency_in_progress | The first request with this Idempotency-Key is still being handled; retry shortly. |
413 too_large | A test file over 25 MB, or a build part over 16 MB. |
422 review | The plan did not pass the planning review; the message says why. |
422 build_rejected | Our devices cannot run this build; the message says why. |
422 idempotency_mismatch | The same Idempotency-Key was used for a different request. |
429 rate_limited | Over 300 requests a minute for this key. |
429 assist_cap | The workspace's assistant drafts for today are used. |
500 internal | Something went wrong on our side. Try again. |
MCP tools answer the same errors as a tool result with isError: true and the message.
Limits#
| Limit | Value |
|---|---|
| Time limit per run | Up to 20 minutes (default 15). Every run stops by 20 minutes; a run is one run however long it takes. |
| An app run counts as | One run, like a web run |
| Test files | 25 MB each, up to 10 per test |
| App builds | Up to 1 GB, uploaded in parts of up to 16 MB |
| Test text | Title up to 200 characters, start address up to 2,000, requirement up to 20,000 |
| A plan | Up to 30 steps, 20 checks, 12 values to record, 8 assumptions; each line up to 400 characters |
| API requests | 300 a minute per key (429 rate_limited above that) |
| Share link views | 600 a minute per link |
| Before sign-up (the box on testsy.dev) | 8 assistant revisions per test, 15 an hour per visitor; kept 24 hours |
Plans#
| Free trial | Starter | Team | Growth | |
|---|---|---|---|---|
| Price | Free | $49 a month | $149 a month | $299 a month |
| Runs included | 10, once | 100 a month | 500 a month | 1,200 a month |
| Extra runs (packs of 50) | — | $30 | $20 | $15 |
| Web runs at a time | 1 | 5 | 10 | 20 |
| App runs at a time | 1 | 1 | 3 | 10 |
| Android and iOS app tests | Yes | Yes | Yes | Yes |
| Members | 1 | 5 | 25 | 100 |
| Projects | 1 | 2 | 5 | 15 |
| Tests | 20 | 300 | 1,000 | 5,000 |
| Assistant drafts a day | 40 | 300 | 300 | 300 |
| Phone number and endpoint calls | — | Yes | Yes | Yes |
| Invite people | — | Yes | Yes | Yes |