Files
synapse/docs/admin_api
Vladimir Babin c0d4a16a11 Clarify admin API docs for per-user ratelimit overrides (#20245)
Fixes #18885.

The "Override ratelimiting for users" section of the user admin API docs
described `messages_per_second` as "the number of actions that can be
performed in a second", which suggests the override applies to every
ratelimiter. In the code (`synapse/api/ratelimiting.py`) the override's
rate/burst values are only used by the event-sending ratelimiter
(`RequestRatelimiter.ratelimit`, i.e. `rc_message`); the generic
`Ratelimiter.can_do_action` only reads the override to check whether
`messages_per_second` is `0` and, if so, disables ratelimiting entirely
for that user.

Changes (docs only):
- State up front that the override replaces only the message-sending
limits (`rc_message`), not `rc_invites`/`rc_joins`/`rc_login` etc., and
that `messages_per_second = 0` disables all ratelimiting.
- Rename the sub-headings to "Get status of / Set / Delete ratelimit
**override**" and describe the fields as messages rather than actions.
- Explain that "Delete ratelimit override" restores the global config
limits rather than disabling ratelimiting.

The `#override-ratelimiting-for-users` anchor referenced elsewhere in
the page is unchanged.

Verified with `mdbook build` (mdbook 0.5.2, same as `docs-pr.yaml`):
renders cleanly, new anchors `#get-status-of-ratelimit-override`,
`#set-ratelimit-override`, `#delete-ratelimit-override` present.
2026-11-06 16:31:14 -06:00
..
2023-12-13 16:15:22 +00:00

Admin APIs
==========

**Note**: The latest documentation can be viewed `here <https://element-hq.github.io/synapse>`_.
See `docs/README.md <../README.md>`_ for more information.

**Please update links to point to the website instead.** Existing files in this directory
are preserved to maintain historical links, but may be moved in the future.

This directory includes documentation for the various synapse specific admin
APIs available. Updates to the existing Admin API documentation should still
be made to these files, but any new documentation files should instead be placed under
`docs/usage/administration/admin_api <../usage/administration/admin_api>`_.