Symbio API Filter
Filters can be part of the Uri and cause the server to return a filtered amount of data. For example, you can query all elements with a specific name specified in the filter.
Syntax
The filters are part of the Uri.
https://Server/Collection/Database/_api/rest/facets/processes/views/tree/elements/Origin Key of Category?$filter=name -eq 'mainProcess'
Type of filters / operations
Binary Operators
Name | Syntax | Type | Description | Example |
---|---|---|---|---|
Equal | -eq | string | The Boolean equality operator. | ?$filter=name -eq string |
Function Operators
Name | Syntax | Type | Description | Example |
---|---|---|---|---|
Contains | Contains(string to be searched, substring to search) | string | Determines if one string occurs within another string. | ?$filter=contains(attributes, 'test') |
EndsWith | EndsWith(string to be searched, substring to search at the end of the first string) | string | Determines if the end of one string matches another string. | ?$filter=EndsWith(attributes, 'test') |
StartsWith | StartsWith(string to be searched, substring to search at the beginning of the first string) | string | Determines if the beginning of one string matches another string. | ?$filter=StartsWith(attributes, 'test') |
IsNull | IsNull(key to check for null) | string | Compares the first operand with the null value. Compares if value null, empty or whitespace. | ?$filter=IsNull(attributes) |
Operator Error
If you use an invalid filter operant, you get either a code 404 for an invalid uri or a hint that this operator is not implemented.
{
"data": [
{
"error": "The operator Custom is currently not supported"
}
],
"message": "An error occurred.",
"output": "Volatile",
"type": "Error"
}
Queries
It is possible to create a query in which filters are used in combination. An example in which the value'mainprocess' in the name
attribute is filtered and the value in the sate1
attribute does not correspond to'in progress'.
Name | Syntax | Type | Description | Example |
---|---|---|---|---|
And | AND | string | Groups operands with logical AND | ?$filter=name Equal string AND state1 Equal string |
Or | OR | string | Groups operands with logical OR. | ?$filter=name Equal string OR state1 Equal string |
Query example
https://Server/Collection/Database/_api/rest/facets/processes/views/tree/elements/Origin Key of Category?$filter=name -eq 'mainProcess' AND state1 -eq 'in progress'
Other combinations are also possible.