Как массово обновить уровень уведомлений о категориях для пользователей?

Да, именно так.


    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 категорий — имена не подойдут. И, конечно же, если вы хотите объединить изменения или сохранить текущие настройки, вам сначала нужно получить данные о пользователе.