code: def add_attribute(self, feature_id, attribute_key, attribute_value, organism=None, sequence=None):
          
          data = {
              'features': [
                  {
                      'uniquename': feature_id,
                      'non_reserved_properties': [
                          {
                              'tag': attribute_key,
                              'value': attribute_value,
                          }
                      ]
                  }
              ]
          }
          data = self._update_data(data, organism, sequence)
          return self.post('addAttribute', data)
docs: Add an attribute to a feature
  
          :type feature_id: str
          :param feature_id: Feature UUID
  
          :type attribute_key: str
          :param attribute_key: Attribute Key
  
          :type attribute_value: str
          :param attribute_value: Attribute Value
  
          :type organism: str
          :param organism: Organism Common Name
  
          :type sequence: str
          :param sequence: Sequence Name
  
          This seems to show two attributes being added, but it behaves like those two are one.
  
          :rtype: dict
          :return: A standard apollo feature dictionary ({"features": [{...}]})