Search and Search Result Export#

For an API call that carries out a search, a POST payload in JSON format is added.

Task

Call

URL

Parameters

Payload

Search

POST

/api/tool/Search/

format=json

hierarchy=[hierarchy]

{“query”:”[query]”}

The value of [query] follows Search syntax, for example:

{"query":"data/Countries with country_name contains King"}

While the default search direction is down, a second parameter can be added to [query] to indicate the hierarchy direction to search. These are enabled by adding a value true:

  • hierarchy_paths - up the hierarchy

  • hierarchy_shallow - at the local hierarchy

  • hierarchy_all - up and down the hierarchy

For example, if the user making the API call is at sys.hcs, then a call payload like:

{"query":"relation/Bundle with name is 'HcsBase' ", "hierarchy_paths":true}

will also search up the hierarchy path.

The parameter filter_hierarchy can also be used to filter the hierarchy of search results. Specifying a hierarchy to which the user has no access will return a Permission Denied error.

Note

  • If for both hierarchy=sys.hcs and filter_hierarchy=sys.hcs.CSP for example are used, then filter_hierarchy=sys.hcs.CSP takes precedence.

  • If for neither hierarchy=sys.hcs nor filter_hierarchy=sys.hcs.CSP for example are used, then the user’s hierarchy is applied.

The Request payload can also be a GET parameter, for example:

Task

Call

URL

Parameters

Response

Search

GET

/api/tool/Search/

format=json

hierarchy=[hierarchy]

filter_hierarchy=[hierarchy]

query=[url_query]

JSON format of the search result.

The value of [url_query] is URL encoded string, for example:

data/Countries%20with%20country_name%20contains%20King

Furthermore, the meta property of the schema in the response to /api/tool/Search/ contains action details for the export of search results. This includes the URL for the data export POST request:

/api/export/export_data/?url=/api/tool/Search/

as well as the URL:

/api/view/ExportData/add

which has a schema that lists the data export data type choices that will be used as a parameter to the POST call.