docs: def delete_attribute_group_items(attributegroupitems, **kwargs):
  
      """
          remove attribute groups items .
          ** attributegroupitems : a list of items, of the form:
              ```{
                      'attr_id'    : X,
                      'group_id'   : Y,
                      'network_id' : Z,
                 }```
      """
  
  
      user_id=kwargs.get('user_id')
  
      log.info("Deleting %s attribute group items", len(attributegroupitems))
  
      #if there area attributegroupitems from different networks, keep track of those
      #networks to ensure the user actually has permission to remove the items.
      network_lookup = {}
  
      if not isinstance(attributegroupitems, list):
          raise HydraError("Cannpt add attribute group items. Attributegroupitems must be a list")
  
      #'agi' = shorthand for 'attribute group item'
      for agi in attributegroupitems:
  
          network_i = network_lookup.get(agi.network_id)
  
          if network_i is None:
              network_i = _get_network(agi.network_id)
              network_lookup[agi.network_id] = network_i
  
          network_i.check_write_permission(user_id)
  
          agi_i = db.DBSession.query(AttrGroupItem).filter(AttrGroupItem.network_id == agi.network_id,
                                                   AttrGroupItem.group_id == agi.group_id,
                                                   AttrGroupItem.attr_id  == agi.attr_id).first()
  
          if agi_i is not None:
              db.DBSession.delete(agi_i)
  
      db.DBSession.flush()
  
      log.info("Attribute group items deleted")
  
      return 'OK'