Filtering Expressions in the Main API (2017/01)
Â
Filter ExpressionsÂ
GET calls that return multiple items accept the "?filter"
query string, which allows the client to filter list returns according to one or more entity values. The query string can have multiple operators joined together with "AND" or "OR".
Example (single operator)
GET /2017/01/REST/Content/?filter=[mediaType]%20IS%20'video'Â
Example (multiple operators)
GET /2017/01/REST/Content/?filter=[fileName]%20BEGINS%20WITH%20'ex'%20AND%20[mediaType]%20IS%20'image'
Accepted expressions are described below.
String Operators
 String operators are case-insensitive.
[entry] IS '<value>'
: Returns items that contain the entry equallingÂ<value>
. This operation supports theÂ"*"
andÂ"?"
 wildcards.[entry] IS NOT '<value>'
: Returns items that do not contain the entry equallingÂ<value>
. This operation supports theÂ"*"
 andÂ"?"
 wildcards.Â[entry] BEGINS WITH '<value>'
: Returns items that contain the entry starting with theÂ<value>
 substring.Â[entry] ENDS WITH '<value>'
:Â Returns items that contain the entry ending with theÂ<value>
 substring.Â[entry] CONTAINS '<value>'
:Â Returns items that contain the entry with theÂ<value>
 substring.Â[entry] DOES NOT CONTAIN '<value>':
Returns items that do not contain the entry with the <value> substring".[entry] CONTAINS ALL ('<value_1>', '<value_2>', [...])
:Â Returns items that contain the entry with all of the specified substrings.[entry] CONTAINS ANY ('<value_1>', '<value_2>', [...])
:Â Returns items that contain the entry with any of the specified substrings.[entry] IS IN ('<value_1>', '<value_2>', [...])
: Returns items that contain the entry equalling any of the specified values.[entry] IS NOT INÂ ('<value_1>', '<value_2>', [...])
:Â Returns items that do not contain the entry equalling any of the specified values.
Enumeration Operators
Some string-value entries are enumerations: For example, the [mediaType]
 entry on the Content endpoint can only have "Video", "Image", "Audio", "Text", and "Other" values. The following operators can be used with enumeration entries:
[entry] IS '<value>'
: Returns items that contain the entry equallingÂ<value>
.[entry] IS NOT '<value>'
: Returns items that do not contain the entry equallingÂ<value>
.[entry] IS IN ('<value_1>', '<value_2>', [...])
: Returns items that contain the entry equalling any of the specified values.[entry] IS NOT INÂ ('<value_1>', '<value_2>', [...])
:Â Returns items that do not contain the entry equalling any of the specified values.Â
Number Operators
[entry] IS <value>
: Returns items that contain the entry equallingÂ<value>
.[entry] IS NOT <value>
: Returns items that do not contain the entry equallingÂ<value>
.Â[entry] IS GREATER THAN <value>
: Returns items that contain the entry with a value greater thanÂ<value>
.[entry] IS LESS THAN <value>
: Returns items that contain the entry with a value less thanÂ<value>
.[entry]Â IS IN THE RANGE <value> AND <value>
: Returns items that contain the entry with a value between the specified range.[entry]Â IS NOT IN THE RANGE <value> AND <value>
: Returns items that do not contain the entry with a value between the specified range.[entry] IS IN (<value_1>, <value_2>, [...])
: Returns items that contain the entry equalling any of the specified values.[entry] IS NOT INÂ (<value_1>, <value_2>, [...])
:Â Returns items that do not contain the entry equalling any of the specified values.GPS LOCATION ([latittude_entry] AND [longitude_entry]) IN (<latitude_value>, <longitude_value>, <distance_value>)
: Returns items that have coordinate entries withinÂ<distance_value>
of the specifiedÂ<latitude_value>
andÂ<longitude_value>
.ÂGPS LOCATION ([latittude_entity] AND [longitude_entity]) NOT IN (<latitude_value>, <longitude_value>, <distance_value>)
: Returns items that do not have coordinate entries withinÂ<distance_value>
 of the specifiedÂ<latitude_value>
 andÂ<longitude_value>
.Â
DateTime Operators
DateTime values are formatted as yyyy-mm-ddThh:mm:ss.sssZ
.
[entry] IS '<dateTime>'
: Returns items that contain the entry equallingÂ<dateTime>
.[entry] IS NOT '<dateTime>'
: Returns items that do not contain the entry equallingÂ<dateTime>
.Â[entry] IS AFTER '<dateTime>'
: Returns items that contain the entry with a time beforeÂ<dateTime>
.[entry]Â IS BEFORE '<dateTime>'
:Â Returns items that contain the entry with a time afterÂ<dateTime>
.[entry]Â IN THE LAST (<units>, <length>, '<dateTime>')
: Returns items that have a time entry withinÂ<length>
 beforeÂ<dateTime>
. The timeÂ<length>
 is quantified with theÂ<units>
 parameter, which can have one of the following values:Âyears
,Âmonths
,Âdays
.[entry] NOT IN THE LASTÂ (<units>, <length>, '<dateTime>')
:Â Returns items that do not have a time entry withinÂ<length>
 beforeÂ<dateTime>
. The timeÂ<length>
 is quantified with theÂ<units>
 parameter, which can have one of the following values:Âyears
,Âmonths
,Âdays
.[entry] IS IN THE RANGE '<dateTime>' AND '<dateTime>'
: Returns items that have a time entry that falls between the twoÂ<dateTime>
values.[entry] IS NOT IN THE RANGE '<dateTime>' AND '<dateTime>'
: Returns items that do not have a time entry that falls between the twoÂ<dateTime>
 values.[entry] IS IN ('<dateTime_1>', '<dateTime_2>', [...])
: Returns items that contain the entry equalling any of the specified values.[entry] IS NOT IN ('<dateTime_1>', '<dateTime_2>', [...])
: Returns items that do not contain the entry equalling any of the specified values.
Boolean Operators
[entity] IS TRUE
: Returns items that contain the entry equalling aÂtrue
value.[entity] IS FALSE
: Returns items that contain the entry equalling aÂfalse
 value.