The update_dict["attributes"] should be JSON serialized to avoid a server error, but we can be flexible here and do a json.dumps in case a dict is passed.
The server complains about a JSON object being a dict, but responds with a 500 status code, which could be improved, too.