← API reference
CANONICAL TYPE REFERENCE

DeviceState

An IoT device

Unique identifier

Associated network ID

Exclusive controller binding; no fallback when unavailable

identifierString!

Unique device identifier

nameString

Display name

Device description

Type of device

Device manufacturer

modelString

Device model

Device serial number

Outbound protocol configurations (secrets excluded)

Inbound protocol configurations

isActiveBoolean!

Whether the device is active

createdAtString!

Creation timestamp (ISO8601)

updatedAtString!

Last update timestamp (ISO8601)

View exact SDL
"""An IoT device"""
type DeviceState @iac_resource(name: "device") @iac_ops(create: "createDevice", read: "getDevice", update: "updateDevice", delete: "deleteDevice") @iac_replace(strategy: DESTROY_BEFORE_CREATE) {
  """Unique identifier"""
  id: DeviceID! @iac_identity(assignedBy: SERVER) @iac_computed
  """Associated network ID"""
  networkId: NetworkID @iac_ref(resource: "network")
  """Exclusive controller binding; no fallback when unavailable"""
  controllerId: ControllerID @iac_ref(resource: "controller")
  """Unique device identifier"""
  identifier: String! @iac_forcesReplace
  """Display name"""
  name: String
  """Device description"""
  description: String
  """Type of device"""
  deviceType: String
  """Device manufacturer"""
  manufacturer: String
  """Device model"""
  model: String
  """Device serial number"""
  serialNumber: String
  """Outbound protocol configurations (secrets excluded)"""
  outboundProtocols: [OutboundProtocolConfig!]!
  """Inbound protocol configurations"""
  inboundProtocols: [InboundProtocolConfig!]!
  """Whether the device is active"""
  isActive: Boolean!
  """Creation timestamp (ISO8601)"""
  createdAt: String! @iac_computed
  """Last update timestamp (ISO8601)"""
  updatedAt: String! @iac_computed
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.