Variable Labeling
Purpose
With the variable labeling endpoint, variable labels can be added, updated and deleted from Optimize.
Functionality
The variable labeling API allows users to add, update and delete batches of variable label data, which Optimize stores in a dedicated index. All variable label data includes a reference to the process definition each variable belongs to, which allows Optimize to display a variable’s label instead of its original name, anywhere the given process definition is being used. Some examples of that would be in reports, configuring filters, report grouping, dashboard filters and Event Based Processes.
Limitations
Please note that this feature is currently not supported in outlier analysis. This means that during Outlier Analysis, the original name of a variable will be displayed.
Authorization
Every request requires Authorization.
Method & HTTP Target Resource
POST /api/public/variables/labels
Request Headers
The following request headers have to be provided with every variable labeling request:
Header | Constraints | Value |
---|---|---|
Authorization | REQUIRED | See Authorization |
Content-Type | REQUIRED | application/json |
Request Body
The request body should contain a reference to the process definition using its key, as well as an array of variable labels. Each variable label object in the array must specify the name and type of the variable for which a label is being added, as well as the value of the label itself.
Result
This method returns no content.
Response Codes
Possible HTTP Response Status codes:
Code | Description |
---|---|
204 | Request successful. |
400 | Returned if some of the properties in the request body are invalid or missing. |
401 | Secret incorrect or missing. See Authorization on how to authorize. |
404 | The process definition with the given definition key doesnt exist. |
Example 1
Insert three labels for three variable for a given process definition
Note: If the label exists already in the index, then its value will be overridden.
Request
POST /api/public/variables/labels
Request Body:
{
"definitionKey": "bookrequest-1-tenant",
"labels" : [
{
"variableName": "bookAvailable",
"variableType": "Boolean",
"variableLabel": "book availability"
},
{
"variableName": "person.name",
"variableType": "String",
"variableLabel": "first and last name"
},
{
"variableName": "person.hobbies._listSize",
"variableType": "Long",
"variableLabel": "amount of hobbies"
}
]
}
Response
Status 204.
Example 2
Delete a label for a variable belonging to a given process definition by inputting an empty String for its value. If there is no label for the given variable in Elasticsearch then no operation is being conducted.
Request
POST /api/public/variables/labels
Request Body:
{
"definitionKey": "bookrequest-1-tenant",
"labels" : [
{
"variableName": "bookAvailable",
"variableType": "Boolean",
"variableLabel": ""
}
]
}
Response
Status 204.
Example 3
Insert and delete labels for two variables belonging to a given process definition. The following example adds a label for the variable with name bookAvailable and deletes a label for the variable with name person.name.
Request
POST /api/public/variables/labels
Request Body:
{
"definitionKey": "bookrequest-1-tenant",
"labels" : [
{
"variableName": "bookAvailable",
"variableType": "Boolean",
"variableLabel": "book availability"
},
{
"variableName": "person.name",
"variableType": "String",
"variableLabel": ""
},
]
}
Response
Status 204.
Example 4
Attempting to insert multiple labels for the same variable will result to a 400 response code.
Request
POST /api/public/variables/labels
Request Body:
{
"definitionKey": "someProcessDefinitionKey",
"labels" : [
{
"variableName": "bookAvailable",
"variableType": "Boolean",
"variableLabel": "book availability"
},
{
"variableName": "bookAvailable",
"variableType": "Boolean",
"variableLabel": "is book available"
},
]
}
Response
Status 400.