ReqSuite® Requirements Manager (RM)
Authentication
With this method you get an access token, which you must use as the key for authentication using Bearer for the other methods. Please note that our REST API can only be accessed by users with the API User role.
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"}
Retrieve Data
With this method you get all users that exist in your client.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": null }, { "$id": "2", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 2, "name": "renate.mustermann", "firstName": "Renate", "lastName": "Mustermann", "eMail": "renate.mustermannh@osseno.de", "defaultRole": "SimpleUser", "projectRole": null } ]
With this method you get all project configurations that have been created in your client.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSTemplate, ReqSuiteWeb", "id": 3, "name": "IREB-Config", "description": "This configuration supports requirements management according to the IREB textbook.", "language": "English" } ]
With this method you get all projects that the api user is assigned to.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSProject, ReqSuiteWeb", "id": 10269, "name": "App-Development-2018", "isReusable": false, "templateName": "IREB-Config", "templateId": 3 }, { "$id": "2", "$type": "ReqSuite.API.Data.RSProject, ReqSuiteWeb", "id": 10272, "name": "CRM-Einführung", "isReusable": false, "templateName": "IREB-Config-Deutsch", "templateId": 4 } ]
Use this method to get all users assigned to the project with the ID projectId, including their respective roles in the project.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }, { "$id": "2", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 2, "name": "renate.mustermann", "firstName": "Renate", "lastName": "Mustermann", "eMail": "renate.mustermannh@osseno.de", "defaultRole": "SimpleUser", "projectRole": "ProjectAdmin" } ]
Use this method to get all data types that can be used in the project with the ID projectId.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6452, "name": "Funktion", "attributes": [ { "$id": "2", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26985, "name": "Priorität", "dataType": "ENUM", "possibleValues": [ "muss", "soll", "kann" ] }, { "$id": "3", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26986, "name": "name", "dataType": "TEXT", "possibleValues": [] }, { "$id": "4", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26987, "name": "Beschreibung", "dataType": "TEXT", "possibleValues": [] } ], "stateTransitions": [] } ]
Use this method to get all objects/data stored in the project with the ID projectId and optionally filter them by the used condition.
-
Response:
[ { "$id": "83", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 12844, "name": "Stammkundenstatus setzen", "key": "FU11", "version": 19, "creationDate": "2016-10-20T01:19:20.827Z", "lastChanged": "2018-08-30T17:33:34.917Z", "lastEditor": { "$id": "85", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }, "assignee": { "$id": "85", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }, "attributes": [ { "$id": "86", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 46375, "value": "muss", "attributeType": { "$id": "87", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26985, "name": "Priorität", "dataType": "ENUM", "possibleValues": [ "muss", "soll", "kann" ] } }, { "$id": "88", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 46376, "value": "Stammkundenstatus setzen", "attributeType": { "$id": "89", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26986, "name": "name", "dataType": "TEXT", "possibleValues": [] } }, { "$id": "90", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 46377, "value": "Das System soll es ermöglichen, den Stammkundenstatus für einen Kunden zu setzen. Das Setzen soll nur möglich sein, wenn der Kunde seit mindestens 3 Jahren Kunde ist.", "attributeType": { "$id": "91", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26987, "name": "Beschreibung", "dataType": "TEXT", "possibleValues": [] } } ], "state": null, "type": { "$id": "92", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6452, "name": "Funktion", "attributes": [ { "$ref": "87" }, { "$ref": "89" }, { "$ref": "91" } ], "stateTransitions": [] }, "nextPossibleStates": [] } ]
Use this method to get all objects/data of the data type with the ID typeId that are stored in the project with the ID projectId and optionally filter them by the used condition.
-
Response:
[ { "$id": "83", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 12844, "name": "Stammkundenstatus setzen", "key": "FU11", "version": 19, "creationDate": "2016-10-20T01:19:20.827Z", "lastChanged": "2018-08-30T17:33:34.917Z", "lastEditor": { "$id": "85", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }, "assignee": { "$id": "85", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }, "attributes": [ { "$id": "86", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 46375, "value": "muss", "attributeType": { "$id": "87", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26985, "name": "Priorität", "dataType": "ENUM", "possibleValues": [ "muss", "soll", "kann" ] } }, { "$id": "88", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 46376, "value": "Stammkundenstatus setzen", "attributeType": { "$id": "89", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26986, "name": "name", "dataType": "TEXT", "possibleValues": [] } }, { "$id": "90", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 46377, "value": "Das System soll es ermöglichen, den Stammkundenstatus für einen Kunden zu setzen. Das Setzen soll nur möglich sein, wenn der Kunde seit mindestens 3 Jahren Kunde ist.", "attributeType": { "$id": "91", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 26987, "name": "Beschreibung", "dataType": "TEXT", "possibleValues": [] } } ], "state": null, "type": { "$id": "92", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6452, "name": "Funktion", "attributes": [ { "$ref": "87" }, { "$ref": "89" }, { "$ref": "91" } ], "stateTransitions": [] }, "nextPossibleStates": [] } ]
Use this method to get all relationships between objects/data that exist in the project with the ID projectId.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSRelationship, ReqSuiteWeb", "id": 8362, "sourceItem": { "$id": "2", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 12845, "name": "Kampagne löschen", "key": "FU12", "version": 7, "creationDate": "2016-10-20T01:19:21.487Z", "lastChanged": "2017-12-18T14:00:28.143Z", "lastEditor": null, "assignee": null, "attributes": [], "state": null, "type": null, "nextPossibleStates": [] }, "targetItem": { "$id": "3", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 12843, "name": "Stammkunden verwalten", "key": "UC4", "version": 15, "creationDate": "2016-10-20T01:19:20.590Z", "lastChanged": "2018-08-30T17:33:35.060Z", "lastEditor": null, "assignee": null, "attributes": [], "state": null, "type": null, "nextPossibleStates": [] }, "relationshipType": { "$id": "4", "$type": "ReqSuite.API.Data.RSRelationshipType, ReqSuiteWeb", "id": 7160, "name": "notwendig innerhalb des", "sourceType": { "$id": "5", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6452, "name": "Funktion", "attributes": [], "stateTransitions": [] }, "targetType": { "$id": "6", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6457, "name": "Use Case", "attributes": [], "stateTransitions": [] } } } ]
Use this method to get all types of relationships that are possible between objects/data in the project with the ID projectId.
-
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSRelationshipType, ReqSuiteWeb", "id": 7160, "name": "notwendig innerhalb des", "sourceType": { "$id": "2", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6452, "name": "Funktion", "attributes": [], "stateTransitions": [] }, "targetType": { "$id": "3", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 6457, "name": "Use Case", "attributes": [], "stateTransitions": [] } } ]
Use this method to get a advanced reqifz file from the project with the ID projectId. It is possible to call method is on European servers between 9pm and 3am UTC, on US servers between 3am and 9am UTC and on on-premise installation at any time.
-
Response:
//Content of ReqIFz File
Use this method download the attachment with the ID attachmentId for the item with the ID itemId in the project with the ID projectId.
-
Response:
//Content of Attachment File
Create Data
You can use this method to create a new project within your client.
{ "name": "Test-WEB-API", "isReusable": false, "templateId": 1473 }
Response:
{ "$id": "1", "$type": "ReqSuite.API.Data.RSProject, ReqSuiteWeb", "id": 30936, "name": "Test-WEB-API", "isReusable": false, "templateName": "Einfach-Standardmodell", "templateId": 1473 }
Use this method to assign a user to the project with the ID projectId.
{ "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }
Response:
{ "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectUser" }
With this method you can create new objects/data in the project with the ID projectId.
[ { "name": "Neuer Geschäftsprozess", "assignee": null, "attributes": [ { "value": "Neuer Geschäftsprozess", "attributeType": { "id": 52226, "name": "name" } }, { "value": "Dieser Geschäftsprozess dient der Entwicklung von Software.", "attributeType": { "id": 52227, "name": "Beschreibung" } } ], "state": null, "type": { "id": 14828, "name": "Geschäftsprozess" } } ]
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 40460, "name": "Neuer Geschäftsprozess", "key": "GP9", "version": 1, "creationDate": "2018-08-31T17:30:49.267Z", "lastChanged": "2018-08-31T17:30:49.263Z", "lastEditor": null, "assignee": null, "attributes": [ { "$id": "2", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 203321, "value": "Neuer Geschäftsprozess", "attributeType": { "$id": "3", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 52226, "name": "name", "dataType": "TEXT", "possibleValues": [] } }, { "$id": "4", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 203322, "value": "Dieser Geschäftsprozess dient der Entwicklung von Software.", "attributeType": { "$id": "5", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 52227, "name": "Beschreibung", "dataType": "TEXT", "possibleValues": [] } } ], "state": null, "type": { "$id": "6", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 14828, "name": "Geschäftsprozess", "attributes": [ { "$ref": "3" }, { "$ref": "5" } ], "stateTransitions": [] }, "nextPossibleStates": [] } ]
You can use this method to create new relationships between objects/data in the project with the ID projectId.
[ { "sourceItem": { "id": 40452, "name": "Neuer Geschäftsprozess", "key": "GP1" }, "targetItem": { "id": 40451, "name": "WEB-API-Test", "key": "PR1" }, "relationshipType": { "id": 10971, "name": "zu optimieren im Rahmen des" } } ]
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSRelationship, ReqSuiteWeb", "id": 16486, "sourceItem": { "$id": "2", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 40452, "name": "Neuer Geschäftsprozess", "key": "GP1", "version": 4, "creationDate": "2018-08-31T17:14:10.163Z", "lastChanged": "2018-09-01T06:01:40.277Z", "lastEditor": null, "assignee": null, "attributes": [], "state": null, "type": null, "nextPossibleStates": [] }, "targetItem": { "$id": "3", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 40451, "name": "WEB-API-Test", "key": "PR1", "version": 4, "creationDate": "2018-08-31T16:39:58.070Z", "lastChanged": "2018-09-01T06:01:40.327Z", "lastEditor": null, "assignee": null, "attributes": [], "state": null, "type": null, "nextPossibleStates": [] }, "relationshipType": { "$id": "4", "$type": "ReqSuite.API.Data.RSRelationshipType, ReqSuiteWeb", "id": 10971, "name": "zu optimieren im Rahmen des", "sourceType": { "$id": "5", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 14828, "name": "Geschäftsprozess", "attributes": [], "stateTransitions": [] }, "targetType": { "$id": "6", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 14830, "name": "Projekt", "attributes": [], "stateTransitions": [] } } } ]
You can use this method to create new attachments for the item with the ID itemId for the project with the ID projectId.
[ { "name": "Website", "path": "https://www.osseno.com", "isLink": true, "description": "Link to our Website" } ]
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSAttachment", "id": 9396, "name": "Website", "path": "https://www.osseno.com", "isLink": true, "description": "Link to our Website" } ]
Change Data
Use this method to change the basic settings of the project with the ID projectId.
{ "id": 30936, "name": "WEB-API-Test-17", "isReusable": true }
Response:
{ "$id": "1", "$type": "ReqSuite.API.Data.RSProject, ReqSuiteWeb", "id": 30936, "name": "WEB-API-Test-17", "isReusable": true, "templateName": null, "templateId": 0 }
Use this method to change the role of a user in the project with the ID projectId.
{ "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectReader" }
Response:
{ "$id": "1", "$type": "ReqSuite.API.Data.RSUser, ReqSuiteWeb", "id": 1, "name": "max.mustermann", "firstName": "Max", "lastName": "Mustermann", "eMail": "max.mustermann@osseno.de", "defaultRole": "TenantAdmin", "projectRole": "ProjectReader" }
Use this method to change objects/data in the project with the ID projectId.
[ { "id": 40460, "name": "Neuer Geschäftsprozess - CHANGE", "assignee": null, "attributes": [ { "id": 203321, "value": "Neuer Geschäftsprozess - CHANGE", "attributeType": { "id": 52226, "name": "name" } }, { "id": 203322, "value": "Dieser Geschäftsprozess dient der Entwicklung von Software und Hardware.", "attributeType": { "id": 52227, "name": "Beschreibung" } } ], "state": null, "type": { "id": 14828, "name": "Geschäftsprozess" } } ]
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSItem, ReqSuiteWeb", "id": 40460, "name": "Neuer Geschäftsprozess - CHANGE", "key": "GP9", "version": 2, "creationDate": "2018-08-31T17:30:49.267Z", "lastChanged": "2018-08-31T17:34:16.080Z", "lastEditor": null, "assignee": null, "attributes": [ { "$id": "2", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 203321, "value": "Neuer Geschäftsprozess - CHANGE", "attributeType": { "$id": "3", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 52226, "name": "name", "dataType": "TEXT", "possibleValues": [] } }, { "$id": "4", "$type": "ReqSuite.API.Data.RSItemAttribute, ReqSuiteWeb", "id": 203322, "value": "Dieser Geschäftsprozess dient der Entwicklung von Software und Hardware.", "attributeType": { "$id": "5", "$type": "ReqSuite.API.Data.RSTypeAttribute, ReqSuiteWeb", "id": 52227, "name": "Beschreibung", "dataType": "TEXT", "possibleValues": [] } } ], "state": null, "type": { "$id": "6", "$type": "ReqSuite.API.Data.RSType, ReqSuiteWeb", "id": 14828, "name": "Geschäftsprozess", "attributes": [ { "$ref": "3" }, { "$ref": "5" } ], "stateTransitions": [] }, "nextPossibleStates": [] } ]
Use this method to change data for the attachment with the ID attachmentId for the item with the ID itemId in the project with the ID projectId.
{ "name": "Our Website", "path": "https://www.osseno.com", "isLink": true, "description": "Link to our Website" }
Response:
[ { "$id": "1", "$type": "ReqSuite.API.Data.RSAttachment", "id": 9396, "name": "Our Website", "path": "https://www.osseno.com", "isLink": true, "description": "Link to our Website" } ]
Use this method to upload attachments with the ID attachmentId for the item with the ID itemId in the project with the ID projectId.
//Content of Attachment File
Response:
-
Delete Data
Use this method to remove the user with the ID userId from the project with the ID projectId. The user remains within your client.
-
Response:
-
Use this method to delete the object / date with the ID itemId (irrevocably). For security reasons, the entry projectId is also required.
-
Response:
-
Use this method to delete the relationship with the ID relationshipId (irrevocably). For security reasons, the entry projectId is also required.
-
Response:
-
Use this method to delete the object / date with the ID itemId (irrevocably). For security reasons, the entry projectId is also required.
-
Response:
-
Use this method to delete the attachment with the ID attachmentId (irrevocably). For security reasons, the entry projectId is also required.
-
Response:
-