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

CONNECT EAP

Fields

  • Last UpdatedJul 29, 2026
  • 5 minute read

GraphQL is a query language for APIs that gives you control over the data you request. Unlike traditional APIs that return a fixed set of data, GraphQL lets you specify exactly what you need.

Properties

There are many types of properties, each of which has a mix of common and unique fields. These types and fields are shown below.

Common fields

Every type of property has these fields:

  • Id

  • Category

  • UniqueId

  • TypeCode

  • TypeId

  • DataSource

Property types and unique fields

Property Type

Unique Fields

Property Type

Unique Fields

StringProperty

StringValue

StringArrayProperty

StringValues

NumberProperty

NumberValue

Uom

UnknownUom

NumberArrayProperty

NumberValues

Uom

UnknownUom

BooleanProperty

BooleanValue

BooleanArrayProperty

BooleanValues

EnumProperty

EnumValue

EnumerationSetId

EnumArrayProperty

EnumValues

EnumerationSetId

DateTimeProperty

DateTimeValue

DateTimeArrayProperty

DateTimeValues

TimeSpanProperty

TimeSpanValue

TimeSpanArrayProperty

TimeSpanValues

Property query examples

Common field GraphQL query

query {

entities {

items {

id

properties {

id

}

}

}

}

Common field GraphQL response

{

"data": {

"entities": {

"items": [

{

"id": "PLANT-E-1001",

"properties": [

{

"id": "Manufacturer"

},

{

"id": "InstallWeight"

}

]

}

]

}

}

}

Unique fields GraphQL query

query {

entities {

items {

id

properties {

id

... on StringProperty {

stringValue

}

... on NumberProperty {

numberValue

uom

unknownUom

}

}

}

}

}

Unique fields GraphQL response

{

"data": {

"entities": {

"items": [

{

"id": "PLANT-E-1001",

"properties": [

{

"id": "Manufacturer",

"name": "Manufacturer Property Name"

"stringValue": "Acme Process Solutions"

},

{

"id": "InstallWeight",

"name": "InstallWeight Name",

"numberValue": 2500,

"uom": "kg"

"unknownUom": null

}

]

}

]

}

}

}

Component types

There are two ways to request the types of components on the entities returned in the result.

Non-distinct type collection

This is the more typical way you would request the component types on each entity returned. This will list all the component types on each entity, much like the properties mentioned above. If multiple entities share a common type of component it will be listed multiple times.

Non-distinct type GraphQL query

query {

entities {

items {

id

componentTypes {

id

}

}

}

}

Non-distinct type GraphQL response

{

"data": {

"entities": {

"items": [

{

"id": "PLANT-E-1001",

"componentTypes": [

{

"id": "Component_Pump"

}

]

},

{

"id": "PLANT-E-2001",

"componentTypes": [

{

"id": "Component_Pump"

}

]

}

]

}

}

}

Distinct type collection

This is a special case if you need to see just the unique types of components within a result set. Make sure the metadata has a componentTypes field, much like the the componentTypes within the items field for entities. The response will not list component types multiple times, even if multiple entities have it.

Distinct type GraphQL query

query {

entities {

items {

id

}

metadata {

componentTypes {

id

}

}

}

}

Distinct type GraphQL response

{

"data": {

"entities": {

"items": [

{

"id": "PLANT-E-1001"

},

{

"id": "PLANT-E-2001"

}

],

"metadata": {

"componentTypes": [

{

"id": "Component_Pump"

}

]

}

}

}

}

General query examples

These examples do not include all possible fields.

Single field

If you only need a single field (for example, name), you can request just that, and the response will only include the name.

Single field GraphQL query

query {
entities {
items {
name
}
}
}

Single field GraphQL response

{
"data": {
"entities": {
"items": [
{ "name": "Distillation Column" },
{ "name": "Heat Exchanger" },
{ "name": "Central Refinery" }
]
}
}
}

Multiple fields

If you need multiple fields (for example, name, id, and createdDate), you can request them all, and the response will include those fields.

Multiple fields GraphQL query

query {
entities {
items {
name
id
createdDate
}
}
}

Multiple fields GraphQL response

{
"data": {
"entities": {
"items": [
{
"name": "Distillation Column",
"id": "PLANT-E-1001",
"createdDate": "2023-01-15T08:30:00Z"
},
{
"name": "Heat Exchanger",
"id": "PLANT-E-1002",
"createdDate": "2023-02-20T14:45:00Z"
},
{
"name": "Central Refinery",
"id": "PLANT-E-1003",
"createdDate": "2023-03-10T09:15:00Z"
}
]
}
}
}

Related entity

Related entity GraphQL query

query {

entities {

items {

id

name

properties {

id

typeId

typeCode

... on StringArrayProperty {

stringValues

}

... on NumberProperty {

numberValue

uom

}

... on StringProperty {

stringValue

}

}

relationships {

id

relationshipType

typeId

entity {

id

name

properties {

id

... on StringArrayProperty {

}

typeCode

uom

typeId

}

}

}

}

}

}

Related entity GraphQL response

{

"data": {

"entities": {

"items": [

{

"id": "PLANT-E-1001",

"name": "Distillation Column",

"properties": [

{

"id": "Tags",

"typeId": "Entity.Equipment",

"typeCode": "STRING_ARRAY",

"stringValues": [

"DC-1001",

"DC-1001-B"

]

},

{

"id": "InstallWeight",

"typeId": "Entity.Equipment",

"typeCode": "DOUBLE",

"numberValue": 2500,

"uom": "kg"

},

{

"id": "Manufacturer",

"typeId": "Entity.Equipment",

"typeCode": "STRING",

"stringValue": "Acme Process Solutions"

}

],

"relationships": [

{

"id": "PLANT-E-1001->entity.equipment:hasPlant->PLANT-01",

"relationshipType": "PARENT",

"typeId": "Entity.Equipment",

"entity": {

"id": "PLANT-01",

"name": "Central Refinery",

"properties": [

{

"id": "Purpose",

"value": {

"stringValue": "Main refinery for crude oil processing",

"numberValue": null

},

"values": null,

"uom": null,

"typeId": "Entity.Plant",

"typeCode": "STRING"

},

{

"id": "Location",

"value": {

"stringValue": "Houston, TX",

"numberValue": null

},

"values": null,

"uom": null,

"typeId": "Entity.Plant",

"typeCode": "STRING"

}

]

}

}

]

}

]

}

}

}

Related stream

Note: *Value and *Values in rows => values are mutually exclusive; only one is populated at a time. *Values applies to columns with an ARRAY typeCode.

Related stream GraphQL query

query {

entities {

items {

id

name

relationships {

id

targetBase

typeId

stream {

id

name

data(

where: {

startIndex: "2023-10-31T12:00:00.0000000Z"

endIndex: "2023-10-31T12:45:00.0000000Z"

dataMode: NORMAL

count: 2

index: ["Timestamp"]

}

) {

columns {

name

typeCode

isKey

}

rows {

values {

stringValue

numberValue

stringValues

numberValues

}

}

}

}

}

}

}

}

Related stream GraphQL response

{

"data": {

"entities": {

"items": [

{

"id": "PLANT-E-1001",

"name": "Distillation Column",

"relationships": [

{

"id": "PLANT-E-1001->entity.equipment:hasStream->DC1001-Output",

"targetBase": "ENTITY",

"typeId": "Stream",

"stream": {

"id": "DC1001-Output",

"name": "Distillation Output Stream",

"data": {

"columns": [

{

"name": "Timestamp",

"typeCode": "DATE_TIME",

"isKey": true

},

{

"name": "Temperature",

"typeCode": "DOUBLE",

"isKey": false

},

{

"name": "Pressure",

"typeCode": "DOUBLE",

"isKey": false

},

{

"name": "Readings",

"typeCode": "DOUBLE_ARRAY",

"isKey": false

}

],

"rows": [

{

"values": [

{

"stringValue": "2023-10-31T12:00:00.0000000Z",

"numberValue": null,

"stringValues": null,

"numberValues": null

},

{

"stringValue": "350.5",

"numberValue": 350.5,

"stringValues": null,

"numberValues": null

},

{

"stringValue": "2.1",

"numberValue": 2.1,

"stringValues": null,

"numberValues": null

},

{

"stringValue": null,

"numberValue": null,

"stringValues": ["349.8", "350.2", "351.0"],

"numberValues": [349.8, 350.2, 351.0]

}

]

},

{

"values": [

{

"stringValue": "2023-10-31T12:45:00.0000000Z",

"numberValue": null,

"stringValues": null,

"numberValues": null

},

{

"stringValue": "355.0",

"numberValue": 355.0,

"stringValues": null,

"numberValues": null

},

{

"stringValue": "2.3",

"numberValue": 2.3,

"stringValues": null,

"numberValues": null

},

{

"stringValue": null,

"numberValue": null,

"stringValues": ["354.5", "355.1", "355.4"],

"numberValues": [354.5, 355.1, 355.4]

}

]

}

]

}

}

}

]

}

]

}

}

}

In This Topic