IBM Business Process Manager, Version 8.5.5

REST interface for BPD-related resources - Search Resource - PUT (perform custom search) Method

Use this method to perform a custom search.

Sample method invocation

PUT /rest/bpm/wle/v1/search/query[?columns={string}][&condition={string}][&sort={string}][&secondSort={string}][&organization={string}][&size={integer}][&offset={integer}][&saveAsName={string}][&run={String}][&shared={boolean}][&filterByCurrentUser={String}]

Alternative Method Invocation

POST /rest/bpm/wle/v1/search/query[?columns={string}][&condition={string}][&sort={string}][&secondSort={string}][&organization={string}][&size={integer}][&offset={integer}][&saveAsName={string}][&run={String}][&shared={boolean}][&filterByCurrentUser={String}]

Usage Notes

Parameters

Optional parameters
NameValue TypeDescription
columns string
A comma-separated list of column names that should be returned by the search. The names of valid columns can be retrieved with the v1/search/meta/column and v1/search/meta/businessData APIs.
condition string
A simple conditional expression to be used with the query. An expression of the form <field>|<value> means "if <field> equals <value>". An expression of the form <field>|<operation>|<value> means "if <field> <operation> <value>".

For example, A|1 means "if A equals 1", and B|GreaterThan|2 means "if B is greater than 2". This parameter can be specified multiple times within the query string in order to specify not which are logically "ANDed" together. The valid operations are: "Equals", "NotEquals", "Contains", "StartsWith", "LessThan", and "GreaterThan". Note that the list of valid column names that can be used within a conditional expression can be retrieved with the v1/search/meta/constraintColumn API.

sort string
The name of the column on which to base the primary sort of the search results.
secondSort string
The name of the column on which to base the secondary sort of the search results.
organization string
A string indicating how the results should be organized. Valid values are: 'byTask' and 'byInstance'. The default value is 'byInstance'.
size integer
Specifies the maximum number of entities to be returned. If not specified or zero, then the default size specified in the configuration will be used.
offset integer
Specifies the index (origin 0) of the first entity to be returned from the query result set. Offset 0 refers to the first entity from the result set. Offset 1 would refer to the second entity, and so on. If this parameter is not specified, the default value of 0 is used.
saveAsName string
The name under which the custom search should be saved for the current user. If not specified, then the custom search is not saved.
run String
A flag which indicates whether or not this search query should be performed. If not specified, the default value of true is used. Use this parameter along with the saveAsName parameter to save the query but not execute it
shared boolean
A flag which indicates whether or not this saved search should be shared with other users. If specified as true, the saved search is shared with all users. If specified as false (the default), the saved search is not shared with other users.
filterByCurrentUser String

Note: This parameter is used only when the request is being executed by an administrative user, otherwise it is ignored.

This parameter is a flag which indicates whether or not the search results should be restricted to those entities associated with the current user. A value of false means that an unfiltered search will be performed, whereas a value of true indicates that the search results will be filtered by the current user. The default (i.e. if this parameter is not set) is to perform an unfiltered search.

Request content

None

Response content

Search results (SearchDetails complexType).

The default content type is application/json.

MIME type: application/json


+ View schema
{  "description": "WLE Search Details", 
   "type": "object",
   "properties":
   { 
      "data": {"type": "[object]",
         "description": "This field contains a list of zero or more Map objects.  Each Map object represents a single row in the search result data and contains a key/value pair for each column of data within the row."
      },
      "firstColumnSort": {"type": "string",
         "description": "The primary sort column."
      },
      "secondColumnSort": {"type": "string",
         "description": "The secondary sort column."
      },
      "organization": {"type": "string",
         "description": "A string which indicates how the search results are organized: 'byTask', 'byInstance'."
      },
      "autoColumns": {"type": "[string]",
         "description": "A list of zero or more names of columns that were automatically added to the search results."
      },
      "offset": {"type": "integer",
         "description": "The offset value that was specified on the original request. This value represents the index (within the overall query result set) of the first item being returned"
      },
      "size": {"type": "integer",
         "description": "The number of items being returned. System configuration default will be used if size is not specified or set to zero."
      },
      "requestedSize": {"type": "integer",
         "description": "The number of items requested in the original request"
      },
      "totalCount": {"type": "integer",
         "description": "Total number of results.  This value will be the same as offset if number of result is less or equal to the offset value."
      }
   }
}
+ View example content
{
   "status":"200",
   "data":{
      "data":[
         {
            "taskId":53,
            "instanceName":"Employee Requisition for (53)",
            "instanceId":53,
            "bpdName":"HR Open New Position",
            "taskAttachedInfoPathFormRef":null,
            "taskStatus":"Closed",
            "instanceStatus":"Completed",
            "taskAttachedExtActivityRef":null,
            "taskAssignedTo":{
               "type":"User",
               "who":"tw_user"
            }
         },
         {
            "taskId":54,
            "instanceName":"Employee Requisition for (54)",
            "instanceId":54,
            "bpdName":"HR Open New Position",
            "taskAttachedInfoPathFormRef":null,
            "taskStatus":"Received",
            "instanceStatus":"Active",
            "taskAttachedExtActivityRef":null,
            "taskAssignedTo":{
               "type":"User",
               "who":"tw_user"
            }
         }
      ],
      "firstColumnSort":"instanceId",
      "organization":"byInstance",
      "autoColumns":[
         "taskAssignedTo",
         "taskAttachedExtActivityRef",
         "taskAttachedInfoPathFormRef",
         "taskId",
         "taskStatus"
      ]
   }
}

MIME type: application/xml


+ View schema
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://rest.bpm.ibm.com/v1/data/search"
	elementFormDefault="unqualified" xmlns="http://www.w3.org/2001/XMLSchema" 
	xmlns:tns="http://rest.bpm.ibm.com/v1/data/search"
	xmlns:common="http://rest.bpm.ibm.com/v1/data/common" 
	xmlns:pref="http://rest.bpm.ibm.com/v1/data/root">
    
    <import schemaLocation="Common.xsd" namespace="http://rest.bpm.ibm.com/v1/data/common"/>
    <import schemaLocation="BPMRestData.xsd" namespace="http://rest.bpm.ibm.com/v1/data/root"/>

    <!--
	This type is used to return metadata related to searches.
    -->
    <complexType name="SearchMetaResult">
	<complexContent>
	    <extension base="pref:Data">
		<sequence>

		    <!-- 
			 A list of strings that represent the requested metadata.
			 This could be a list of all possible task status values,
			 a list of all possible priority values, etc.
			 The data returned in this structure will depend on the
			 type of metadata requested.
		    -->
		    <element name="result" type="string" minOccurs="0" maxOccurs="unbounded"/>
		  
		</sequence>
	    </extension>
	</complexContent>
    </complexType>
    
    <!--
	This type is used to return metadata related to a search,
	when the requested type of metadata is specified as "savedSearch".
    -->
    <complexType name="SearchMetaTypedResult">
	<complexContent>
	    <extension base="pref:Data">
		<sequence>

		    <!-- 
			 This field represents a list of zero or more saved searches.
		    -->
		    <element name="result" type="tns:TypedString" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	    </extension>
	</complexContent>
    </complexType>

    <!--
	This type models an element of type string which also contains
	a string attribute named "type".
	This type is used to represent a saved search, where the 
	element value contains the name of the saved search,
	and the "type" attribute indicates whether the saved search
	is for tasks or processes.
    -->
    <complexType name="TypedString">
	<simpleContent>
	    <extension base="string">
		<attribute name="type" type="string" />
	    </extension>
	</simpleContent>
    </complexType>

    <!-- 
	This type contains the results of performing a search. 
    --> 
    <complexType name="SearchDetails">
	<complexContent>
	    <extension base="pref:Data">
		<sequence>

			<!-- 
				This field contains a list of zero or more Map objects.
				Each Map object represents a single row in the search result data,
				and contains a key/value pair for each column of data within the row.
			-->
			<element name="data" type="common:Map" minOccurs="0"
				maxOccurs="unbounded" />

			<!-- The name of the primary sort column -->
			<element name="firstColumnSort" type="string" />

			<!-- The name of the secondary sort column -->
			<element name="secondColumnSort" type="string" />

			<!-- 
				A string which indicates how the search results are organized.
				This will be set to "byTask" or "byInstance".
			-->
			<element name="organization" type="string" />

			<!-- A list of columns that were added automatically to the query -->
			<element name="autoColumns" type="string" minOccurs="0"
				maxOccurs="unbounded" />
				
			<!-- Begin index of returned results -->
			<element name="offset" type="int" />
			
			<!-- Number of results returned -->
            <element name="size" type="int" />
            
            <!-- Number of results requested -->
            <element name="requestedSize" type="int" />
            
            <!-- Number of results available -->
            <element name="totalCount" type="int" />
		</sequence>
	    </extension>
	</complexContent>
    </complexType>
    
    
    <!-- 
	This type represents the result from executing a performance query
    --> 
    <complexType name="PerformanceSearchDetails">
	<complexContent>
	    <extension base="pref:Data">
		<sequence>

		    <!-- 
			 This field contains a list of zero or more Map objects.
			 Each Map object represents a single row in the search result data,
			 and contains a key/value pair for each column of data within the row.
		    -->
		    <element name="data" type="common:Map" minOccurs="0" maxOccurs="unbounded"/>

		    <!-- The summarized (rolled up) result -->
		    <element name="rollupResult" type="string" minOccurs="0"/>

		    <!-- The primary sort column -->
		    <element name="firstColumnSort" type="string"/>

		    <!-- The secondary sort column -->
		    <element name="secondColumnSort" type="string"/>

		    <!-- The names of columns that were automatically added to the query results -->
		    <element name="autoColumns" type="string" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	    </extension>
	</complexContent>
    </complexType>

    <!-- 
	This type represents the result from performing a performance instance query.
    -->
    <complexType name="PerformanceInstanceDetails">
	<complexContent>
	    <extension base="pref:Data">
		<sequence>

		    <!-- A list of tracked business data values that have changed -->
		    <element name="data" type="tns:TrackedBusinessData" minOccurs="0" maxOccurs="unbounded"/>

		    <!-- A list of tracked progress data -->
		    <element name="progress" type="tns:TrackedProgress" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	    </extension>
	</complexContent>
    </complexType>


    <!-- 
	 This type represents a tracked business data element that has changed.
    -->
    <complexType name="TrackedBusinessData">
	<sequence>

	    <!-- The timestamp when the field's value changed -->
	    <element name="when" type="dateTime"/>

	    <!-- The ID of the step in which the field's value changed -->
	    <element name="stepID" type="string"/>

	    <!-- The name of the step in which the field's value changed -->
	    <element name="stepName" type="string"/>

	    <!-- The name of the tracked field whose value changed -->
	    <element name="field" type="string"/>

	    <!-- The new value of the field -->
	    <element name="value" type="anyType"/>
	</sequence>
    </complexType>
    
    <!-- 
	This type represents tracked progress information for a step within a process instance
    -->
    <complexType name="TrackedProgress">
	<sequence>

	    <!-- The ID of the step -->
	    <element name="stepID" type="string"/>

	    <!-- The name of the step -->
	    <element name="stepName" type="string"/>

	    <!-- The timestamp when the step was reached -->
	    <element name="arrived" type="dateTime"/>

	    <!-- The timestamp when the step was started (if it was a task) -->
	    <element name="started" type="dateTime" minOccurs="0"/>

	    <!-- The user name of the user that started the task (if it was a task) -->
	    <element name="startedWho" type="string" minOccurs="0"/>

	    <!-- The timestamp when the step was finished (if it was finished) -->
	    <element name="finished" type="dateTime" minOccurs="0"/>
	</sequence>
    </complexType>

</schema>
+ View example content
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bpm:ResponseData xmlns:bpm='http://rest.bpm.ibm.com/v1/data'>
  <status>200</status>
  <data xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:type='srch:SearchDetails' xmlns:srch='http://rest.bpm.ibm.com/v1/data/search'>
    <data>
      <item key='taskAssignedTo'>
        <value xsi:type='cmn:TaskAssignedTo' xmlns:cmn='http://rest.bpm.ibm.com/v1/data/common'>
          <type>User</type>
          <who>tw_user</who>
        </value>
      </item>
      <item key='bpdName'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>HR Open New Position</value>
      </item>
      <item key='instanceId'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:decimal'>53</value>
      </item>
      <item key='instanceName'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>Employee Requisition for (53)</value>
      </item>
      <item key='instanceStatus'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>Completed</value>
      </item>
      <item key='taskAttachedExtActivityRef' />
      <item key='taskAttachedInfoPathFormRef' />
      <item key='taskId'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:decimal'>53</value>
      </item>
      <item key='taskStatus'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>Closed</value>
      </item>
    </data>
    <data>
      <item key='taskAssignedTo'>
        <value xsi:type='cmn:TaskAssignedTo' xmlns:cmn='http://rest.bpm.ibm.com/v1/data/common'>
          <type>User</type>
          <who>tw_user</who>
        </value>
      </item>
      <item key='bpdName'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>HR Open New Position</value>
      </item>
      <item key='instanceId'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:decimal'>54</value>
      </item>
      <item key='instanceName'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>Employee Requisition for (54)</value>
      </item>
      <item key='instanceStatus'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>Active</value>
      </item>
      <item key='taskAttachedExtActivityRef' />
      <item key='taskAttachedInfoPathFormRef' />
      <item key='taskId'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:decimal'>54</value>
      </item>
      <item key='taskStatus'>
        <value xmlns:ns5='http://www.w3.org/2001/XMLSchema' xsi:type='ns5:string'>Received</value>
      </item>
    </data>
    <firstColumnSort>instanceId</firstColumnSort>
    <organization>byInstance</organization>
    <autoColumns>taskAssignedTo</autoColumns>
    <autoColumns>taskAttachedExtActivityRef</autoColumns>
    <autoColumns>taskAttachedInfoPathFormRef</autoColumns>
    <autoColumns>taskId</autoColumns>
    <autoColumns>taskStatus</autoColumns>
  </data>
</bpm:ResponseData>

MIME type: application/x-javascript

Error Response content

Detailed error information.

The default content type is application/json.

MIME type: application/json


+ View schema
{  "description": "WLE Error Response", 
   "type": "object",
   "properties":
   {  "status": {"type": "string",
         "description": "The status of the previous API call."
      },
      "exceptionType": {"type": "string",
         "description": "The classname associated with the exception."
      },
      "errorNumber": {"type": "string",
         "description": "Message ID of the exception."
      },
      "errorMessage": {"type": "string",
         "description": "Message text of the exception."
      },
      "errorMessageParameters": {"type": ["string"], "optional": true,
         "description":"Message text parameters of the exception."
      },
      "programmersDetails": {"type": "object", "optional": true,
         "description":"Additional exception details, for example, a stack trace."
      }
   }
} 

MIME type: application/xml


+ View schema
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://rest.bpm.ibm.com/v1/data/exception"
	elementFormDefault="unqualified" xmlns="http://www.w3.org/2001/XMLSchema"
	xmlns:tns="http://rest.bpm.ibm.com/v1/data/exception"
	xmlns:dat="http://rest.bpm.ibm.com/v1/data/root">

    <import schemaLocation="BPMRestData.xsd" namespace="http://rest.bpm.ibm.com/v1/data/root" />
    
    <!--
	This type represents an error response.
    -->    
    <element name="RestRuntimeException">
	<complexType>
	    <sequence>
		<element name="status" type="string"/>
		<element name="Data" type="tns:ExceptionData">
    		</element>
	    </sequence>
	</complexType>
    </element>

    <!-- 
	 This type contains detailed error information associated with an exception.
    -->
    <complexType name="ExceptionData">
	<sequence>
	    <element name="status" type="string"/>

	    <!-- This specifies the java class name of the exception -->
	    <element name="exceptionType" type="string"/>

	    <!-- The message ID of the error message -->
	    <element name="errorNumber" type="string" minOccurs="0"/>

	    <!-- The complete error message -->
	    <element name="errorMessage" type="string"/>

	    <!-- The list of strings inserted into the error message -->
	    <element name="errorMessageParameters" type="string" minOccurs="0" maxOccurs="unbounded"/>

	    <!-- 
		 The stacktrace associated with the exception.
		 Note that this will be omitted unless the "server-stacktrace-enabled" property
		 is enabled in the server's 100Custom.xml file.
	    -->     
	    <element name="programmersDetails" type="string"></element>
	    
	    <!-- Prior responses.  Set if a bulk command was used -->
	    <element name="responses" type="dat:BulkCommandResponses" minOccurs="0"></element>
	</sequence>
    </complexType>
</schema>

MIME type: application/x-javascript

Status codes

The method returns one of the following status codes:
CodeDescription
200 OKSuccess completion.
400 Bad RequestThe parameters are not valid or they are missing.
401 UnauthorizedThe caller is not authorized for this request.
406 Not AcceptableThe requested content type or content encoding is not supported.
500 Internal Server ErrorA severe problem has occurred, programmer's details are provided.

Available since

7.5.0

Parent Topic: Search Resource