Updates the properties of a tag. Only the fields provided in the `data`
        block will be updated; any unspecified fields will remain unchanged.
        
        When using this method, it is best to specify only those fields you wish
        to change, or else you may overwrite changes made by another user since
        you last retrieved the task.
        
        Returns the complete updated tag record.

        Parameters
        ----------
        tag : {Id} The tag to update.
        [data] : {Object} Data for the request

def update(self, tag, params={}, **options): 
        """Updates the properties of a tag. Only the fields provided in the `data`
        block will be updated; any unspecified fields will remain unchanged.
        
        When using this method, it is best to specify only those fields you wish
        to change, or else you may overwrite changes made by another user since
        you last retrieved the task.
        
        Returns the complete updated tag record.

        Parameters
        ----------
        tag : {Id} The tag to update.
        [data] : {Object} Data for the request
        """
        path = "/tags/%s" % (tag)
        return self.client.put(path, params, **options)