When to Use This API
- Test result analysis – Build dashboards or generate reports from test results
- Custom post-run automation – Trigger webhooks, custom alerting, or auto-create tickets
- CI/CD blocking mode – Wait for test completion before proceeding with deployments (GitLab, CircleCI, Jenkins, etc.)
- GitLab CI Blocking Mode – Complete GitLab CI/CD example
- CI/CD Integration – Advanced use cases including webhooks and custom automation
Quick Example: Polling Script
Basic polling example:$SHORT_ID– The run short ID (returned from Start Run API response:run.shortId)$QATECH_API_TOKEN– Your project’s API token (found in Settings → Integrations → API)
API Reference
Endpoint
https://api.qa.tech/v1
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
testCases | string | No | Controls which test cases are run. Use failed to include only failed/skipped/error test cases, or all to include all test cases with full details. When omitted, runTestCases is returned as an empty array. |
Authentication
Bearer token authentication. Include your project’s API token in theAuthorization header:
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
shortId | string | Yes | The short ID of the run (returned from Start Run API: run.shortId) |
Response Format
Success Response (200)
With?testCases=all or ?testCases=failed:
testCases query param, the response has the same top-level fields but no runTestCases array (or it is empty).
Response Fields
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Internal run identifier |
shortId | string | Run short ID used in URLs |
status | string | Current run status (see Status Values below) |
result | string | null | Test result when status is COMPLETED (see Result Values below) |
runTestCases | array | Present when ?testCases=failed or ?testCases=all. Array of test case results. |
Run Test Case Fields
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Test case identifier |
shortId | string | Test case short ID |
name | string | Test case name |
status | string | Test case status |
result | string | null | Test result (e.g. FAILED, PASSED) |
resultTitle | string | null | Brief failure/summary title |
evaluationThought | string | null | Detailed explanation |
promptGoal | string | null | Original test goal |
promptExamples | string | null | Example scenarios used |
Status Values
| Status | Description |
|---|---|
INITIATED | Run has been created but not started |
RUNNING | Tests are currently executing |
COMPLETED | All tests have finished |
ERROR | Run encountered an error |
CANCELLED | Run was cancelled |
Result Values
| Result | Description |
|---|---|
PASSED | All tests passed |
FAILED | One or more tests failed |
SKIPPED | Tests were skipped |
null | Run is still in progress (status is INITIATED or RUNNING) |
Error Handling
| Status | Description |
|---|---|
| 400 | Invalid query parameters. |
| 401 | Missing or invalid API key. |
| 403 | Organization suspended. |
| 404 | Run or project not found. |
{ "message": "..." }.
Related Documentation
- Start Run API – Trigger test runs programmatically
- Rerun Tests – Rerun all or failed tests from a run
- CI/CD Integration – Overview of integration modes and advanced use cases
- GitLab CI – GitLab-specific integration examples with blocking mode