API for Data Parameterization
This document describes the REST Open API endpoints for managing parameters and Data Grids at the project level, and for linking parameter combinations to parametrized test cases within a test suite execution.
For the end to end flow that links a Data Grid combination during a Test Suite execution, see API for Test Suites.
Get parameter details
Returns the parameter IDs and names used by a parametrized test case in a test suite. Use this endpoint as the first step in the Data Grid linking flow to retrieve the paramID values required to fetch compatible Data Grids.
POST /rest/testcases/getParamDetails
Request
Content-Type: application/json
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
tctsID | body | yes | Unique identifier of the test case in the test suite. Obtain this value from the tctsID field in the POST /rest/testcases/list/forTS response. | - | integer |
Response
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get compatible Data Grids
Returns the Data Grids available for a test case and indicates which of them contain all the parameters that the test case uses.
POST /rest/datagrid/getSelectedParameterGrids
Request
Content-Type: application/json
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
paramIDs | body | yes | Holds the parameter IDs returned by the Get Parameter Details endpoint on the API for Test Cases page. | - | Array[integer] |
testCaseID | body | yes | Test case ID (tcID). Do not use tctsID. | - | integer |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Successful Response Entity
Member | Description |
|---|---|
dataGridID | Identifies the Data Grid. |
name | Displays the Data Grid name. |
isArchived | Returns true when the Data Grid is archived. |
hasParams | Returns true when the Data Grid contains every parameter that the test case uses. You can link only those Data Grids for which hasParams is true. |
Link a Data Grid combination
Links a Data Grid to a test case in a Test Suite. QMetry copies all rows from the Data Grid and saves the parameter values against the test case.
POST /rest/datagrid/linkCombination
Request
Content-type: application/json
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
tctsID | body | yes | Unique identifier of the test case in the test suite | - | integer |
dataGridID | body | yes | ID of the Data Grid to link, returned by | - | integer |
Response
Content-type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get Parameter Values for a Test Case
Returns the parameter values saved for a test case in a Test Suite. Pass the tctsDataGridId returned by the Test case list for Test Suite endpoint. The endpoint applies only when dataGridStatus is Has Values or Empty.
GET rest/datagrid/tctsDataGridValue/{tctsDataGridMappingID}
Request
Content-type: application/json
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
tctsDataGridId | body | yes | ID of the Data Grid to link, returned by | - | integer |
Response
Content-type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Save or Update Parameter Values for Test Case in Test Suite
POST rest/datagrid/saveTcTsDgValues
Creates or updates the parameter values assigned to a parametrized test case in a Test Suite.
Request
Content-type: application/json
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
tctsIDs | body | yes | Identifies the test case within the Test Suite. | - | integer |
preserveExistingRows | body | no | Controls whether QMetry retains saved rows that the request does not include. | False | boolean |
orderId | body | yes | Identifies the row of parameter values. | integer | |
value | body | yes | Holds the parameter values as a JSON string in which each key is a paramID. | - | string |
How QMetry processes rows
Scenario | preserveExistingRows set to false (default) | preserveExistingRows set to true |
|---|---|---|
The request includes an | QMetry inserts a row. | QMetry inserts a row. |
The request includes an | QMetry updates the row. | QMetry updates the row. |
A saved orderId is missing from the request. | QMetry deletes the row. | QMetry retains the row. |
Note
Passing an empty values array removes the mapping.
Delete Data Grid Mapping for Test Case in Test Suite
DELETE /rest/datagrid/tctsMapping/{tctsID}
Removes the Data Grid mapping for a test case in a Test Suite and deletes all parameter values assigned to it. The endpoint applies to both linked Data Grid combinations and manually entered values.
Request
Content-Type: application/json
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
tctsID | path | Yes | Unique identifier of the test case in the test suite. | - | integer |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid json object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when server connection times out | - |
Note
If no mapping exists, the endpoint returns false.
Get List Parameters in the Project
POST /rest/parameter/list
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
ParameterRequest | body | yes | Get the list of parameters | - | ParameterRequest |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Add New Parameters
POST /rest/parameter
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
ParameterRequest | body | yes | ParameterRequest for Add parameters | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Delete Parameter
PUT /rest/parameter/delete/{paramID}
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
Parameter id | body | yes | parameter Ids as query path | - | integer |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Archive Parameters
POST /rest/parameter/archive
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
Ids | body | yes | parameter Ids list | - | Array[integer] |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Unarchive Parameters
POST /rest/parameter/unarchive
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
Ids | body | yes | parameter Ids list | - | Array[integer] |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get List of Parameter Values
POST /rest/parameter/values/{paramID}
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
Parameter id | body | yes | parameter Ids as query path | - | integer |
Base Request | body | yes | Filter,sort base request | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Update Parameter/Values
PUT /rest/parameter/update/{paramID}
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
Parameter id | body | yes | parameter Ids as query path | - | integer |
UpdateParameter | body | yes | UpdateParameter for update parameter | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Delete Parameter values
PUT /rest/parameter/deleteValue/{parameterValueID}
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
parameterValueID | body | yes | parameterValueID as query path | - | integer |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get List of Projects having permissions to modify Test Data Parameterization
GET /rest/parameter/project/modify
Request
Content-Type: application/json
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get List of Projects having Permissions to View Test Data Parameterization
GET /rest/parameter/project/view
Request
Content-Type: application/json
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get DataGrid
GET /rest/datagrid/getById
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
dataGridID | query | yes | DataGridID to get DataGrid | - | integer |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get List of DataGrid
POST /rest/datagrid/getList
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
filters | body | yes | Filter the DataGrid List | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Get Data Grid Ids for Bulk Operations
POST /rest/datagrid/getIDList
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
filters | body | yes | for filtering List of DataGrid Ids | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Create DataGrid
POST /rest/datagrid/create
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
DataGridModel | body | yes | DataGridModel to Create DataGrid | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Autofill DataGrid
POST /rest/datagrid/autofill
Request
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
Parameter Ids | body | yes | Parameter Ids to Autofill | - | Array[integer] |
rows | query | no | Number of Rows to Autofill | - | integer |
isRandom | query | no | Flag to fill Randomly | - | boolean |
isSequential | query | no | Flag to fill sequentially | - | boolean |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Save DataGrid
PUT /rest/datagrid/save
Request
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
DataGridUpdateRequest | body | yes | List of DataGridUpdateRequest to Save | - | Array[DatagridUpgradeRequest] |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Update DataGrid
PUT /rest/datagrid/update
Request
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
DataGridUpdateRequest | body | yes | Request to update the DataGrid | - |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Archive DataGrid
PUT /rest/datagrid/archive
Request
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
dataGridIDs | body | yes | DataGrid Ids for Archive | - | Array[integer] |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Delete DataGrid
DELETE /rest/datagrid/delete
Request
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
dataGridID | query | yes | DataGridID for deletion | - | integer |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Unarchive DataGrid
PUT /rest/datagrid/unarchive
Request
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
dataGridIds | body | yes | DataGrid Ids for UnArchive | - | Array[integer] |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | Successful | |
400 | Invalid JSON object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when theserver connection times out | - |
Definitions
Response
name | type | required | description | example |
|---|---|---|---|---|
success | boolean | optional | - | |
data | object | optional | - | |
errorMessage | string | optional | - | |
total | integer | optional | - |
DataGridModel
name | type | required | description | example |
|---|---|---|---|---|
projectList | array[Project] | optional | - | |
id | integer | optional | - | |
archived | boolean | optional | - | |
dataGridID | integer | optional | - | |
name | string | optional | - | |
description | string | optional | - | |
createdBy | string | optional | - | |
createdDate | string | optional | - | |
updatedBy | string | optional | - | |
updatedDate | string | optional | - | |
isArchived | boolean | optional | - | |
archivedDate | string | optional | - | |
parameters | array[Parameter] | optional | - | |
hasParams | boolean | optional | - | |
projectIDs | array[integer] | optional | - | |
projects | string | optional | - | |
paramIDs | array[integer] | optional | - |
BaseRequest
DatagridUpdateRequest
name | type | required | description | example |
|---|---|---|---|---|
id | integer | optional | - | |
ids | array[integer] | optional | - | |
dataGridID | integer | optional | - | |
ID | integer | optional | - | |
IDs | array[integer] | optional | - | |
parentID | integer | optional | - | |
orderID | integer | optional | - | |
field | string | optional | - | |
operation | string | optional | - | |
value | string | optional | - |
ParameterRequest
name | type | required | description | example |
|---|---|---|---|---|
filter | array[Filter] | optional | - | |
start | integer | optional | - | |
limit | integer | optional | - | |
sort | array[sort] | optional | - | |
showArchive | boolean | optional | - | |
showOnlyArchive | boolean | optional | - | |
entityIdsForBulk | boolean | optional | - | |
paramName | string | optional | - | |
paramDes | string | optional | - | |
projectID | array[integer] | optional | - | |
values | array[string] | optional | - | |
projectIDs | array[integer] | optional | - |
UpdateParameter
Value
name | type | required | description | example |
|---|---|---|---|---|
parameterValueID | integer | optional | - | |
value | string | optional | - |
Sort
name | type | required | description | example |
|---|---|---|---|---|
property | string | optional | - | |
direction | string | optional | - |
Filter
name | type | required | description | example |
|---|---|---|---|---|
value | object | optional | - | |
comparison | string | optional | - | |
type | string | optional | - | |
field | string | optional | - |
Project
name | type | required | description | example |
|---|---|---|---|---|
id | integer | optional | - | |
name | string | optional | - |
Parameter
name | type | required | description | example |
|---|---|---|---|---|
paramID | integer | optional | - | |
name | string | optional | - | |
description | string | optional | - | |
isArchived | boolean | optional | - | |
createdDate | string | optional | - | |
updatedDate | string | optional | - | |
associatedProjects | array[AssociatedProjects] | optional | - | |
projects | string | optional | - | |
OrignalParamID | integer | optional | - | |
parameterValues | array[ParameterValue] | optional | - | |
orderID | integer | optional | - | |
testCaseRefered | integer | optional | - |
AssociatedProjects
name | type | required | description | example |
|---|---|---|---|---|
projectID | integer | optional | - | |
projectName | string | optional | - |
ParameterValue
name | type | required | description | example |
|---|---|---|---|---|
parameterValueID | integer | optional | - | |
value | string | optional | - | |
orderID | integer | optional | - |