Background
Platform REST Services support the execution of verbose search requests through a searchinfo request parameter that takes in details in a XML format. For instance, to get assets based on a date attribute [for example Due date] along with comparison operators usage like IS_AFTER/IS_BEFORE/…, execute the following GET request-
{{PROTOCOL}}://{{MACHINE_NAME}}:{{PORT}}/rest/service/search?searchinfo=
<searchInfo>
<queryConditionList>
<queryCondition nestingLevel="1" logicalOperator="AND" comparisonOperator="IS_AFTER" type="DATE_ATTR_CONDITION" negated="false">
<searchAttribute id="41"/>
<searchValue>2017-06-08</searchValue>
</queryCondition>
<queryCondition nestingLevel="2" logicalOperator="AND" comparisonOperator="IS_BEFORE" type="DATE_ATTR_CONDITION" negated="false">
<searchAttribute>Due date</searchAttribute>
<searchValue>2017-06-14</searchValue>
</queryCondition>
</queryConditionList>
<queryDisplay displayMode="PLAIN" exploreMode="PLAIN">
<displayColumnList>
<displayColumn columnId="2" width="175" attributeColumn="true">Name</displayColumn>
<displayColumn width="150" attributeColumn="true">Routed to</displayColumn>
<displayColumn width="150" attributeColumn="true">Created</displayColumn>
<displayColumn columnId="4" width="150" attributeColumn="true">Last modified</displayColumn>
<displayColumn columnId="6" width="150" attributeColumn="true">Last modifier</displayColumn>
<displayColumn columnId="55" width="150" attributeColumn="true">Collection</displayColumn>
</displayColumnList>
<sortInfoList>
<sortInfo columnId="2" order="ascending" attributeColumn="true">Name</sortInfo>
</sortInfoList>
</queryDisplay>
</searchInfo>
The execution of above REST request will return all the Platform assets with Due date after 2017-06-08 but before 2017-06-14.
In general, the <searchInfo/> XML needs to be constructed in such a manner, where
- query conditions are declared in <queryConditionList/>
- attribute to be searched is declared in <searchAttribute/>
- define comparison operators like after/before/.. in comparisonOperator attribute
- define asset metadata that is to be retrieved (for each asset) in <displayColumnList>
- define <sortInfoList> for sorting the asset results
- It is optional to mention either the attribute id or name in the <searchAttribute>,<displayColumn> and <sortInfo> nodes.