Да, именно так.
category_notifications = {'muted_category_ids': [54],
'regular_category_ids': [],
'tracked_category_ids': [],
'watched_category_ids': [],
'watched_first_post_category_ids': [61],
}
api(config, f"u/{username}.json", method='put',
json=category_notifications)
… где api() — это тонкая обертка вокруг модуля Requests для Python, которая просто выполняет HTTP PUT запрос к /u/whateverusernameyouarechanging.json на вашем сайте Discourse, а полезная нагрузка содержит только те категории, которые нужно изменить. (Вы можете пропустить те, которые менять не хотите.)
Обратите внимание, что вам нужны числовые ID категорий — имена не подойдут. И, конечно же, если вы хотите объединить изменения или сохранить текущие настройки, вам сначала нужно получить данные о пользователе.