Input:
| Parameter | Type | Required | Description |
|---|---|---|---|
| specId | String | ✓ | Test spec composite ID ({projectId}.{specUuid}) |
| author | String | - | Operator name |
Output: TestCase[] (ordered by index ascending)
Returns all test cases in the project associated with the access token.
Input:
| Parameter | Type | Required | Description |
|---|---|---|---|
| author | String | - | Operator name |
Output: TestCase[]
Input:
| Parameter | Type | Required | Description |
|---|---|---|---|
| specId | String | ✓ | Test spec composite ID ({projectId}.{specUuid}) |
| caseNumber | Integer | ✓ | Stable case ID (the N in "case-N" shown in the UI) |
| author | String | - | Operator name |
Output: TestCase
Created test cases are automatically assigned a caseNumber (stable ID). The caseNumber increases monotonically within the spec and does not change when other cases are deleted.
Input:
| Parameter | Type | Required | Description |
|---|---|---|---|
| specId | String | ✓ | Test spec composite ID ({projectId}.{specUuid}) |
| testSubject | String | ✓ | Test subject |
| steps | String[] | ✓ | Test steps (array of strings) |
| expectedResult | String | ✓ | Expected result |
| labelIds | String[] | - | Label ID array to assign (defaults to empty array) |
| preconditions | String | - | Preconditions |
| notes | String | - | Notes |
| author | String | - | Operator name |
Output: TestCase
Creates multiple test cases in bulk (appended to the end). Optimized for AI agents generating test specs in one shot.
Constraints:
insertAtIndex is not supported (always appends to the end)Input:
| Parameter | Type | Required | Description |
|---|---|---|---|
| specId | String | ✓ | Test spec composite ID ({projectId}.{specUuid}) |
| cases | Array | ✓ | Array of test cases to create (1–1000 items) |
| cases[].testSubject | String | ✓ | Test subject |
| cases[].steps | String[] | ✓ | Test steps (array of strings) |
| cases[].expectedResult | String | ✓ | Expected result |
| cases[].labelIds | String[] | - | Label ID array to assign |
| cases[].preconditions | String | - | Preconditions |
| cases[].notes | String | - | Notes |
| author | String | - | Operator name |
Output:
{
"created": 3,
"testCases": [
{
"id": "uuid",
"specId": "spec-uuid",
"caseNumber": 1,
"testSubject": "User can log in",
"steps": ["Enter email address", "Enter password", "Click login button"],
"expectedResult": "Redirected to dashboard",
"labels": [],
"preconditions": null,
"notes": null,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
]
}Identifies the target by caseNumber (the stable ID corresponding to "case-N" in the UI). Only specified fields are updated. labelIds is a full-replacement (omitting it leaves labels unchanged).
Input:
| Parameter | Type | Required | Description |
|---|---|---|---|
| specId | String | ✓ | Test spec composite ID ({projectId}.{specUuid}) |
| caseNumber | Integer | ✓ | Stable case ID |
| testSubject | String | - | Test subject |
| steps | String[] | - | Test steps |
| expectedResult | String | - | Expected result |
| labelIds | String[] | - | Label ID array (full-replacement; omit to leave unchanged) |
| preconditions | String | - | Preconditions |
| notes | String | - | Notes |
| author | String | - | Operator name |
Output: TestCase