REST API

A REST API is an API based on HTTP and JSON.
It has been originally implemented to provide data to the iPhone/iPad applications but we are now in a phase where we are extanding it very quickly to support XStudio.web (the pure web version of XStudio).

The API will be quickly extended to provide a way to execute ANY action (creation, modification, deletion, etc.) on ANY item (SUTs, requirements, tests, test cases, campaigns, sessions, defects, assets, users etc.) programmatically.
If you want more information about the roadmap, do not hesitate to contact us.



REST

REST-style architectures consist of clients and servers. Clients initiate requests to servers and servers process requests and return appropriate responses. XStudio REST API's requests and responses and encoded in JSON.

JSON

JSON (JavaScript Object Notation), is a text-based open standard designed for human-readable data interchange. It is used primarily to transmit data between a server and web application, serving as an alternative to XML (but much lightweight).

Basics of the APIs

All the responses are returned through HTTP formatted as a JSON message.


For instance, you can browse the URL:
http://<server>:8080/xstudio/api?command=getInfo

This will return a JSon string similar to:


Most of the methods require the user to be authenticated first (see the authenticate method.
In addition, many methods (those for creation, update and deletion mostly) require to be sent in a POST http request (as opposed to GET).


Available methods

Legend:
Implemented
Not yet implemented



XStudio.web

authenticate
checkDatabaseSchemaCompatibility
logout
getSettings
getLocalization

getAllTimetags
createTimetag
deleteTimetag

uploadAttachment
downloadAttachment
downloadAttachmentRevision
getAttachmentRevisions
deleteAttachments

getCustomFields
getCustomField
createCustomField
updateCustomField
deleteCustomFields
getFolderForm
getFolderDetails
getFolderAttachments
getFolderInheritedAttachments
createFolder
createFolderUnderCategory
createFolderUnderCompany
createFolderUnderProject
updateFolder
copyFolder
moveFoldersToFolder
moveFoldersToProjectFolder
moveFoldersToCategory
moveFoldersToCompany
moveFoldersToProject
moveFoldersToRoot
emptyFolders
deleteFolders
getSutsTree
getSutDetails
getSutCustomFields
getSutAttachments
getSutInheritedAttachments
getSutRevisions
getSutChanges
createSut
insertSutCustomFieldValues
copySuts
moveSuts
freezeSut
unfreezeSut
signSut
deleteSuts
 
getRequirementsTree
getRequirementForm
getRequirementDetails
getRequirementDetailsRevision
getRequirementCustomFields
getRequirementLinkedRequirements
getRequirementAttachments
getRequirementInheritedAttachments
getRequirementRevisions
getRequirementChanges
createRequirement
updateRequirement
insertRequirementCustomFieldValues
copyRequirements
moveRequirements
freezeRequirement
unfreezeRequirement
signRequirement
deleteRequirements
getSpecificationsTree
getSpecificationRootStatistics
getSpecificationFolderStatistics
getSpecificationDetails
getSpecificationCustomFields
getSpecificationLinkedSpecifications
getSpecificationAttachments
getSpecificationInheritedAttachments
getSpecificationRevisions
getSpecificationChanges
createSpecification
insertSpecificationCustomFieldValues
copySpecifications
moveSpecifications
freezeSpecification
unfreezeSpecification
signSpecification
deleteSpecifications
* getTestsTree
getTestRootStatistics
getTestFolderStatistics
* getTestDetails
getTestCustomFields
getTestAttachments
getTestInheritedAttachments
getTestRevisions
getTestChanges
* getTestcaseDetails
getTestcaseCustomFields
getTestcaseAttachments
getTestcaseRevisions
getTestcaseChanges
createTest
insertTestCustomFieldValues
copyTests
moveTests
freezeTest
unfreezeTest
signTest
deleteTests
createTestcase
insertTestcaseCustomFieldValues
copyTestcases
moveTestcases
freezeTestcase
unfreezeTestcase
signTestcase
deleteTestcases
 
* getCampaignsTree
getCampaignRootStatistics
getCampaignFolderStatistics
* getCampaignDetails
getCampaignAttachments
getCampaignInheritedAttachments
* getCampaignSessions
* getSessionDetails
getSessionAttachments
createCampaign
copyCampaigns
moveCampaigns
deleteCampaigns
createSession
* setSessionTestcaseResult
copySessions
freezeCampaign
unfreezeCampaign
signCampaign
freezeCampaignSession
unfreezeCampaignSession
signCampaignSession
deleteSessions
getBugsTree
getBugRootStatistics
getBugFolderStatistics
getBugDetails
getBugCustomFields
getBugAttachments
getBugInheritedAttachments
getBugRevisions
getBugChanges
createBug
insertBugCustomFieldValues
moveBugs
deleteBugs



MethodVer.Command parameterParameters
Session initialization
POST3.0b1+authenticate username=<username>
password=<password>
Example of success:

Example of failure:
GET3.0sp6+checkDatabaseSchemaCompatibility
Example of success:

Example of failure:
POST3.0b1+exit
Example of success:

POST3.0sp5+ logout
Example of success:

GET3.0b1+ getSettings
Example of success:

GET3.0b1+ getLocalization
Example of success:

Timetags
GET3.0b1+ getAllTimetags
Example of success:

POST3.0b1+createTimetag timetagName=<name>
Example of success:

Example of failure:
POST3.0b1+deleteTimetag timetagId=<id>
Example of success:

POST3.0sp6+ uploadAttachment nodeType=<nodeType>
nodeId=<id>
attachmentName=<name>
Content of the attachment must be passed in the request's body as multi-part.
GET3.0sp4+ downloadAttachment nodeType=<nodeType>
attachmentId=<id>
Content of the attachment is passed in the response body and filename as a response's parameter
GET3.0sp7+ downloadAttachmentRevision nodeType=<nodeType>
attachmentId=<id>
revision=<revision>
Content of the attachment is passed in the response body and filename as a response's parameter
GET3.0sp7+ getAttachmentRevisions nodeType=<nodeType>
attachmentId=<id>
Example of success:

POST3.0sp7+ deleteAttachments nodeType=<nodeType>
nodeId=<id>
attachmentIds=<id, id, ...>
attachmentNames=<name, name, ...>
Example of success:

GET3.0sp5+ getCustomFields nodeType=<nodeType>
Example of success:

GET3.0sp7+ getCustomField nodeType=<nodeType>
customFieldId=<id>
customFieldType=<type>
Example of success:

POST3.0sp7+ createCustomField nodeType=<nodeType>

Content of the form with values must be passed in the request's body as multi-part.
Example of body:

Example of success:

Example of failure:
POST3.0sp7+ updateCustomField nodeType=<nodeType>
customFieldType=<type>

Content of the form with values must be passed in the request's body as multi-part.
Example of body:

Example of success:

Example of failure:
POST3.0sp7+ deleteCustomFields customFieldTypes=<types>
customFieldIds=<id, id, ...>
Example of success:

Folders
GET3.0b1+ getFolderDetails folderId=<id>
Example of success:

Example of failure:
GET3.0sp6+ getFolderForm
Example of success:

GET3.0b1+ getFolderAttachments folderId=<id>
Example of success:

GET3.0sp4+ getFolderInheritedAttachments folderId=<id>
Example of success:

POST3.0sp7+createFolder parentFolderId=<id>

Content of the form with values (see getFolderForm) must be passed in the request's body as multi-part.
Example of success:

Example of failure:
POST3.0sp7+createFolderUnderCategory parentFolderId=<id>
categoryId=<id>

Content of the form with values (see getFolderForm) must be passed in the request's body as multi-part.
Example of success:

Example of failure:
POST3.0sp7+createFolderUnderCompany parentFolderId=<id>
companyId=<id>

Content of the form with values (see getFolderForm) must be passed in the request's body as multi-part.
Example of success:
>

Example of failure:
POST3.0sp7+createFolderUnderProject parentFolderId=<id>
projectId=<id>

Content of the form with values (see getFolderForm) must be passed in the request's body as multi-part.
Example of success:

Example of failure:
POST3.0sp6+updateFolder Content of the form with values (see getFolderForm) must be passed in the request's body as multi-part.
Example of success:

Example of failure:
POST3.0b1+copyFolder folderId=<id>
folderName=<name>
treeType=<treeType>
destParentFolderId=<id>
Example of success:

Example of failure:
POST3.0b1+moveFoldersToFolder folderIds=<id, id, ...>
folderNames=<name, name, ...>
destParentFolderId=<id>
destParentFolderName=<name>
Example of success:

Example of failure:
POST3.0b1+moveFoldersToProjectFolder folderIds=<id, id, ...>
folderNames=<name, name, ...>
destParentProjectFolderId=<id>
destParentProjectFolderName=<name>
Example of success:

Example of failure:
POST3.0b1+moveFoldersToCategory folderIds=<id, id, ...>
folderNames=<name, name, ...>
treeType=<treeType>
destParentCategoryId=<id>
destParentCategoryName=<name>
Example of success:

Example of failure:
POST3.0b1+moveFoldersToCompany folderIds=<id, id, ...>
folderNames=<name, name, ...>
treeType=<treeType>
destParentCompanyId=<id>
destParentCompanyName=<name>
Example of success:

Example of failure:
POST3.0b1+moveFoldersToProject folderIds=<id, id, ...>
folderNames=<name, name, ...>
treeType=<treeType>
destParentProjectId=<id>
destParentProjectName=<name>
Example of success:

Example of failure:
POST3.0b1+moveFoldersToRoot folderIds=<id, id, ...>
folderNames=<name, name, ...>
treeType=<treeType>
Example of success:

Example of failure:
POST3.0b1+emptyFolders folderIds=<id, id, ...>
Example of success:

Example of failure:
POST3.0b1+deleteFolders folderIds=<id, id, ...>
Example of success:

Example of failure:
Suts
Getters
GET? getSutsTree
Example of success:

GET? getSutDetails sutId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getSutCustomFields sutId=<id>
Example of success:

GET3.0+ getSutAttachments sutId=<id>
Example of success:

GET3.0+ getSutInheritedAttachments sutId=<id>
Example of success:

GET3.0+ getSutRevisions sutId=<id>
Example of success:

GET3.0+ getSutChanges sutId=<id>
Example of success:

Setters
POST?createSut type=<type>
name=<name>
description=<description>
status=<status>
priority=<priority>
usage=<usage>
complexity=<complexity>
maturity=<maturity>
impact=<impact>
risk=<risk>
destParentFolderId=<id>
Example of success:

POST?insertSutCustomFieldValues sutId=<id>
customFieldType=<type>
customFieldId=<id>
customFieldValue=<value>...
Example of success:

POST?copySuts sutIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST?moveSuts sutIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST3.0+freezeSut sutId=<id>
Example of success:

POST3.0+unfreezeSut sutId=<id>
Example of success:

POST3.0+deleteSuts sutIds=<id, id, ...>
Example of success:

Requirements
Getters
GET3.0b1+ getRequirementsTree
Example of success:

GET3.0sp6+ getRequirementForm
Example of success:

GET3.0b3+ getRequirementDetails requirementId=<id>
frozen=<0|1>
Example of success:

GET3.0sp7+ getRequirementDetailsRevision requirementId=<id>
revision=<revision>
Example of success:

GET3.0b3+ getRequirementCustomFields requirementId=<id>
Example of success:

GET3.0b3+ getRequirementLinkedRequirements requirementIds=<id, id, ...>
Example of success:

GET3.0b3+ getRequirementAttachments requirementId=<id>
Example of success:

GET3.0b3+ getRequirementInheritedAttachments requirementId=<id>
Example of success:

GET3.0b3+ getRequirementRevisions requirementId=<id>
Example of success:

GET3.0b3+ getRequirementChanges requirementId=<id>
Example of success:

Setters
POST3.0+createRequirement parentFolderId=<id>

Content of the form with values (see getRequirementForm) must be passed in the request's body as multi-part.
Example of success:

POST3.0+insertRequirementCustomFieldValue requirementId=<id>
customFieldType=<type>
customFieldId=<id>
customFieldValue=<value>
Example of success:

POST3.0sp6+updateRequirement Content of the form with values (see getRequirementForm) must be passed in the request's body as multi-part.
Example of success:

Example of failure:
POST3.0+copyRequirements requirementIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST3.0+moveRequirements requirementIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST3.0+freezeRequirement requirementId=<id>
Example of success:

POST? must be passed in the request's body as multi-part.
Example of success:

POST3.0+unfreezeRequirement requirementId=<id>
Example of success:

POST3.0+deleteRequirements requirementIds=<id, id, ...>
Example of success:

Specifications
Getters
GET? getSpecificationsTree
Example of success:

GET? getSpecificationRootStatistics
Example of success:

GET? getSpecificationFolderStatistics
Example of success:

GET? getSpecificationDetails specificationId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getSpecificationCustomFields specificationId=<id>
Example of success:

GET? getSpecificationLinkedSpecifications specificationIds=<id, id, ...>
Example of success:

GET3.0+ getSpecificationAttachments specificationId=<id>
Example of success:

GET3.0+ getSpecificationInheritedAttachments specificationId=<id>
Example of success:

GET3.0+ getSpecificationRevisions specificationId=<id>
Example of success:

GET3.0+ getSpecificationChanges specificationId=<id>
Example of success:

Setters
POST?createSpecification type=<type>
name=<name>
description=<description>
status=<status>
priority=<priority>
usage=<usage>
complexity=<complexity>
maturity=<maturity>
impact=<impact>
risk=<risk>
destParentFolderId=<id>

Example of success:

POST?insertSpecificationCustomFieldValues specificationId=<id>
customFieldType=<type>
customFieldId=<id>
customFieldValue=<value>...
Example of success:

POST?copySpecifications specificationIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST?moveSpecifications specificationIds=<id, id, ...>
specificationNames=<name, name, ...>
destParentFolderId=<id>
Example of success:

POST3.0+freezeSpecification specificationId=<id>
Example of success:

POST3.0+unfreezeSpecification specificationId=<id>
Example of success:

POST3.0+deleteSpecifications specificationIds=<id, id, ...>
Example of success:

Tests
Getters
GET? getTestsTree
Example of success:

GET? getTestRootStatistics
Example of success:

GET? getTestFolderStatistics
Example of success:

GET? getTestDetails testId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getTestCustomFields testId=<id>
Example of success:

GET3.0+ getTestAttachments testId=<id>
Example of success:

GET3.0+ getTestInheritedAttachments testId=<id>
Example of success:

GET3.0+ getTestRevisions testId=<id>
Example of success:

GET3.0+ getTestChanges testId=<id>
Example of success:

GET? getTestcaseDetails testcaseId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getTestcaseCustomFields testcaseId=<id>
Example of success:

GET3.0+ getTestcaseAttachments testcaseId=<id>
Example of success:

GET3.0+ getTestcaseRevisions testcaseId=<id>
Example of success:

GET3.0+ getTestcaseChanges testcaseId=<id>
Example of success:

Setters
POST?createTest TBD
Example of success:

POST?insertTestCustomFieldValues testId=<id>
customFieldType=<type>
customFieldId=<id>
customFieldValue=<value>...
Example of success:

POST?copyTests testIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST?moveTests testIds=<id, id, ...>
testNames=<name, name, ...>
destParentFolderId=<id>
Example of success:

POST3.0+freezeTest testId=<id>
Example of success:

POST3.0+unfreezeTest testId=<id>
Example of success:

POST3.0+deleteTests testIds=<id, id, ...>
Example of success:

POST?createTestcase TBD
Example of success:

POST?insertTestcaseCustomFieldValues testcaseId=<id>
customFieldType=<type>
customFieldId=<id>
customFieldValue=<value>...
Example of success:

POST?copyTestcases testcaseIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST?moveTestcases testcaseIds=<id, id, ...>
testNames=<name, name, ...>
destParentFolderId=<id>
Example of success:

POST3.0+freezeTestcase testcaseId=<id>
Example of success:

POST3.0+unfreezeTestcase testcaseId=<id>
Example of success:

POST3.0+deleteTestcases testcaseIds=<id, id, ...>
Example of success:

Campaigns and sessions
Getters
GET? getCampaignsTree
Example of success:

GET? getCampaignRootStatistics
Example of success:

GET? getCampaignFolderStatistics
Example of success:

GET? getCampaignDetails campaignId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getCampaignAttachments campaignId=<id>
Example of success:

GET3.0+ getCampaignInheritedAttachments campaignId=<id>
Example of success:

GET? getCampaignSessions campaignId=<id>
Example of success:

GET? getSessionDetails sessionId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getSessionAttachments sessionId=<id>
Example of success:

Setters
POST?createCampaign TBD
Example of success:

POST?copyCampaigns campaignIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST?moveCampaigns campaignIds=<id, id, ...>
campaignNames=<name, name, ...>
destParentFolderId=<id>
Example of success:

POST3.0+deleteCampaigns campaignIds=<id, id, ...>
Example of success:

POST?createSession TBD
Example of success:

POST?setSessionTestcaseResult TBD
Example of success:

POST?copySessions sessionIds=<id, id, ...>
destParentFolderId=<id>
Example of success:

POST3.0+deleteSessions sessionIds=<id, id, ...>
Example of success:

Bugs
Getters
GET? getBugsTree
Example of success:

GET? getBugRootStatistics
Example of success:

GET? getBugFolderStatistics
Example of success:

GET? getBugDetails testId=<id>
(opt.) frozen=<0|1>
Example of success:

GET3.0+ getBugCustomFields testId=<id>
Example of success:

GET3.0+ getBugAttachments testId=<id>
Example of success:

GET3.0+ getBugInheritedAttachments testId=<id>
Example of success:

GET3.0+ getBugRevisions testId=<id>
Example of success:

GET3.0+ getBugChanges testId=<id>
Example of success:

Setters
POST?createBug TBD
Example of success:

POST?insertBugCustomFieldValues testId=<id>
customFieldType=<type>
customFieldId=<id>
customFieldValue=<value>...
Example of success:

POST?moveBugs testIds=<id, id, ...>
testNames=<name, name, ...>
destParentFolderId=<id>
Example of success:

POST3.0+deleteBugs testIds=<id, id, ...>
Example of success:

iOS Apps.

MethodVer.Command parameterParameters
POST2.3+authenticate username=<username>
password=<password>
Example of success:

GET2.3+ getAllSuts
Example of success:

GET2.3+ getSutCampaigns sutId=<id>
Example of success:

GET2.3+ getSutAndCampaignCampaignSessions sutId=<id>
campaignId=<id>
Example of success:

GET2.3+ getCampaignSessionResults campaignSessionId=<id>
Example of success:

GET2.3+ getCampaignSessionGraphics campaignSessionId=<id>
Example of success:

GET2.3+ getSutBugs sutId=<id>
Example of success:

GET2.3+ getBugDetails bugId=<id>
Example of success:

GET2.3+ getBugGraphics bugId=<id>
Example of success:



Parameter types

Lists

List often indentifiable as <xxxIds> or <xxxNames> refer to comma-delimited strings.

id

<id> refers to an integer value refering to an item's id.

name

<name> refers to a string value refering to an item's name.

treeType

<treeType> refers to an short value refering to a tree:
TREE_TYPE_USER      = 1
TREE_TYPE_SUT       = 2
TREE_TYPE_AGENT     = 3
TREE_TYPE_REQ       = 4
TREE_TYPE_SPEC      = 5
TREE_TYPE_PROJECT   = 6
TREE_TYPE_TEST      = 7
TREE_TYPE_CAMPAIGN  = 8
TREE_TYPE_DEFECT    = 9
TREE_TYPE_DOCUMENT  = 10
TREE_TYPE_SQLREPORT = 11
TREE_TYPE_ASSET     = 12
TREE_TYPE_RIGHT     = 15
TREE_TYPE_CALENDAR  = 16
TREE_TYPE_DASHBOARD = 17

rootFolderId

<rootFolderId> refers to an short value refering to the id of the root folder of each tree:
PARENT_ROOT_FOLDER_ID_USER       = 1
PARENT_ROOT_FOLDER_ID_SUT        = 2
PARENT_ROOT_FOLDER_ID_REQ        = 3
PARENT_ROOT_FOLDER_ID_SPEC       = 4
PARENT_ROOT_FOLDER_ID_TEST       = 5
PARENT_ROOT_FOLDER_ID_CAMPAIGN   = 6
PARENT_ROOT_FOLDER_ID_DEFECT     = 7
PARENT_ROOT_FOLDER_ID_AGENT      = 8
PARENT_ROOT_FOLDER_ID_PROJECT    = 9
PARENT_ROOT_FOLDER_ID_TASK       = 10
PARENT_ROOT_FOLDER_ID_DOCUMENT   = 11
PARENT_ROOT_FOLDER_ID_SQLREPORT  = 12
PARENT_ROOT_FOLDER_ID_ASSET      = 13

nodeType

<nodeType> refers to an short value refering to the type of an item in the trees:
TYPE_NONE               = 0
TYPE_ROOT               = 1
TYPE_CATEGORY           = 2
TYPE_FOLDER             = 3
TYPE_REQUIREMENT        = 4
TYPE_SPECIFICATION      = 5
TYPE_TEST               = 6
TYPE_TESTCASE           = 7
TYPE_CAMPAIGN           = 8
TYPE_CAMPAIGNSESSION    = 9
TYPE_DEFECT             = 10
TYPE_SUT                = 11
TYPE_USER               = 12
TYPE_COMPANY            = 13
TYPE_REPORT             = 23
TYPE_AGENT              = 24
TYPE_SCHEDULE           = 25
TYPE_PROJECT            = 26
TYPE_TASK               = 27
TYPE_SPRINT             = 28
TYPE_PROJECTFOLDER      = 29
TYPE_DOCUMENT           = 30
TYPE_USERGROUP          = 33
TYPE_SQLREPORT          = 34
TYPE_EXPLORATORYSESSION = 35
TYPE_ASSET              = 37
TYPE_RTESTCASE          = 38
TYPE_RSTEP              = 39
TYPE_RCHECK             = 40
TYPE_TESTCASE_RTESTCASE = 41
TYPE_HOLIDAY            = 42
TYPE_TRACK              = 43

type

<type> refers to a string value refering to a variable type: It can be one of the following constants:
"integer"
"string"
"boolean"
"html"
"choice"

requirementType

<requirementType> refers to an short value refering to the type of a requirement:
REQUIREMENT_TYPE_FUNCTIONALITY                        = 10  

REQUIREMENT_TYPE_RELIABILITY_MATURITY                 = 110
REQUIREMENT_TYPE_RELIABILITY_FAULTTOLERANCE           = 120
REQUIREMENT_TYPE_RELIABILITY_RECOVERABILITY           = 130
REQUIREMENT_TYPE_RELIABILITY_AVAILABILITY             = 140
REQUIREMENT_TYPE_RELIABILITY_DEGRADABILITY            = 150
REQUIREMENT_TYPE_RELIABILITY_ACCURACY                 = 160
REQUIREMENT_TYPE_RELIABILITY_SECURITY                 = 170

REQUIREMENT_TYPE_USABILITY_ACCESSIBILITY              = 210
REQUIREMENT_TYPE_USABILITY_UNDERSTANDABILITY          = 220
REQUIREMENT_TYPE_USABILITY_LEARNABILITY               = 230
REQUIREMENT_TYPE_USABILITY_OPERABILITY                = 240
REQUIREMENT_TYPE_USABILITY_EXPLICITNESS               = 250
REQUIREMENT_TYPE_USABILITY_CUSTOMIZABILITY            = 260
REQUIREMENT_TYPE_USABILITY_ATTRACTIVITY               = 270
REQUIREMENT_TYPE_USABILITY_CLARITY                    = 280
REQUIREMENT_TYPE_USABILITY_HELPFULNESS                = 290
REQUIREMENT_TYPE_USABILITY_USERFRIENDLYNESS           = 300

REQUIREMENT_TYPE_EFFICIENCY_TIME                      = 410
REQUIREMENT_TYPE_EFFICIENCY_RESOURCES                 = 420

REQUIREMENT_TYPE_DOCUMENTATION                        = 510

REQUIREMENT_TYPE_MAINTAINABILITY_ANALYZABILITY        = 610
REQUIREMENT_TYPE_MAINTAINABILITY_EXTENSIBILITY        = 620
REQUIREMENT_TYPE_MAINTAINABILITY_STABILITY            = 630
REQUIREMENT_TYPE_MAINTAINABILITY_TESTABILITY          = 640
REQUIREMENT_TYPE_MAINTAINABILITY_MANAGEABILITY        = 650
REQUIREMENT_TYPE_MAINTAINABILITY_REUSABILITY          = 660
REQUIREMENT_TYPE_MAINTAINABILITY_SUPPORTABILITY       = 670
REQUIREMENT_TYPE_MAINTAINABILITY_TRACEABILITY         = 680

REQUIREMENT_TYPE_PORTABILITY_COMPATIBILITY            = 710
REQUIREMENT_TYPE_PORTABILITY_ADAPTABILITY             = 720
REQUIREMENT_TYPE_PORTABILITY_INSTALLABILITY           = 730
REQUIREMENT_TYPE_PORTABILITY_CONFORMANCE              = 740
REQUIREMENT_TYPE_PORTABILITY_REPLACEABILITY           = 750
REQUIREMENT_TYPE_PORTABILITY_SAFETY                   = 760
REQUIREMENT_TYPE_PORTABILITY_SIZE                     = 770

REQUIREMENT_TYPE_ORGANISATION_DELIVERY                = 810
REQUIREMENT_TYPE_ORGANISATION_IMPLEMENTATION          = 820
REQUIREMENT_TYPE_ORGANISATION_COMPLIANCE              = 830

REQUIREMENT_TYPE_EXTERNAL_INTEROPERABILITY            = 910
REQUIREMENT_TYPE_EXTERNAL_LEGISLATIVE_SAFETY          = 920
REQUIREMENT_TYPE_EXTERNAL_LEGISLATIVE_PRIVACY         = 930
REQUIREMENT_TYPE_EXTERNAL_LEGISLATIVE_LICENSING       = 940
REQUIREMENT_TYPE_EXTERNAL_ETHICAL                     = 950

status

<status> refers to a short value refering to a status:
REQUIREMENT_STATUS_NEW          = 10
REQUIREMENT_STATUS_ACKNOWLEDGED = 20
REQUIREMENT_STATUS_APPROVED     = 30

priority

<priority> refers to a short value refering to a priority:
REQUIREMENT_PRIORITY_HIGH   = 10
REQUIREMENT_PRIORITY_NORMAL = 20
REQUIREMENT_PRIORITY_LOW    = 30

freezeStatus

<freezeStatus> refers to a short value refering to a freez status:
FREEZE_STATUS_NORMAL = 0
FREEZE_STATUS_FROZEN = 1 (the item is frozen and not editable anymore)
FREEZE_STATUS_SIGNED = 2 (the item has been signed and is not editable anymore)

usage

<usage> refers to a short value refering to a risk's usage parameter: It can take a value in between 0 and 5.

complexity

<complexity> refers to a short value refering to a risk's complexity parameter: It can take a value in between 0 and 5.

maturity

<maturity> refers to a short value refering to a risk's maturity parameter: It can take a value in between 0 and 5.

impact

<impact> refers to a short value refering to a risk's impact parameter: It can take a value in between 0 and 5.

risk

<risk> refers to a short value refering to the total score of a risk: It can take a value in between 0 and 2500.

textToken

<textToken> refers to a string also refered as passphrase that the signer provide during signature.

blobToken

<blobToken> refers to the content of a file (i.e. a scanned signature) that the signer provide during signature.