Search
The search module makes a request (or several) and returns multiple results. It doesn’t have state nor any internal complex logic.
Use this module when you need to allow the user to search for items or simply return multiple items.
Components
Communication
For additional information, see our communication documentation.
Pagination
If API supports pagination, you can implement it by using the pagination directive.
Static Parameters
You can use static parameters inside the search module without any restrictions.
Mappable Parameters
You can use mappable parameters inside the search module without any restrictions.
Interface
Unlike the action module, the search module can return multiple bundles at once.
Samples
To help the users with setting up your module, provide samples.
Scope
When using an OAuth type of connection, use the scope to define scopes required by this module.
Available IML variables
These IML variables are available for you to use everywhere in this module:
now
Current date and time
environment
TBD
temp
Contains custom variables created via the temp directive.
parameters
Contains the module’s input parameters.
connection
Contains the connection’s data collection.
common
Contains the app’s common data collection.
data
Contains the module’s data collection.
scenario
TBD
metadata.expect
Contains the module’s raw parameters array in the way you have specified it in the configuration.
metadata.interface
Contains module’s raw interface array in the way you have specified it in the configuration.
Additional variables available for the response object:
output
When using the wrapper directive, the output variable represents the result of the outputdirective.
limit
When using a limit, the process of retrieving items will stop once the requested number of items has been obtained or if a page doesn't contain any items. Additionally, the module will return only the exact number of items that was specified.
iterate
Iterates the array in the response into items.
Additional variables available after using the iterate directive, i.e. in wrapper or pagination directives:
iterate.container.first
Represents the first item of the array you iterated.
iterate.container.last
Represents the last item of the array you iterated.
Additional variables available for pagination and response objects:
body
Contains the body that was retrieved from the last request.
headers
Contains the response headers that were retrieved from the last request.
items
When iterating this variable represents the current item that is being iterated.
Example

{
"url": "/api/users",
"qs": {
"search": "{{parameters.search}}"
},
"method": "GET",
"response": {
"output": "{{item}}",
"iterate": "{{body.users}}",
"limit": "{{parameters.limit}}"
}
}[][
{
"name": "search",
"type": "text",
"label": "Search",
"required": true
},
{
"name": "limit",
"type": "uinteger",
"label": "Limit",
"help": "Maximum number of results to return and work with during one execution cycle.",
"default": 10
}
][
{
"name": "id",
"type": "uinteger",
"label": "User ID"
},
{
"name": "email",
"type": "email",
"label": "Email address"
},
{
"name": "name",
"type": "text",
"label": "Name"
},
{
"name": "created",
"type": "date",
"label": "Date created"
}
]{
"id": 1,
"email": "[email protected]",
"name": "John Doe",
"created": "2018-01-01T12:00:00.000Z"
}Last updated

