docs: def unassigned(data, as_json=False):
      """ https://sendgrid.com/docs/API_Reference/api_v3.html#ip-addresses
          The /ips rest endpoint returns information about the IP addresses
          and the usernames assigned to an IP
  
          unassigned returns a listing of the IP addresses that are allocated
          but have 0 users assigned
  
  
          data (response.body from sg.client.ips.get())
          as_json False -> get list of dicts
                  True  -> get json object
  
          example:
          sg = sendgrid.SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
  
          params = {
              'subuser': 'test_string',
              'ip': 'test_string',
              'limit': 1,
              'exclude_whitelabels':
              'true', 'offset': 1
          }
          response = sg.client.ips.get(query_params=params)
          if response.status_code == 201:
             data = response.body
             unused = unassigned(data)
      """
  
      no_subusers = set()
  
      if not isinstance(data, list):
          return format_ret(no_subusers, as_json=as_json)
  
      for current in data:
          num_subusers = len(current["subusers"])
          if num_subusers == 0:
              current_ip = current["ip"]
              no_subusers.add(current_ip)
  
      ret_val = format_ret(no_subusers, as_json=as_json)
      return ret_val