def update_key(self, id_number, new_key, metadata=None):
        """
        Update a canned key

        :type id_number: int
        :param id_number: canned key ID number

        :type new_key: str
        :param new_key: New canned key value

        :type metadata: str
        :param metadata: Optional metadata

        :rtype: dict
        :return: an empty dictionary
        """
        data = {
            'id': id_number,
            'new_key': new_key
        }

        if metadata is not None:
            data['metadata'] = metadata

        return self.post('updateKey', data)
Update a canned key

        :type id_number: int
        :param id_number: canned key ID number

        :type new_key: str
        :param new_key: New canned key value

        :type metadata: str
        :param metadata: Optional metadata

        :rtype: dict
        :return: an empty dictionary