diff --git a/mp_api/client/routes/_user_settings.py b/mp_api/client/routes/_user_settings.py index 6eb0e996..dd8f4698 100644 --- a/mp_api/client/routes/_user_settings.py +++ b/mp_api/client/routes/_user_settings.py @@ -23,8 +23,21 @@ def set_user_settings(self, consumer_id, settings): # pragma: no cover Raises: MPRestError. """ - return self._post_resource( - body=settings, params={"consumer_id": consumer_id} + body = dict() + for key in settings: + if key not in [ + "institution", + "sector", + "job_role", + "is_email_subscribed", + ]: + raise ValueError( + f"Invalid setting key {key}. Must be one of institution, sector, job_role, is_email_subscribed" + ) + body[f"settings.{key}"] = settings[key] + + return self._patch_resource( + body=body, params={"consumer_id": consumer_id} ).get("data") def patch_user_time_settings(self, consumer_id, time): # pragma: no cover