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.

OpenAPI Specification

tricentis-qtest-parameters-openapi.yaml Raw ↑
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