Feature request: Allow safe API access to site settings without an admin-level key

As I understand it, requiring admin access for /site/settings.json and some information in /site.json is expected Discourse behavior.

Discussion Bridge and similar integrations need a limited set of site configuration information for routine diagnostics, planning, and synchronization. Today this may require using an API key associated with an administrator. A read-only admin key prevents writes, but it can still expose everything the administrator can read. A global admin key carries an unnecessarily large risk for everyday machine operations.

Could Discourse provide either:

  • A granular API-key scope giving non-admin integration users read access to an appropriate, safe subset of /site.json and /site/settings.json; or
  • A separate endpoint containing the non-sensitive configuration information integrations commonly need?

Discourse already supports User API keys for regular users, but that does not solve this case: a key can only exercise permissions the associated user already has. The request is therefore specifically for safe non-admin authorization to the limited site configuration data integrations need—not simply another way to generate a key.

The goal is not to expose private administrative settings. It is to let an authorized non-admin integration account inspect the site structure and operational settings it needs without requiring routine admin-level credentials.

This would reduce credential risk, support least-privilege integrations, and make durable machine-to-machine tools easier to operate safely.

Background: Confirming API Access to Authoring Limit Site Settings

1 Like