# Criteria for change notifications

The `criteria` object specifies the system attribute to monitor for changes.

The `criteria` object has a three properties: `Entity`, `Key`, and `SystemData`. These are described in the following table. Properties enclosed in brackets are optional.

Table: Criteria object properties
Property | Description | Type | Value
--- | --- | --- | ---
`criteria.Entity` | Specifies the entity of the system attribute. Together with `Key`, this specifies the system attribute to monitor. For more information about entities, see section System attributes. | string | For a complete list of supported entities, see section Supported system attributes (entities and keys). For example: `"Battery"`
`criteria.Key` | Specifies the key of the system attribute. The available keys depend on the entity. Together with `Entity`, this specifies the system attribute to monitor. For more information about keys, see section System attributes. | string | For a complete list of supported keys per entity, see the Key column of the tables in section Supported system attributes (entities and keys). For example: `"BatteryStrength"`
`[criteria.SystemData]` | Specifies the value of the system attribute. Some system attributes require this property as input for `GetNotification`. To find out which attributes, see the Input column of the tables in section Supported system attributes (entities and keys). The `SystemData` object has one or more properties that together represent the system attribute value. The exact set of properties depends on the system attribute (specifically, on the system data type used for input). For more information about system attribute values, see sections Supported system attributes (entities and keys). | object | The object properties depend on the system attribute. See the Input column cell for the appropriate system attribute in section Supported system attributes (entities and keys). For example, the `Battery - BatteryStrength` system attribute takes `Status` information as input for `GetNotification`: `SystemData.Status = 50`