qTest Parameters API
The Tricentis qTest Parameters REST API for data-driven testing — parameters, parameter values, datasets, dataset rows and asynchronous tasks, scoped per qTest project.
The Tricentis qTest Parameters REST API for data-driven testing — parameters, parameter values, datasets, dataset rows and asynchronous tasks, scoped per qTest project.
swagger: "2.0"
info:
title: "qTest Parameters API"
version: "2025.2"
description: "qTest Parameters API documentation"
host: "parameter-1.qtestnet.com"
basePath: "/"
schemes:
- https
tags:
- name: "Authentication"
description: "Authentication public APIs"
- name: "Parameters"
description: "Parameter public APIs"
- name: "Datasets"
description: "Dataset public APIs"
- name: "Tasks"
description: "Tasks public APIs"
security:
- token: []
paths:
### Authentication
/oauth/v1/login:
post:
description: Authenticate with qTest Manager and acquire authorized access token. Parameters API consumer must call this API in order to obtain the access token for subsequence API request.
tags:
- Authentication
parameters:
- name: body
in: body
description: qTest Manager URL and user credentials used to login to qTest Parameters
required: true
schema:
type: object
description: qTest Manager URL and user credentials.
required:
- qtest_url
- username
- password
properties:
qtest_url:
type: string
description: qTest Manager URL
example: https://apitryout.qtestnet.com
username:
type: string
description: Username to authenticate with qTest Manager
example: api-test@qasymphony.com
password:
type: string
description: Password to authenticate with qTest Manager
example: admin123
produces:
- application/json
responses:
200:
description: "Successfully logged in to qTest Manager"
schema:
type: object
properties:
access_token:
description: The access token that will be used in subsequence API calls
type: string
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/oauth/v1/token-login:
post:
description: Authenticate with qTest Manager and acquire authorized access token. Parameters API consumer must call this API in order to obtain the access token for subsequence API request.
tags:
- Authentication
parameters:
- name: body
in: body
description: qTest Manager URL and qTest Manager API token used to login to qTest Parameters
required: true
schema:
type: object
description: qTest Manager URL and qTest Manager API token.
required:
- qtest_url
- qtest_token
properties:
qtest_url:
type: string
description: qTest Manager URL
example: https://apitryout.qtestnet.com
qtest_token:
type: string
description: API token to authenticate with qTest Manager
example: YXBpdHJ5b3V0fGFwaS10ZXN0QHFhc3ltcGhvbnkuY29tOjE1NTQ3OTYxMjE4NDk6MDIwNTkwZTIzNDA3MmQ4NjVkMjhhODAxNTM3ZDUzZWM
produces:
- application/json
responses:
200:
description: "Successfully logged in to qTest Manager"
schema:
type: object
properties:
access_token:
description: The access token that will be used in subsequence API calls
type: string
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/oauth/v1/logout:
get:
description: Logout of qTest
tags:
- Authentication
produces:
- application/json
responses:
200:
description: "Successfully logged out"
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
### Parameter endpoints
/api/v1/parameters/create:
post:
description: Create a new parameter
tags:
- Parameters
parameters:
- name: body
in: body
description: Parameter object that needs to be created
required: true
schema:
$ref: "#/definitions/CreateParameterModel"
produces:
- application/json
responses:
201:
description: "Parameter has been created successfully"
schema:
type: object
properties:
id:
type: string
description: id of the newly created parameter
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
403:
description: "Identifier with special characters are not allowed, except space( ), underscore(_), minus(-), period(.)"
schema:
type: object
properties:
error:
type: string
409:
description: "Identifier already exists."
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/query:
post:
description: Query parameters
tags:
- Parameters
parameters:
- name: body
in: body
description: Parameter query object.
required: true
schema:
$ref: "#/definitions/SearchParameterModel"
produces:
- application/json
responses:
200:
description: "The operation was successful"
schema:
type: object
properties:
offset:
type: number
example: 1
limit:
type: number
example: 50
total_items:
type: number
example: 120
total_pages:
type: number
example: 3
items:
type: array
items:
$ref: "#/definitions/ParameterModel"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/bulk-query:
post:
description: Query parameters by identifiers
tags:
- Parameters
parameters:
- name: body
in: body
description: Parameters query object.
required: true
schema:
$ref: "#/definitions/BulkQueryParametersRequestModel"
produces:
- application/json
responses:
200:
description: "The operation was successful"
schema:
$ref: "#/definitions/BulkQueryParametersResponseModel"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/{id}:
get:
description: Get a parameter by id
tags:
- Parameters
parameters:
- name: id
in: path
description: id of parameter
type: string
required: true
produces:
- application/json
responses:
200:
description: "The operation was successful and parameter object is returned (if found)"
schema:
$ref: "#/definitions/ParameterModel"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
404:
description: "Not Found"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
delete:
description: Delete/Archive a parameter by id
tags:
- Parameters
parameters:
- name: id
in: path
description: parameter id
type: string
required: true
- name: force
in: query
description: set to true to force delete, set to false or undefined to archive
type: boolean
produces:
- application/json
responses:
200:
description: "Parameter deleted/archived"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
put:
description: Update a parameter by id
tags:
- Parameters
parameters:
- name: id
in: path
description: parameter id
type: string
required: true
- name: body
in: body
description: Parameter object that needs to be updated
required: true
schema:
$ref: "#/definitions/UpdateParameterModel"
produces:
- application/json
responses:
200:
description: "Parameter updated successfully"
schema:
type: object
properties:
updated:
type: number
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
403:
description: "Identifier with special characters are not allowed, except space( ), underscore(_), minus(-), period(.)"
schema:
type: object
properties:
error:
type: string
409:
description: "Identifier already exists."
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/bulk-delete:
post:
description: Delete multiple parameters
tags:
- Parameters
parameters:
- name: body
in: body
required: true
description: List of parameter ids to be deleted
schema:
type: object
required:
- ids
properties:
ids:
type: array
items:
type: string
example: 5a17c935b015841767bbec64
produces:
- application/json
responses:
200:
description: "Success"
schema:
type: object
properties:
deleted:
type: number
description: number of parameters being deleted
example: 1
skipped:
type: array
description: parameters ids being skipped or empty []
items:
type: string
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/bulk-archive:
post:
description: Archive multiple parameters
tags:
- Parameters
parameters:
- name: body
in: body
required: true
description: List of parameter ids to be archived
schema:
type: object
required:
- ids
properties:
ids:
type: array
items:
type: string
example: 5a17c935b015841767bbec64
force:
type: boolean
description: if true, force to archive the Parameter even it is being used by testcases
default: false
produces:
- application/json
responses:
200:
description: "Success"
schema:
type: object
properties:
archived:
type: number
description: number of parameters being archived
example: 1
in_used:
type: array
description: parameters being skipped or empty []
items:
$ref: "#/definitions/ParameterModel"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/status:
put:
description: Update status of one or multiple parameters
tags:
- Parameters
parameters:
- name: body
in: body
required: true
description: List of parameter ids whose status are going to be updated
schema:
type: object
required:
- status
- ids
properties:
status:
type: string
enum:
- Active
- Inactive
ids:
type: array
items:
type: string
example: 5a17c935b015841767bbec64
consumes:
- application/json
produces:
- application/json
responses:
200:
description: "Success"
schema:
type: object
properties:
updated:
type: number
description: Number of parameters being successfully updated to new status
example: 1
skipped:
type: array
description: Parameters ids being skipped or empty []
items:
type: string
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/import:
post:
description: Import parameters from excel file. The result is an import task id that the caller can poll to check for the importing progress/result
tags:
- Parameters
parameters:
- name: file
in: formData
type: file
required: true
description: Excel file containing parameters to be imported
- name: config
in: formData
type: string
required: true
description: Specified import options {"duplicateOption":"skip/add/overwrite","projects":[]}
consumes:
- multipart/form-data
produces:
- application/json
responses:
200:
description: "The operation was successful"
schema:
type: object
properties:
id:
type: string
example: 5a17c935b015841767bbec64
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/export:
post:
description: Export parameters to Excel file. The result is an export task id that the caller can poll to check for the exporting progress
tags:
- Parameters
parameters:
- name: body
in: body
required: true
description: name and parameter ids need to export
schema:
type: object
required:
- name
- ids
properties:
name:
type: string
description: export file name
example: export_file.xlsx
ids:
type: array
description: list of parameter ids to export
items:
type: string
example: 5a17c935b015841767bbec64
produces:
- application/json
responses:
200:
description: "Export successfully"
schema:
type: object
properties:
id:
type: string
description: "Id of exporting task being used to check for exporting status"
example: 5a17c935b015841767bbec64
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/download/parameters/export/{id}:
get:
description: Download exported Parameters in Excel file.
tags:
- Parameters
parameters:
- name: id
in: path
description: export task id
type: string
required: true
produces:
- application/json
responses:
200:
description: "Download successfully"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
### Parameter value endpoints
/api/v1/parameters/{pid}/values:
post:
description: Add new value to a parameter
tags:
- Parameters
parameters:
- name: pid
in: path
description: parameter id
type: string
required: true
- name: body
in: body
required: true
description: Multiple parameter value strings that needs to be added to the parameter, seperated by a new line character (\n)
schema:
type: object
required:
- value
properties:
value:
type: string
description: value seperated by new line character (\n)
example: "sample parameter value 1\nsample parameter value 2\nsample parameter value 3"
produces:
- application/json
responses:
201:
description: "Parameter object successfully created"
schema:
type: object
properties:
created:
type: number
description: number of parameter values is created
example: 3
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/{pid}/values/{id}:
put:
description: Update a parameter value
tags:
- Parameters
parameters:
- name: pid
in: path
description: parameter id
type: string
required: true
- name: id
in: path
description: parameter value id
type: string
required: true
- name: body
in: body
required: true
description: Parameter value object that needs to be updated
schema:
$ref: "#/definitions/UpdateParameterValueModel"
produces:
- application/json
responses:
200:
description: "Parameter value has been updated successfully"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
404:
description: "Not Founded"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/{pid}/values/delete:
post:
description: Delete multiple parameter values
tags:
- Parameters
parameters:
- name: pid
in: path
description: parameter id
type: string
required: true
- name: body
in: body
required: true
description: List of parameter value ids that needs to be deleted
schema:
type: array
items:
type: string
example: 5a17c935b015841767bbec68
produces:
- application/json
responses:
200:
description: "Success"
schema:
type: object
properties:
deleted:
type: number
description: number of parameter values being deleted
example: 1
skipped:
type: array
description: parameter values ids being skipped or empty []
items:
type: string
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/parameters/{pid}/values/query:
post:
description: Query parameter value
tags:
- Parameters
parameters:
- name: pid
in: path
description: parameter id
type: string
required: true
- name: body
in: body
description: Parameter value query object.
schema:
$ref: "#/definitions/SearchParameterValueModel"
produces:
- application/json
responses:
200:
description: "The operation was successful"
schema:
type: object
properties:
offset:
type: number
example: 1
limit:
type: number
example: 50
total_items:
type: number
example: 70
total_pages:
type: number
example: 2
items:
type: array
items:
$ref: "#/definitions/ParameterValueModel"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
### Dataset endpoints
/api/v1/data-sets/create:
post:
description: Create a new datatset
tags:
- Datasets
parameters:
- name: body
in: body
required: true
description: Dataset object that needs to be created
schema:
$ref: "#/definitions/CreateDatasetModel"
produces:
- application/json
responses:
201:
description: "Dataset successfully created"
schema:
type: object
properties:
id:
type: string
example: 5a17c935b015841767bbec66
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/data-sets/{id}:
get:
description: Retrieve a dataset by id
tags:
- Datasets
parameters:
- name: id
in: path
description: dataset id need to retrieve
type: string
required: true
produces:
- application/json
responses:
200:
description: "Dataset object"
schema:
$ref: "#/definitions/DatasetModel"
400:
description: "Bad Request"
schema:
type: object
properties:
error:
type: string
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
404:
description: "Not Found"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
delete:
description: Delete a dataset by id
tags:
- Datasets
parameters:
- name: id
in: path
description: dataset id
type: string
required: true
produces:
- application/json
responses:
200:
description: "Dataset deleted"
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
put:
description: Update a dataset by id
tags:
- Datasets
parameters:
- name: id
in: path
description: dataset id
type: string
required: true
- name: body
in: body
required: true
description: Dataset object that needs to be updated
schema:
$ref: "#/definitions/CreateDatasetModel"
produces:
- application/json
responses:
200:
description: "Dataset successfully updated"
401:
description: "Unauthorized"
schema:
type: object
properties:
error:
type: string
404:
description: "Not Founded"
schema:
type: object
properties:
error:
type: string
500:
description: "Internal Server Error"
schema:
type: object
properties:
error:
type: string
/api/v1/data-sets/query:
post:
description: Query datasets
tags:
- Datasets
parameters:
- name: body
in: body
required: true
description: Dataset query object.
schema:
$
# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tricentis/refs/heads/main/openapi/tricentis-qtest-parameters-openapi.yaml