Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Asset Information Management

Faceted Search Data API

  • Last UpdatedSep 15, 2025
  • 8 minute read

The AIM Dashboard/API allows advanced search using additional criteria and projections specified by you to query data from the AIM database. However, with data now available in faceted search, similar features, subject to certain limitations, can now be directly accessed through faceted search data API. This approach eliminates dependencies on the AIM API and offer faster search performance compared to AIM.

Queries

The following data can be queries using faceted search with criteria:

  • Facility Objects (Tags)

    • Attributes

    • Relationships (only associations using FULLID are supported; associations by classID and nested/multi-level associations are not supported)

  • Documents

    • Attributes

  • Equipment Objects

    • Attributes

    • Relationships (only associations using FULLID are supported; associations by classId and nested/multi-level associations are not supported)

The access to above information is made available using APIs, the detailed information on usage is furnished in the subsequent sections in this topic.

Criteria

Defines the primary filters to narrow down the search.

Field

Type

Description

id

string

The FULLID of the tag. Supports wildcards (e.g., "*").

classId

string

Class ID of the entity to search. Supports wildcards.

attributes

array of objects

List of attribute-based filters.

association

array of objects

List of association-based filters.

Attribute Filter Object

Field

Type

Description

id

string

Attribute identifier (only ClassID supported, e.g., "@AT01016").

operator

string

Supported: "like", "equals", "not equals", "gt", "lt", "gte", "lte", "in between", "not between".

uom

String

Unit of measure (Eg: km,mm,barg, etc) Applicable in case of properties.

value

string

Value to filter. Supports wildcards.

minValue

string

Applicable only for In Between/Not Between operators

maxValue

string

Applicable only for In Between/Not Between operators

Association Filter Object

Field

Type

Description

type

string

Association type (e.g., "has project").

id

string

Associated entity FULLID (e.g., "EIS_PSP00").

operator

string

Supported: "equals", "not equals".

Projections

Specifies the output fields to include in the search response.

Field

Type

Description

fields

array of objects

List of fields to project.

attributeId

string

Attribute ID to include (e.g., "@AT01016").

label

string

Human-readable label for the field (e.g., "Finish Date").

psize (Page Size)

Field

Type

Description

psize

string or int

Number of results per page. Max limit: 500. Example: "100"

resultsContinuationKey (Fetch Next Results After This fullId)

Field

Type

Description

resultsContinuationKey

string

A token/fullid that tells the API where to resume fetching results.

Contains the fullId of the last record from the previous response.

Example: "resultsContinuationKey": "S901|BUK|WORKORDER|MWO-0032C8002",

API Request Body Restrictions

  • Projection fields: If no projection fields are specified, all available attributes for the object will be returned.

  • ID field meaning: The id field always refers to the FullId of the object.

  • Attribute criteria IDs: When specifying attributes in the criteria, use class IDs, not attribute display names.

  • Range operators: When using in between or not between operators, both minValue and maxValue must be provided.

  • Datetime handling:

    • The like operator is not supported for datetime attributes.

    • Datetime values must be in ISO 8601 format (e.g., 2022-07-22T00:00:00Z).

  • Operator rules:

    • For properties with a UOM (Unit of Measure), operators such as gt, lt, gte, lte, in between, and not between are supported.

    • If no UOM is defined, only equals and not equals are supported.

  • Association queries: For associations, the id field must always be a FullId; wildcard or partial matches are not supported.

Wildcard search allows users to include the `*` character in their search term, matching zero or more characters. For example, `test*` will match `test` as well as any word starting with `test`.

It is not recommended to start a search term with a wildcard (e.g., `*test`) as this can negatively impact search performance.

The Faceted Search wildcard search behavior differs from AIM, which can lead to different result counts.

Wildcard Search Behavior in Faceted Search

Faceted Search uses text analysis and tokenization when indexing attribute values.
This affects how wildcard patterns (* and ?) work compared to simple string matching.

Tokenization

  • Attribute values are split into individual tokens (usually words) based on spaces, punctuation, and configured analyzers.

  • Each token is indexed separately.

  • Example:

    Attribute Value: "Pressure Transmitter"

    Tokens: ["Pressure", "Transmitter"]

Wildcard Matching

  • Wildcards are applied per token, not on the entire attribute string.

    Transmitter: Matches any token that ends with Transmitter.
    Transmitter
    PressureTransmitter (because it’s a different token unless indexed as one word)

  • Pressure Transmitter as a search term: Matches documents containing both tokens, in any order:

    • Pressure Transmitter

    • Transmitter for Pressure

    • High Pressure Transmitter

      Important: Wildcards do not span across token boundaries.
      Searching for *Pressure*Transmitter* might not match High Pressure Transmitter unless PressureTransmitter exists as a single token in the index.

Search API Request Inputs - Initial Load

Below table lists down the request body to be used for retrieving objects using faceted search data API.

Data Category

Request body for Search API

API Response

Tags

{

"criteria": {

"Id": "*",

"ClassId": "FACILITY",

"attributes": [

{

"id": "MANUFACTURER",

"operator": "like",

"value": "Sch*"

}],

"association": [

{

"type": "has project",

"id": "EIS_PSP00",

"operator": "Equals"

}]

},

"projections": {

"fields": [

{

"attributeId": "@AT01016",

"label": "Manufacturer"

},

{

"attributeId": "@AT01015",

"label": "Start Date"

}

]

},

"psize": "100"

}

{

"result": {

"data": [

{

"fullId": "P-1098-2390",

"name": "Centrifugal Pump",

"type": "Pump",

"category": "TAGS",

"projections": [

{

"Label": "Manufacturer",

"Value": "Schlumberger"

},

{

"Label": "Start Date",

"Value": "2022-07-22T00:00:00Z"

},

]

},

{

"fullId": "P-1098-2391",

"name": "Centrifugal Pump",

"type": "Pump",

"category": "TAGS",

"projections": [

{

"Label": "Start Date",

"Value": "2022-07-22T00:00:00Z"

}

]

}

],

"error": null,

"totalHits": 2,

"resultsContinuationKey":"J-9002A"

}

}

Documents

{

"criteria": {

"Id": "*",

"ClassId": " DOCUMENT CONTENT ",

"projections": {

"fields": [

{

"attributeId": "@aim_ATT_LastModified",

"label": "AIM Last Modified"

}

]

},

"psize": "100"

}

Search API Request Inputs - Delta Loads

Below table lists down the request body to be used for retrieving objects from EDW as deltas. Update the highlighted date to fetch delta from that date.

Data Category

Request body for Search API

Tags

{

"criteria": {

"Id": "*",

"ClassId": "FACILITY",

"attributes": [

{

"id": "@aim_ATT_LastModified",

"operator": "gte",

"value": "2022-07-22T00:00:00Z"

}],

"association": [

{

"type": "has project",

"id": "EIS_PSP00",

"operator": "Equals"

}]

},

"projections": {

"fields": [

{

"attributeId": "@eis_H40_parent_tag_name",

"label": "Parent Tag Name"

},

{

"attributeId": "@eis_H40_tag_status",

"label": "Tag Status"

}

]

},

"psize": "100"

}

Tags(Range Filter(In Between/Not Between)

{

"criteria": {

"Id": "*",

"ClassId": "FACILITY",

"attributes": [

{

"id": "@aim_ATT_LastModified",

"operator": "in between",

"minValue": "2022-07-22T00:00:00Z",

"maxValue": "2023-07-22T00:00:00Z",

}],

"association": [

{

"type": "has project",

"id": "EIS_PSP00",

"operator": "Equals"

}]

},

"projections": {

"fields": [

{

"attributeId": "@eis_H40_parent_tag_name",

"label": "Parent Tag Name"

},

{

"attributeId": "@eis_H40_tag_status",

"label": "Tag Status"

}

]

},

"psize": "100"

}

Search API Request Inputs – Tag-Document relationships

Data Category

Request body for Search API

Documents linked to a Tag

{

"criteria": {

"Id": "*",

"ClassId": "DOCUMENT CONTENT",

"attributes": [],

"association": [

{

"type": "refers to",

"id": "{TAG_FULL_ID}",

"operator": "Equals"

}]

},

"projections": {

"fields": [

{

"attributeId": "@AT01016",

"label": "Finish Date"

},

{

"attributeId": "@AT01015",

"label": "Start Date"

}

]

},

"psize": "100"

}

Tags linked to a Document

{

"criteria": {

"Id": "*",

"ClassId": "FACILITY",

"attributes": [],

"association": [

{

"type": "is referenced in",

"id": "{DOCUMENT_FULL_ID}",

"operator": "Equals"

}]

},

"projections": {

"fields": [

{

"attributeId": "@AT01016",

"label": "Finish Date"

},

{

"attributeId": "@AT01015",

"label": "Start Date"

}

]

},

"psize": "100"

}

API Usage

Based on the region where AIM-Advanced environment is deployed, the Faceted Search Data endpoint can be identified from the below table. Ensure that you are using the right endpoint to avoid any authorization issues.

Region

Faceted Search API Endpoint

Japan

https://api.jp.fs.aim.connect.aveva.com

Singapore

https://api.sg.fs.aim.connect.aveva.com

Ireland

https://api.ie.fs.aim.connect.aveva.com

USA

https://api.us.fs.aim.connect.aveva.com

Canada

https://api.ca.fs.aim.connect.aveva.com

Australia

https://api.au.fs.aim.connect.aveva.com

India

https://api.in.fs.aim.connect.aveva.com

Call POST API (/query) and pass bearer token for authorization to invoke the faceted search data API.

https://{facetedsearchapiendpoint} /query

To invoke the API, you will need to pass the Tenant header for AIM-Advanced. Set the Tenant header as displayed in the screenshot.:

How to identify the Tenant header:

The Tenant value is derived from the AIM-A dashboard URL.

  1. If the AIM-A dashboard URL has a portalId parameter, the Tenant value is {stage}_{portalId}. Example: If the AIM-A URL is https://abc.dashboard.imav.connect.aveva.com/?portalId=e8c57158-7955-499b-a3ce-f1cd0af7ab32#/, the Tenant header is abc_e8c57158-7955-499b-a3ce-f1cd0af7ab32

  2. If the AIM-A dashboard URL doesn't have a portalId parameter, the Tenant value is {stage}. Example: If the AIM-A URL is https://abc.dashboard.dev-av.capdev-connect.aveva.com, the Tenant header is abc.

If you still run into authorization issues after providing the correct values, you can raise a support ticket with AVEVA providing the following details:

  • AIM-A URL

  • CONNECT Account name

  • CONNECT Folder name

Specify the criteria in the POST API request body to use the new faceted search endpoint (/query) as illustrated in the following screenshots:

Pagination Using resultsContinuationKey

  • Use the totalHits field to see how many results are available in total.

  • To retrieve results in sequence, start by omitting the resultsContinuationKey in your first request. The API returns the first set of matching records along with a continuationKey in the response.

  • For the next request, include this token to fetch the subsequent set of results. The token acts as a position marker (for example, the last fullID returned), allowing the API to continue from where the previous request ended. Pass this token in your next request to retrieve the next page.

User guidance and limitations

Review the following limitations and important notes before using the Faceted Search Data API. These constraints are designed to ensure reliable performance and accurate results. Adhering to the specified formats and supported features will help avoid errors and maximize the effectiveness of your queries.

  • Maximum API rate limit: 1,000 requests per minute per asset

  • Maximum result size: 500 results per page per request to ensure optimal API performance.

  • Wildcard performance: Using wildcard queries can slow down search performance and should be used judiciously.

  • No nested associations: Filtering on nested associations is not supported.

  • Datagroup handling: Datagroups are not directly supported, but equivalent filtering can be achieved through appropriate query criteria.

  • Attribute Criteria limit: You can define up to 10 attributes as part of criteria per request.

  • Association Criteria limit: You can define up to 5 associations as part of criteria per request.

  • You may refer to the class library (data model) for the asset to obtain the appropriate ClassIDs, AttributeIDs, and AssociationTypes.

In This Topic
TitleResults for “How to create a CRG?”Also Available in