Documentation Index
Fetch the complete documentation index at: https://docs.qa.tech/llms.txt
Use this file to discover all available pages before exploring further.
List and filter test cases in your project. Use this endpoint to retrieve test cases for reporting, syncing with external systems, or building custom dashboards.
- Endpoint:
GET /test-cases
- Authentication: Bearer token (project API token)
- Base URL:
https://api.qa.tech/v1
The test case id (UUID) is used when creating tests with dependencies or running specific test cases via the Rerun API. For most run operations, use test plans instead of individual test case IDs.
Authentication
Include your project’s API token in the Authorization header:
Authorization: Bearer YOUR_API_TOKEN
Find your API token in the QA.tech dashboard: Settings → Integrations → API.
Query Parameters
All parameters are optional. Use them to filter and paginate results:
| Parameter | Type | Description |
|---|
applicationShortId | string | Filter by application (e.g. app_gXeBl2) |
labels | string | Filter by labels (comma-separated, e.g. smoke,login) |
isEnabled | boolean | Filter by enabled status (true or false) |
limit | integer | Maximum number of results to return |
offset | integer | Number of results to skip (for pagination) |
Success (200)
{
"testCases": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Login Flow Test",
"isEnabled": true,
"labels": ["smoke", "auth"],
"classification": "functional",
"applicationShortId": "app_gXeBl2",
"applicationName": "Main Web App",
"goal": "Verify users can log in with valid credentials",
"createdAt": "2026-01-15T10:30:00.000Z"
},
{
"id": "661f9500-f3a2-52e5-b827-557766550111",
"name": "Checkout Process",
"isEnabled": true,
"labels": ["critical", "e2e"],
"classification": "functional",
"applicationShortId": "app_gXeBl2",
"applicationName": "Main Web App",
"goal": "Complete a purchase from cart to confirmation",
"createdAt": "2026-02-20T14:15:00.000Z"
}
],
"total": 42,
"limit": 20,
"offset": 0
}
Response Fields
| Field | Type | Description |
|---|
testCases | array | Array of test case objects |
total | integer | Total number of matching test cases |
limit | integer | Applied limit value |
offset | integer | Applied offset value |
Test Case Fields
| Field | Type | Description |
|---|
id | string (UUID) | Test case identifier |
name | string | Test case name |
isEnabled | boolean | Whether the test is enabled in test plans |
labels | array | Array of label strings |
classification | string | Test classification (e.g. functional) |
applicationShortId | string | Associated application short ID |
applicationName | string | Associated application name |
goal | string | null | Test goal/objective |
createdAt | string | ISO 8601 creation timestamp |
Example Requests
List All Test Cases
curl "https://api.qa.tech/v1/test-cases" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Filter by Application
curl "https://api.qa.tech/v1/test-cases?applicationShortId=app_gXeBl2" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Filter by Labels
curl "https://api.qa.tech/v1/test-cases?labels=smoke,critical" \
-H "Authorization: Bearer YOUR_API_TOKEN"
List Only Enabled Tests
curl "https://api.qa.tech/v1/test-cases?isEnabled=true" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Paginated Request
curl "https://api.qa.tech/v1/test-cases?limit=10&offset=20" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Combined Filters
curl "https://api.qa.tech/v1/test-cases?applicationShortId=app_gXeBl2&isEnabled=true&labels=smoke&limit=50" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Error Responses
| Status | Description |
|---|
| 400 | Invalid query parameters |
| 401 | Missing or invalid API key |
| 403 | Invalid token or organization suspended |
| 404 | Project not found |
| 500 | Server error |
Error responses include a body: { "message": "Error description" }.