Using Search

Engagement narratives can be searched and filtered by Round, Institution or Unit of Assessment. The searching mechanism is based on Full-text queries that perform linguistic searches against Engagement Narratives data stored at ARC. Full-text queries can include simple words and phrases or multiple forms of a word or phrase. A full-text query returns any results that contain at least one match. The following filters can be used to filter the search results. Choose from the options in the select list and press the add (+) button to filter the results.

  • Round - filter the result by Round.
  • Institution - typeahead search by Name or Short Name and select one or more institutions to filter the result.
  • Assessment Unit - typeahead search by Name or Code and select one or more Assessment Units to filter the result.

To undertake a search, enter your search term in the search field. You can enter multiple search terms in this field, for example, you could enter an institution name, a keyword or an assessment unit (shortened versions are acceptable, i.e. ANU for Australian National University). Please note, the search will return results that contain all of the words you have entered (i.e. using the 'AND' connector).

Note: Search will attempt fuzzy matching of the search terms. E.g. singular/plural/uppercase/lowercase/related words (stemming). All searches ignore upper/lowercase.

The following are some examples and instructions on refining your free-text search.

Query Description
Quantum Computing
Returns entries that have occurrences of words like 'Quantum' AND 'Computing'
+Nuclear or "Nuclear"
Putting '+' before the search term or enclose the term in double quotes will search for an exact match. Returns entries that contain exactly the term Nuclear, no plurals or other fuzzy matches.
"Quantum Computing"
Putting a phrase inside quotes will return entries that contain exact occurrences of phrase like 'Quantum Computing'.
"Quantum Computing" +USA
Returns entries that have exact occurrences of phrases like 'Quantum Computing' AND exact match of the word 'USA'.
Physics -Nuclear
Putting '-' in front of a word, excludes it from your search. This will return records that contain Physics but not Nuclear.
Note: it is not valid to have '-' as the first element in a search
Australia -"New Zealand"
Returns entries that have occurrences of word like Australia AND NOT 'New Zealand'.
Nuclear OR Physics
Returns entries that have at least one of Nuclear or Physics.
<health significant challenge>
Returns search entries with the three terms health, significant and challenge in close proximity. Proximity search looks for entries where the search terms are near to each other in the result text.
Trailing wildcard (*) - putting a '*' at the end of a search term searches for words that start with the search term fragment. This example will return entries containing crystal or crystallography or crystalline or crystallisation, etc.
(health child OR (military -profile) 
OR <mother daughter>)
Brackets '(' and ')' can be used in combination with 'AND', 'OR' and other search features to search for complex conditions. This example returns entries that have terms Like 'health' AND Like 'child' OR Like 'military' AND NOT Like 'profile' OR (mother proximity to daughter)
Note: unmatched brackets will cause phrase search fall back.
climate a the then
Common letters/words such as 'a', 'the', 'then', 'it', 'as', 'of', numbers, punctuations are excluded from search terms. In this example, the search will return entries that match the term climate (equivalent to search term climate)
Note: any searches with special characters, punctuation or letters other than English will need to be enclosed in double quotes, otherwise the search may not work as expected and may return no results.

For advanced searches, free-text query can also be combined with expression filters. The expression filter begins with the '=>' key. Expression filters can be combined with operators 'AND' and 'OR'. Parentheses '(...)' can also be used to enclose sub queries to form a more complex query.

Syntax: <search text> => <filter queries>
The following are the supported expression filters with examples...
Expression Filter Description
Filters results by round.
=> ei-round="Engagement and Impact 2018"
Gets results having word like Australia filtered by Round.
Australia => ei-round="Engagement and Impact 2018" 
Filters results by institution full name.
=> institution-name="victoria university"
Filters results by institution short name.
=> institution-short-name="VIC"
Filters results by Assessment Unit.
=> assessment-unit="02"

Calling The API

The DataPortal API for Engagement follows the JSON API Specification (v1.0). The API supports Pagination, Filters and error handling as per the specification. Sparse Fieldsets and Sorting are not supported at this stage.

The Engagement API data is provided in a paginated format. Clients can access this API by specifying a Page Size of up to a maximum of 100 records. The following is an example the URL format :[size]=20&page[number]=1&filter=[SEARCH TEXT]=>ei-round="[EI ROUND]" AND institution-short-name="[INSTITUTION SHORT NAME]" AND (assessment-unit="[ASSESSMENT UNIT]" OR assessment-unit="[ASSESSMENT UNIT]")


  • SEARCH TEXT - free text word or phrase to search on. Optional filters can be added to SEARCH TEXT using the separator '=>'
  • EI ROUND - results are filtered by engagement and impact round
  • INSTITUTION SHORT NAME - results are filtered by institution short name
  • ASSESSMENT UNIT - results are filtered by assessment unit code. Note: the 'OR' operator to filter by multiple FoR codes.

The API URL components must be encoded before calling the API. The following is an example of an encoded URL.

The following is a snippet of a paginated JSON API result that has one engagement result per page.

        "meta": {
            "requested-page-number": 1,
            "requested-page-size": 1,
            "actual-page-size": 1,
            "total-pages": 192,
            "total-size": 192,
            "search-description": null
        "links": {
            "self": "",
            "first": "",
            "last": "",
            "prev": "",
            "next": ""
        "data": [
                "type": "engagement-metadata",
                "id": "1",
                "attributes": {
                    "ei-round": "Engagement and Impact 2018",
                    "institution": "The University of Western Australia",
                    "assessment-unit": {
                        "code": "08",
                        "name": "Information and Computing Sciences"
                    "unit-of-assessment": "UWA08 (ST)",                    
                    "narrative": "Sample engagement narrative..."
            "links": {
                "self": ""           

In the snippet above, the meta attribute has the information related to page size, page number, total results and search description. The search description is in Abstract Syntax Tree (AST) format. The links attribute has navigation links to other pages and the data attribute has the collection of engagement data. Detailed data of the engagement narrative can be further accessed by following the self link within each engagement result.

Clients can fetch a maximum of 100 results per page and then keep navigating the results of subsequent pages by following the navigation links. They can also get the desired results using filters and search text as described in the Using Search section. The API also supports Free-Text search operations like AND, OR, NOT. Words like ‘as’, ‘the’, ‘if’, ‘of’, etc may be ignored for a more predictable result, however phrases within a double quote will return exact matches.


No relevant data in the response

    "links": {...}
    "data": []


For a specified search, there is no data.

A 'Failed/Unexpected/Unauthorized' response

    "links": {
        "self": ""
    "errors": [
        "id": "500InternalServerError",
        "status": "InternalServerError",
        "code": "500",
        "title": "SqlException",
        "detail": "The number of rows provided for a FETCH clause must be greater then zero."

    "links": {
        "self": ""
    "errors": [
            "id": "401Unauthorized",
            "status": "Unauthorized",
            "code": "401",
            "title": "UnauthorizedAccessException",
            "detail": "..."

A failed/unexpected/unauthorised response will occur when :

  • The URL has invalid attribute values
  • The client issues a bad request
  • The client is trying to access unauthorized URL or data.
  • The client is blocked by ARC