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

Смотря сюда: Discourse API Docs в примере запроса показано:

https://{url}/t/{id}/timer.json

{
  "time": "",
  "status_type": "string",
  "based_on_last_post": true,
  "category_id": 0
}

Но это кажется несогласованным с установкой таймеров (зачем здесь нужен category_id?)

Как правильно установить таймер для существующей темы, чтобы она закрылась через 30 дней?

Лучший способ понять, как работает API, — следовать инструкции по адресу Reverse engineer the Discourse API.

Обратите внимание: в документации параметр не является «обязательным». Это зависит от status_type.
Вам он потребуется, если вы используете тип publish_to_category.

Автоматическое закрытие через 30 дней передаст следующие параметры:
image

И вернет следующие данные:

Ах, я постоянно об этом забываю :see_no_evil:

У меня постоянно возникала ошибка при выборе подкатегории, и я вспомнил, что мы изменили текст для invalid_access, так как у нас настроено так, что большинство категорий, в которые можно публиковать, являются подкатегориями (а люди постоянно пытались публиковать в родительской категории). Так что при ошибке invalid_access мне просто нужно было переключиться на пользователя с правами модератора… и теперь всё работает, спасибо! :+1: