Query Event Options
The following are example components of a Query Event with parameters for each query option:

If including an expiration date in a Query Event, and if an adjustedExpirationDate value is returned in the response messages, use the adjustedExpirationDate value, not the expirationDate value in the query.

The eventTime represents the only timestamp field in the Smart Event Manager. The Query Event may use the eventTime search criteria in any of the following ways:
Past - Returns all events based upon a number and unit (e.g. minutes, hours, days, weeks):
"past": { "amount": "2", "unit": "MINUTES" }
Timestamp Range - Returns all events based upon a start and end time:
"timestamp": { "start": "1523229645000", "end": "1523229646000" }
Date-Time Range - Returns all events based upon a start and end date:
"date-time": { "start": "2018-04-08T23:28:50Z", "end": "2018-04-08T23:30:50Z" }
Since Timestamp - Returns all events since the specified timestamp:
"since": { "timestamp": "1523229646000", "mode": "TIMESTAMP" }
Since Date-Time - Returns all events since the specified date time:
"since": { "date-time": "2018-04-08T23:30:50Z", "mode": "DATETIME" }

The select field provides the set of fields to be returned in the Query Response. The select fields may include any fields in the TraceLink namespace that were included in a Set Event Request.
Example:
"select": { "fields": [ { "name": "data", "expression": "$.['eventId', 'eventTime', 'eventType', 'market', 'serialNumber', 'lotNumber', 'expirationDate', 'packagingCode', 'packagingCodeType', 'status','message','state']" } ] }

The query filter provides name/value pairs to be used as search criteria for the Query Event Request. The select search criteria may include any fields in the TraceLink namespace that were included in a Set Event Request.
Example:
"query-filter": { "serialNumber": "01089060842103092110000000349317180131" }