# Criteria for adding a log entry

The `criteria` object specifies what type of device log entries are added to the event database and details about the entry.

The `criteria` object has two main properties: `Type` and `Item`. These are described in the following table. Properties enclosed in brackets are optional.

Table: Criteria object properties
Property | Description | Type | Value
--- | --- | --- | ---
`criteria.Type` | Specifies the type of content. | string | Possible values: `"Log"`
`criteria.Item` | Specifies the content of the entry to add to the event log. | object | Object with the properties specified below
`criteria.Item.EventType` | Specifies a unique identifier for the type of event. | number | Value - Description: `0` - EKLogCallEventType `1` - EKLogDataEventType `2` - EKLogFaxEventType `3` - EKLogShortMessageEventType `4` - EKLogPacketDataEventType
`[criteria.Item.RemoteParty]` | Specifies the destination of the outgoing event or the source of incoming event. | string | Up to 64 characters. If the length of the specified string is greater than 64 characters, the data is truncated.
`[criteria.Item.Direction]` | Specifies whether the event is incoming, outgoing, or missed and if it came in on an alternate line. Alternate line refers to the second phone call on the mobile device. Alternate line values, such as `2` - EIncomingEventAlternateline, are valid for call events only. | number | Value - Description: `0` - EIncomingEvent `1` - EOutgoingEvent `2` - EIncomingEventAlternateline `3` - EOutgoingEventAlternateline `4` - EFetchedEvent `5` - EMissedEvent `6` - EMissedEventAlternateline
`[criteria.Item.EventDuration]` | Specifies the duration of the event, in seconds. | number |
`[criteria.Item.DeliveryStatus]` | Specifies whether the event was delivered, is pending, failed to be delivered, etc. | number | Value - Description: `0` - EStatusPending `1` - EStatusSent `2` - EStatusFailed `3` - EStatusNone `4` - EStatusDone `5` - EStatusSent `6` - EStatusScheduled
`[criteria.Item.Subject]` | Specifies the subject for the event. | string | Up to 64 characters. If the length of the specified string is greater than 64 characters, the data is truncated.
`[criteria.Item.PhoneNumber]` | Specifies the phone number associated with the event. This key is specified when the number cannot be stored in any other key. For example, if there is an entry in the contacts database for a person named Prakash, then `RemoteParty` is specified as "Prakash" and `PhoneNumber` is needed to specify the phone number. If there is no entry for Prakash, `RemoteParty` is specified as the phone number. | string | Up to 100 characters. If the length of the specified string is greater than 100 characters, the number is truncated.
`[criteria.Item.Link]` | Specifies an ID (messageID, callID, etc) that links the event being added to an entity in another application. For example, it might be useful to link the event to an SMS messageID so that details of the message can be displayed to the mobile device user. | number |
`[criteria.Item.LogFlags]` | Specifies the flags for this event. This method does not change any of the other flag bit settings. | number | Possible values: `0` - EKLogEventContactSearched Note: The EKLogEventContactSearched flag is set when the user searches the contact database for any operation such as a voice call or SMS. `1` - EKLogEventRead Note: The EKLogEventRead flag is set when the user "reads" the event in the log database.