ReqSuite® Quality Checker (QC)
REST API

Authentication

POST
/token

With this method you get an access token, which you must use as the key for authentication using Bearer for the other methods.

Request:
grant_type=password&username=max.mustermann&password=myPassword1234

Response:

{"access_token":"TikwwVdL1jQyVUP4MrZrTM56eAAK1lq6woY7qRCXDrR3GPcxn4Y17qGwNbqLJsaxANLK_cpovo-iE45M7Kbn74751j0LynQI55AK4piYVfAaIBF-mUjMOCvQhYGyR98yZd_cjr6O-DHZA1KNbOvs0jv-YOkREaBQrca0of_JtRlkXz17Ke0wzj_P43zCz5_2uYXFd2Xcf38V0NU0Dw1vmlQX2FO9IdaIfQ7v5m6XYPVFXZHOtnZ0KDX9_71LbYdp-p_EE6rL9tJPJRbt6bvJW8PuHmKia7k5DvTgPtfVgIlHpq4jNw72vG-QSr6fhkpc5_UQ7hTX6n-aSRZ2fXwY3iLg03dA7BTG4Tu9lvYTxyHYT8XYBSLY4yqtYaAfMCT8HW_3HqUzmu8qWRoQ4Bhxc6l4J0QXEJ6UnUVZCUjjuaL9yO0b-Xl_2cBZt0PhTYOtqS-CBATWhCwScqJvvOa_79dgSw_hghZte4UiCItjY2ZX9iHgt9fUxsLM5yDjekxfWE0E0tc4iY72eRJeE6hHyCMOeGhFHeZQ","token_type":"bearer","expires_in":31535999,"as:client_id":"","userName":"max.mustermann","userId":"1","TenantId":"1","ReqSuiteRole":"TenantAdmin",".issued":"Thu, 30 Aug 2018 13:18:53 GMT",".expires":"Fri, 30 Aug 2019 13:18:53 GMT"}

Perform Checks

POST
/api/External/QC/Quality/{lang}/{checkRequirement}/{checkTerms}

With this method you get results of a linguistic quality check for requirements in the specified language {lang}, whereby this is currently possible in German (DE) or English (EN). The mandatory boolean field {checkRequirement} indicates by true or false whether the algorithm shall check for statements that are not written in a requirements-like manner. The mandatory boolean field {checkTerms} defines by true or false whether to give a recommendation which terms and abbreviations shall be defined.

Request:
[
   {
	"id": "1287",
	"text" : "The system must provide the user with the ability to save his data."
   },
   {
	"id": "1288",
	"text" : "The system must be able to calculate the user's data."
   }
]

Response:

   {
   "$id": "1",
   "$type": "ReqSuite.API.Data.RSCheckResult",
   "results": [
	{
		"$id": "2",
		"$type": "ReqSuite.API.Data.RSCheckContent",
		"id": "1287",
		"text": "The system must provide the user with the ability to save his data.",
                "findingType": "GENERIC WORD"
		"review": "The sentence \"The system must provide the us...\" is imprecisely described because of the unspecific word \"data\". ",
                "recommendation": "Make clear which \"data\" you mean."
	},
	{
		"$id": "3",
		"$type": "ReqSuite.API.Data.RSCheckContent",
		"id": "1288",
		"text": "The system must be able to calculate the user's data.",
                "findingType": "MISSING DETAIL",
		"review": "The sentence \"The system must be able to cal...\" is incomplete due to a missing statement about the criteria (according to what?) for the verb \"calculate\". ",
                "recommendation": "Make this clear."
	}
   ],
   "checkedWords": 23,
   "timeStamp": "2020-09-02T09:47:12.692Z",
   "costs": "0,02 €"
}
POST
/api/External/QC/Similarity/{lang}

Use this method to get results of a linguistic similarity search for requirements in the specified language {lang}, which currently works for German (DE) and English (EN).

Request:
[
   {
	"id": "1287",
	"text" : "If the status changes to critical, the system must display a warning."
   },
   {
	"id": "1288",
	"text" : "When the status is critical, the system should display a warning to the user."
   }
]

Response:

{
   "$id": "1",
   "$type": "ReqSuite.API.Data.RSCheckResult",
   "results": [
	{
		"$id": "2",
		"$type": "ReqSuite.API.Data.RSCheckContent",
		"id": "1287",
		"text": "If the status changes to critical, the system must display a warning.",
                "findingType": "SIMILARITY",
		"review": "The requirement has a 83.33 % similarity with the requirement 1288. \"When the status is critical, the system should dis...\". ",
                "recommendation": "Check whether this is a duplicate or even a contradiction and resolve the conflict if necessary."
	},
	{
		"$id": "3",
		"$type": "ReqSuite.API.Data.RSCheckContent",
		"id": "1288",
		"text": "When the status is critical, the system should display a warning to the user.",
                "findingType": "SIMILARITY",
		"review": "The requirement has a 83.33 % similarity with the requirement 1287. \"If the status changes to critical, the system must...\". ",
                "recommendation": "Check whether this is a duplicate or even a contradiction and resolve the conflict if necessary."
	}
   ],
   "checkedWords": 26,
   "timeStamp": "2020-09-02T09:49:40.116Z",
   "costs": "0,03 €"
}

Settings

POST
/api/External/QC/WordList/{lang}

This method allows you to define which black and white lists in the specified language {lang} (German (DE) or English (EN)). If you specify only terms in the “use” field, the quality checker will learn these terms and will not list them in the glossary recommendation. If you specify both “avoid” and “use” fields, the quality checker will recognize the use of these undesirable terms and will provide appropriate alternatives instead.
Please note that each call of this method overrides the existing word list, i.e., you must always enter all terms in each call and not only the terms you want to update.

Request:
[
     {
		"avoid": "requirements analysis, requirements development, requirements elicitation",
                "use": "requirements engineering"
     },
     {
		"avoid": "software development, software creation",
                "use": "software engineering"
     }
]

Response:

-
POST
/api/External/QC/WrongReview

With this method you can mark a given review as wrong or not appropriate, e.g., because it is a false positive.

Request:
{
		"$id": "2",
		"$type": "ReqSuite.API.Data.RSCheckContent",
		"id": "1287",
		"text": "The system must provide the user with the ability to save his data.",
                "findingType": "GENERIC WORD"
		"review": "The sentence \"The system must provide the us...\" is imprecisely described because of the unspecific word \"data\". ",
                "recommendation": "Make clear which \"data\" you mean."
}

Response:

-

Query Credit

GET
/api/External/QC/Contingent

With this method you receive the status of your current remaining credit, which you can use for the language tests of your requirements.

Request:
-

Response:

96,83 €