anonymousland-synapse/docs/usage/administration/admin_api
David Robertson f3f0ab10fe
Move scripts directory inside synapse, exposing as setuptools entry_points (#12118)
* Two scripts are basically entry_points already
* Move and rename scripts/* to synapse/_scripts/*.py
* Delete sync_room_to_group.pl
* Expose entry points in setup.py
* Update linter script and config
* Fixup scripts & docs mentioning scripts that moved

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2022-03-02 13:00:16 +00:00
..
background_updates.md Add an admin API to run background jobs. (#11352) 2021-11-19 19:39:46 +00:00
federation.md Add admin API to get a list of federated rooms (#11658) 2022-01-25 16:11:40 +00:00
README.md Move scripts directory inside synapse, exposing as setuptools entry_points (#12118) 2022-03-02 13:00:16 +00:00
registration_tokens.md Update doc of the allowed characters for registration tokens (#11093) 2021-10-15 09:56:39 +00:00

The Admin API

Authenticate as a server admin

Many of the API calls in the admin api will require an access_token for a server admin. (Note that a server admin is distinct from a room admin.)

A user can be marked as a server admin by updating the database directly, e.g.:

UPDATE users SET admin = 1 WHERE name = '@foo:bar.com';

A new server admin user can also be created using the register_new_matrix_user command. This is a script that is distributed as part of synapse. It is possibly already on your $PATH depending on how Synapse was installed.

Finding your user's access_token is client-dependent, but will usually be shown in the client's settings.

Making an Admin API request

Once you have your access_token, you will need to authenticate each request to an Admin API endpoint by providing the token as either a query parameter or a request header. To add it as a request header in cURL:

curl --header "Authorization: Bearer <access_token>" <the_rest_of_your_API_request>

For more details on access tokens in Matrix, please refer to the complete matrix spec documentation.