def put(self, id):
        """**Update a Fate**

        **Example Request:**

        .. sourcecode:: http

            PUT /api/v1/fates/3 HTTP/1.1
            Host: localhost
            Content-Type: application/json

            {
                "description": "New desc",
                "followsId": 1
            }

        **Example response:**

        .. sourcecode:: http

            HTTP/1.1 200 OK
            Content-Type: application/json

            {
                "status": "ok",
                "id": 3,
                "href": "/api/v1/fates/3",
                "creationEventTypeId": 1,
                "followsId": 1,
                "precedesId": [],
                "forCreator": false,
                "forOwner": true
                "description": "New desc"
            }

        :param id: id of the Fate that should be updated.
        :type id: string

        :reqjson string description: The new description of this Fate.
        :reqjson boolean intermediate: The new intermediate flag value.

        :reqheader Content-Type: The server expects a json body specified with
                                 this header.

        :statuscode 200: The request was successful.
        :statuscode 400: The request was malformed.
        :statuscode 401: The request was made without being logged in.
        :statuscode 403: The request was made with insufficient permissions.
        :statuscode 404: The Fate was not found.
        :statuscode 409: There was a conflict with another resource.
        """

        log.info("FATE: Update {}".format(id))

        fate = self.session.query(Fate).filter_by(id=id).scalar()
        if not fate:
            raise exc.NotFound("No such Fate {} found".format(id))

        try:
            if "description" in self.jbody:
                fate = fate.update(description=self.jbody["description"])
            if self.jbody in "followsId":
                fate = fate.update(follows_id=self.jbody['followsId'])

        except IntegrityError as err:
            raise exc.Conflict(str(err.orig))

        json = fate.to_dict(self.href_prefix)

        self.success(json)
dataset/ETHPy150Open dropbox/hermes/hermes/handlers/api.py/FateHandler.put/swapped operands of `in`