TestRail is a web-based test case management and QA platform (originally by Gurock Software, now part of IDERA) for organizing test cases, running test runs and test plans, and recording test results across manual and automated testing. Its HTTP API (v2) exposes projects, suites, sections, cases, runs, plans, tests, results, milestones, configurations, and users, so teams can push automated results into a run, create and close test runs, and keep test cases in sync programmatically.
APIs.json: https://raw.githubusercontent.com/api-evangelist/testrail/refs/heads/main/apis.yml
TestRail is not a single shared public API on one hostname. There is one API definition (v2), but it runs against your own TestRail instance:
- TestRail Cloud — hosted per customer at
https://{instance}.testrail.io(older Cloud instances use.testrail.com). Replace{instance}with your subdomain. - TestRail Server / Enterprise (self-hosted) — runs on your own host, e.g.
https://testrail.yourcompany.com.
Unusual URL style. Every call goes through TestRail's index.php front controller, so the API base is literally:
https://{instance}.testrail.io/index.php?/api/v2/
The ?/api/v2/... is part of the path as TestRail sees it (a rewritten query string), not a normal REST path segment. A real request looks like:
GET https://example.testrail.io/index.php?/api/v2/get_run/1
Authentication. HTTP Basic auth. The username is your TestRail email; the password is either your account password or an API key generated under My Settings. The API must be enabled by an admin under Administration > Site Settings > API ("Enable API"). All requests and responses are JSON (Content-Type: application/json).
curl -H "Content-Type: application/json" \
-u "user@example.com:APIkey" \
"https://example.testrail.io/index.php?/api/v2/get_run/1"
Because the host is per-instance, the baseURL values in this catalog use the {instance} placeholder rather than a live shared endpoint.
- Test Runs
- Test Management
- QA
- Test Cases
- Test Results
- Test Plans
- Testing
- Test Automation
- Created: 2026-07-11
- Modified: 2026-07-11
Create, retrieve, update, close, and delete test runs for a project. A test run is an execution of a set of test cases; get_runs lists runs for a project, add_run creates one (optionally scoped to specific cases), and close_run archives it and its results. This is the surface behind the "test runs" QA workflow.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077874763156-Runs
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Test Runs
- Runs
- QA
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Read and record test results. Retrieve results for a test, a case, or an entire run, and push new results back — individually (add_result, add_result_for_case) or in bulk (add_results, add_results_for_cases). The bulk endpoints are the recommended way for automated test suites to report status, elapsed time, defects, and comments into a run.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077819312404-Results
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Test Results
- Results
- Automation
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Manage the reusable test cases in a project's repository — list, get, create, update, copy, move, and delete cases, plus read case fields and case types. Bulk get_cases returns up to 250 records per page and supports filters for suite, section, and update history.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077292642580-Cases
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Test Cases
- Cases
- Test Management
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Retrieve the individual tests generated inside a test run. A "test" is the instance of a case within a specific run, carrying current status and the run-time fields; get_tests lists them for a run and get_test fetches one by ID.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077990441108-Tests
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Tests
- Test Instances
- QA
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Manage test plans, which group multiple test runs (often across configurations) under one milestone. Create and update plans, add and update plan entries (each entry becomes one or more runs across configurations), and close or delete plans.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077711537684-Plans
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Test Plans
- Plans
- Configurations
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
List, get, create, update, and delete projects — the top-level container that owns suites, cases, runs, plans, and milestones. Projects can be configured for single-suite, single-suite-with-baselines, or multi-suite modes.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077792415124-Projects
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Projects
- Administration
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Manage test suites (collections of test cases) within a project — list, get, create, update, and delete suites. Used in multi-suite projects to organize cases by component, feature, or area.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077936624276-Suites
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Suites
- Test Cases
- Organization
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Manage sections and subsections that group test cases inside a suite — list, get, create, update, and delete sections. Sections provide the folder-like hierarchy for organizing a case repository.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077083596436-Introduction-to-the-TestRail-API
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Sections
- Test Cases
- Organization
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Manage milestones used to track releases and deadlines — list, get, create, update, and delete milestones. Runs and plans can be associated with a milestone to report progress toward a release.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077723976084-Milestones
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Milestones
- Planning
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Manage configuration groups and configurations (for example browsers or operating systems) that plan entries expand across to generate multiple runs — list groups, create and update groups, and add, update, and delete individual configurations.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077083596436-Introduction-to-the-TestRail-API
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Configurations
- Test Plans
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
Look up TestRail users — list all users, get a user by ID, or find a user by email address. Used to resolve assignee and creator IDs when creating runs, assigning tests, or recording results.
- Human URL: https://support.testrail.com/hc/en-us/articles/7077083596436-Introduction-to-the-TestRail-API
- Base URL:
https://{instance}.testrail.io/index.php?/api/v2
- Users
- Administration
- API Reference
- OpenAPI — OpenAPI Specification
- Postman Collection — Postman Collection 2.1
- Open Collection — Open Collection 1.0
FN: Kin Lane Email: kin@apievangelist.com