def loose_search(self, asset_manager_id, query='', **kwargs):
        self.logger.info('Asset Search - Asset Manager: %s', asset_manager_id)
        url = '{endpoint}/assets/search/{asset_manager_id}'.format(
            asset_manager_id=asset_manager_id,
            endpoint=self.endpoint,
        )
        params = {'query': query}
        for k, v in kwargs.items():
            if not isinstance(v, str) and isinstance(v, Iterable):
                v = ','.join(str(i) for i in v)
            params[k] = v
        response = self.session.get(url, params=params)
        if response.ok:
            data = response.json()
            assets = [json_to_asset(json_asset) for json_asset in data.get('hits', [])]
            self.logger.info('Returned %s Assets.', len(assets))
            return assets
        else:
            self.logger.error(response.text)
            response.raise_for_status()