code: def list_agents(self, **kwargs):
          
  
          url = 'agents?'
          page = 1 if not 'page' in kwargs else kwargs['page']
          per_page = 100 if not 'per_page' in kwargs else kwargs['per_page']
  
          agents = []
  
          # Skip pagination by looping over each page and adding tickets if 'page' key is not in kwargs.
          # else return the requested page and break the loop
          while True:
              this_page = self._api._get(url + 'page=%d&per_page=%d'
                                         % (page, per_page), kwargs)
              agents += this_page
              if len(this_page) < per_page or 'page' in kwargs:
                  break
              page += 1
  
          return [Agent(**a) for a in agents]
docs: List all agents, optionally filtered by a view. Specify filters as
          keyword arguments, such as:
  
          {
              email='abc@xyz.com',
              phone=873902,
              mobile=56523,
              state='fulltime'
          }
  
          Passing None means that no named filter will be passed to
          Freshdesk, which returns list of all agents
  
          Multiple filters are AND'd together.