def events(criteria: {}, tenants: nil)
      query = generate_query_params(criteria)
      uri = tenants ? '/admin/events' : '/events'
      http_get(uri + query, multi_tenants_header(tenants)).map { |e| Event.new(e) }
    end
def events(criteria: {}, tenants: nil)
      query = generate_query_params(criteria)
      uri = tenants ? '/admin/events' : '/events'
      http_get(uri + query, multi_tenants_header(tenants)).map { |e| Event.new(e) }
    end
List Events given optional criteria. Criteria keys are strings (not symbols):
  startTime   numeric, milliseconds from epoch
  endTime     numeric, milliseconds from epoch
  eventIds    array of strings
  triggerIds  array of strings
  categories  array of strings
  tags        array of strings, each tag of format 'name|value'. Specify '*' for value to match all values
  thin        boolean, return lighter events (omits triggering data for trigger-generated events)
 @param [Hash] criteria optional query criteria
 @param [Array] tenants optional list of tenants. The elements of the array can be any object
   convertible to a string
 @return [Array<Event>] List of events. Can be empty