Supported entity filters
- Last UpdatedSep 14, 2026
- 4 minute read
You can use queries to find entities that match certain criteria. Queries behave differently depending on whether you are using the /entities endpoint or the /resolvedEntities endpoint. For most use cases, /resolvedEntities is more likely to match your expectations.
Property filter
You can query for entities based on properties such as id, name, or items in any of the properties collections using a Property filter. The syntax and supported operators for Property filters depend on the typeCode for the property. Some reserved properties (such as id) have a limited set of supported operators.
|
Property/Type Code |
Supported Operators |
Syntax |
Notes |
|---|---|---|---|
|
id |
eq |
id eq '<value>' |
Wrap the query value in single quotes. |
|
String |
eq, startsWith, endsWith |
<propertyId> <operator> '<value>' |
Wrap the query value in single quotes. |
|
Boolean |
eq |
<propertyId> eq <value> |
Value can be true or false (without single quotes). |
|
DateTime |
eq, le, lt, ge, gt |
<propertyId> <operator> <value> |
|
|
TimeSpan |
eq, le, lt, ge, gt |
<propertyId> <operator> <value> |
Value in HH:MM:SS format. |
|
Numeric |
eq, le, lt, ge, gt |
<propertyId> <operator> <value> [uom:<uomId>] |
|
|
Int32Enum |
eq |
<propertyId> <eq> '<value>' enumerationSetId:<enumSetId> |
|
To use single quotes or backslashes within a string value, they must be escaped with a backslash "\".
If a property has a unit of measure, then a compatible unit of measure must be provided in the query condition. If no unit of measure is provided, then "None" is assumed and the result set may not match expectations. Similarly, if a property is defined by an enumeration set, then the ID of the enumeration set must be provided.
Component-scoped property filters
You can narrow your query so that it matches only on properties that exist within the Properties collection of a specific component. The syntax for a component-scoped query is:
<typeId>/<propertyId> <operator> <value>
where <typeId> is the id of the type in Type Management.
Property filter operators
|
Operator |
Description |
|---|---|
|
eq |
Equals |
|
gt |
Greater than |
|
ge |
Greater than or equal to |
|
lt |
Less than |
|
le |
Less than or equal to |
|
startsWith |
Starts with |
|
endsWith |
Ends with |
The in operator
in is a special operator whose behavior depends on the typeCode for the property.
|
Type |
Description |
|---|---|
|
Array types |
For properties whose value is an array, in behaves like eq for the entire array. |
|
Scalar types |
For properties whose value is not an array, in matches properties whose value is included in the list. |
Relationship filters
You can query for entities based on their relationship targets using a Relationship filter. The syntax depends on the scope of the filter:
|
Scope |
Syntax |
|---|---|
|
any entity that points to the target |
[*]->['<targetId>'] |
|
entities with a specific relationshipId that point to the target |
[<relationshipId>]->['<targetId>'] |
|
entities with a specific component and relationshipId that point to the target |
[typeId/relationshipId]->['<targetId>'] |
Specifying multiple targets
You can specify more than one target in a relationship query by including additional <targetId> values, separated by a comma. Wrap each <targetId> in single quotes. This works for Relationship filters of any scope.
Example:
[*]->['<targetId1>', '<targetId2>', ...]
Discovery filters
You can query for entities that have a component based on a given type, or based on a type that inherits from a given type, using a Discovery filter. The syntax for a Discovery filter is:
typeid <operator> '<value>'
or
componentTypeId <operator> '<value>'
where <value> is the id of the type in Type Management.
Discovery filter operators
|
Operator |
Description |
|---|---|
|
eq |
Equals |
|
eqOrInheritsFrom |
Equals or inherits from |
Data Source filters
You can query for entities with a given Data Source using a Data Source filter. The syntax for a Data Source filter is similar to the syntax for a Relationship filter, where the <relationshipId> is datasources and the <targetId> is the Data Source value. Data Source filters do not support narrowing by component.
Example:
[datasources]->['<value1>', '<value2>', ....]
Contains filters
You can query for entities based on the full text of their id, name, description, or aliases using a Contains filter.
contains '<value>'
Contains filters can be combined with an optional Property filter for classid or classname. They cannot be combined with other filters.
Combining filters
Multiple filters can be combined using the "and" keyword. "Or" is not supported.
Examples
|
Filter Type |
Description |
Example |
|---|---|---|
|
Property filter |
Entities with a property "Flow Rate" using uom "Liter per second" |
GET v2/resolvedentities?query=flow rate gt uom:liter per second |
|
Property filter |
Entities with a property "Flow Rate" using uom "Liter per second" (using UOM abbrev) |
GET v2/resolvedentities?query=flow rate gt 25 uom:L/s |
|
Property filter |
Entities with a property "Flow Rate" using uom "Liter per second" (with implicit UOM conversion) |
GET v2/resolvedentities?query=flow rate gt 250 uom:US gal/min |
|
Property filter |
Entities with an enum property "color" based on an enumeration set "PrimaryColors" |
GET v2/resolvedentities?query=color eq 'red' enumerationSetId:PrimaryColors |
|
Property filter |
Entities with a string property "Manufacturer" set to either "Honeywell" OR "GE" |
GET v2/resolvedentities?query=Manufacturer in ['honeywell', 'ge'] |
|
Relationship filter |
Entities with a relationship targeting resource "Pump0001" |
GET v2/resolvedentities?query=[*]=>['Pump0001'] |
|
Relationship filter |
Entities with a relationship targeting either resource "Pump0001" OR resource "Pump0002" |
GET v2/resolvedentities?query=[*]=>['Pump0001', 'Pump0002'] |
|
Relationship filter |
Entities with a relationship "Pump" targeting resource "Pump0001" |
GET v2/resolvedentities?query=[Pump]=>['Pump0001'] |
|
Relationship filter |
Entities with a component "Line" containing a relationship "Pump" targeting resource "Pump0001" |
GET v2/resolvedentities?query=[Line/Pump]=>['Pump0001'] |
|
Discovery filter |
Entities containing a component based on type "Pump" |
GET v2/resolvedentities?query=typeid eq 'Pump' |
|
Data Source filter |
Entities with a Data Source "PI" |
GET v2/resolvedentities?query=[datasources]=>['PI'] |
|
Data Source filter |
Entities with a Data Source "PI" or "CONNECT" |
GET v2/resolvedentities?query=[datasources]=>['PI', 'CONNECT'] |
|
Contains filter |
Entities with "text" somewhere in the id, name, description, or aliases |
GET v2/resolvedentities?query=contains 'text' |
|
Contains filter |
Entities with "text" somewhere in the id, name, description, or aliases and Class "Asset" |
GET v2/resolvedentities?query=contains 'text' AND className eq 'Asset' |