Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Clarifications to the admin api documentation (#7647)
Browse files Browse the repository at this point in the history
* Clarify how to authenticate
* path params are not the same thing as query params
* Fix documentation for `/_synapse/admin/v2/users/<user_id>`
  • Loading branch information
richvdh authored Jun 5, 2020
1 parent a0d2d81 commit 1bc00fd
Show file tree
Hide file tree
Showing 8 changed files with 126 additions and 89 deletions.
1 change: 1 addition & 0 deletions changelog.d/7647.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Clarifications to the admin api documentation.
18 changes: 11 additions & 7 deletions docs/admin_api/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,21 @@ Admin APIs
This directory includes documentation for the various synapse specific admin
APIs available.

Only users that are server admins can use these APIs. A user can be marked as a
server admin by updating the database directly, e.g.:
Authenticating as a server admin
--------------------------------

``UPDATE users SET admin = 1 WHERE name = '@foo:bar.com'``
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.)

Restarting may be required for the changes to register.
A user can be marked as a server admin by updating the database directly, e.g.:

Using an admin access_token
###########################
.. code-block:: sql
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`` script.

Many of the API calls listed in the documentation here will require to include an admin `access_token`.
Finding your user's `access_token` is client-dependent, but will usually be shown in the client's settings.

Once you have your `access_token`, to include it in a request, the best option is to add the token to a request header:
Expand Down
4 changes: 2 additions & 2 deletions docs/admin_api/delete_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ This API lets a server admin delete a local group. Doing so will kick all
users out of the group so that their clients will correctly handle the group
being deleted.


The API is:

```
POST /_synapse/admin/v1/delete_group/<group_id>
```

including an `access_token` of a server admin.
To use it, you will need to authenticate by providing an `access_token` for a
server admin: see [README.rst](README.rst).
6 changes: 3 additions & 3 deletions docs/admin_api/media_admin_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ The API is:
```
GET /_synapse/admin/v1/room/<room_id>/media
```
including an `access_token` of a server admin.
To use it, you will need to authenticate by providing an `access_token` for a
server admin: see [README.rst](README.rst).

It returns a JSON body like the following:
The API returns a JSON body like the following:
```
{
"local": [
Expand Down Expand Up @@ -99,4 +100,3 @@ Response:
"num_quarantined": 10 # The number of media items successfully quarantined
}
```

9 changes: 6 additions & 3 deletions docs/admin_api/purge_history_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ The API is:

``POST /_synapse/admin/v1/purge_history/<room_id>[/<event_id>]``

including an ``access_token`` of a server admin.
To use it, you will need to authenticate by providing an ``access_token`` for a
server admin: see `README.rst <README.rst>`_.

By default, events sent by local users are not deleted, as they may represent
the only copies of this content in existence. (Events sent by remote users are
Expand Down Expand Up @@ -54,8 +55,10 @@ It is possible to poll for updates on recent purges with a second API;

``GET /_synapse/admin/v1/purge_history_status/<purge_id>``

(again, with a suitable ``access_token``). This API returns a JSON body like
the following:
Again, you will need to authenticate by providing an ``access_token`` for a
server admin.

This API returns a JSON body like the following:

.. code:: json
Expand Down
7 changes: 5 additions & 2 deletions docs/admin_api/purge_remote_media.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,15 @@ media.

The API is::

POST /_synapse/admin/v1/purge_media_cache?before_ts=<unix_timestamp_in_ms>&access_token=<access_token>
POST /_synapse/admin/v1/purge_media_cache?before_ts=<unix_timestamp_in_ms>

{}

Which will remove all cached media that was last accessed before
\... which will remove all cached media that was last accessed before
``<unix_timestamp_in_ms>``.

To use it, you will need to authenticate by providing an ``access_token`` for a
server admin: see `README.rst <README.rst>`_.

If the user re-requests purged remote media, synapse will re-request the media
from the originating server.
3 changes: 2 additions & 1 deletion docs/admin_api/room_membership.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ POST /_synapse/admin/v1/join/<room_id_or_alias>
}
```

Including an `access_token` of a server admin.
To use it, you will need to authenticate by providing an `access_token` for a
server admin: see [README.rst](README.rst).

Response:

Expand Down
Loading

0 comments on commit 1bc00fd

Please sign in to comment.