I’m working on an integration that publishes and syncs companion topics into Discourse via the API. For setup diagnostics, I’d like to read the forum’s current authoring limits so the integration can preflight content before attempting to create or update topics.
The settings I’m trying to confirm access for include:
min_topic_title_length
max_topic_title_length
min_first_post_length
min_post_length
max_post_length
max_tags_per_topic
max_tag_length
tagging_enabled
create_tag_allowed_groups
tag_topic_allowed_groups
I first checked /site.json, which is accessible and useful for public capability hints, but it does not appear to expose these concrete authoring-limit settings.
With an API key for a non-admin bot user, these returned 404:
/site_settings.json
/admin/site_settings.json
/admin/site_settings
After making the bot user an admin, these worked:
/admin/site_settings.json
/admin/site_settings
Using headers:
Accept: application/json
Api-Key: ...
Api-Username: discussbridge-bot
X-Requested-With: XMLHttpRequest
/site_settings.json still returned 404.
My questions:
- Is
/admin/site_settings.jsonthe expected API path for reading current site settings? - Is admin user permission required, or is there a supported read-only/granular API scope for this?
- Is
/site_settings.jsondeprecated, plugin-dependent, or not expected to exist? - For integrations, is the recommended pattern to use an admin-capable diagnostics/setup key for reading settings, while using a less-privileged publishing key for normal topic/post sync work?
The goal is not to change settings via API, only to read them during setup diagnostics so the integration