def update(self, id, **kwargs):
        """
        Updates an existing resource.

        :param id: The ID of the resource
        :param kwargs: The properties of the resource to change
        :return: The updated item returned by the API
            wrapped as a `Model` object
        """

        response = self.ghost.execute_put('%s/%s/' % (self._type_name, id), json={
            self._type_name: [
                kwargs
            ]
        })

        return self._model_type(response.get(self._type_name)[0])