Public API v2
Public API v2 gives every endpoint the same request and response shape, so integrations behave predictably. This page covers the requests you need most when you build a dashboard or an external report: branch-aware reads, aggregated counts, run breakdowns, analytics, and pagination.
Every request uses a token in the Authorization header. See
API Access for how to create one.
Request data from a branch
Section titled “Request data from a branch”Work with tests, suites, and runs from a specific project branch. Test and suite changes stay isolated from Main.
curl "https://app.testomat.io/api/v2/my-project/tests?branch=feature-checkout" \ -H "Authorization: Bearer $TESTOMATIO_TOKEN"The response contains only the records that exist on that branch.
Get aggregated counts
Section titled “Get aggregated counts”Request totals grouped by a field, such as test state or run status, without downloading every record.
curl "https://app.testomat.io/api/v2/my-project/tests?count=true&group_by=state" \ -H "Authorization: Bearer $TESTOMATIO_TOKEN"The response shows how many tests are Manual and how many are Automated, which is what a dashboard or a summary report usually needs.
Break a run down by group
Section titled “Break a run down by group”Analyze a run by suite, tag, label, assignee, or priority. Each group includes passed, failed, skipped, and pending result counts.
curl "https://app.testomat.io/api/v2/my-project/runs/RUN_ID/stats/suites" \ -H "Authorization: Bearer $TESTOMATIO_TOKEN"Replace suites with tags, labels, assignees, or priorities to change
the breakdown.
Read analytics data
Section titled “Read analytics data”Retrieve saved charts or aggregated trend data for external dashboards, reports, and AI tools.
curl "https://app.testomat.io/api/v2/my-project/analytics/stats/success-rate-by-date?days=30" \ -H "Authorization: Bearer $TESTOMATIO_TOKEN"Available reports include success rate, automation rate, test-run activity, and priority trends.
Page through large responses
Section titled “Page through large responses”Paginated responses include total_pages and has_more, so your integration
knows whether another page needs to be requested.
curl "https://app.testomat.io/api/v2/my-project/tests?page=2&per_page=50" \ -H "Authorization: Bearer $TESTOMATIO_TOKEN"{ "meta": { "total_pages": 26, "has_more": true }}Keep requesting the next page while has_more is true.
If this doesn’t work:
401 Unauthorized— the token is missing, expired, or belongs to another account. Create a new token on the Access Tokens page.- A branch request returns Main data — check the branch name spelling; it must match the branch in the project exactly.
- A count request returns full records —
count=trueandgroup_bymust both be present.