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

Clean up admin api docs #7361

Merged
merged 5 commits into from
Apr 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/7361.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Clarify endpoint usage in the users admin api documentation.
60 changes: 42 additions & 18 deletions docs/admin_api/user_admin_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,22 @@ with a body of:

including an ``access_token`` of a server admin.

The parameter ``displayname`` is optional and defaults to ``user_id``.
The parameter ``threepids`` is optional.
The parameter ``avatar_url`` is optional.
The parameter ``admin`` is optional and defaults to 'false'.
The parameter ``deactivated`` is optional and defaults to 'false'.
The parameter ``password`` is optional. If provided the user's password is updated and all devices are logged out.
The parameter ``displayname`` is optional and defaults to the value of
``user_id``.

The parameter ``threepids`` is optional and allows setting the third-party IDs
(email, msisdn) belonging to a user.

The parameter ``avatar_url`` is optional. Must be a [MXC
URI](https://matrix.org/docs/spec/client_server/r0.6.0#matrix-content-mxc-uris).

The parameter ``admin`` is optional and defaults to ``false``.

The parameter ``deactivated`` is optional and defaults to ``false``.

The parameter ``password`` is optional. If provided, the user's password is
updated and all devices are logged out.

If the user already exists then optional parameters default to the current value.

List Accounts
Expand All @@ -51,16 +61,25 @@ The api is::
GET /_synapse/admin/v2/users?from=0&limit=10&guests=false

including an ``access_token`` of a server admin.
The parameters ``from`` and ``limit`` are required only for pagination.
By default, a ``limit`` of 100 is used.
The parameter ``user_id`` can be used to select only users with user ids that
contain this value.
The parameter ``guests=false`` can be used to exclude guest users,
default is to include guest users.
The parameter ``deactivated=true`` can be used to include deactivated users,
default is to exclude deactivated users.
If the endpoint does not return a ``next_token`` then there are no more users left.
It returns a JSON body like the following:

The parameter ``from`` is optional but used for pagination, denoting the
offset in the returned results. This should be treated as an opaque value and
not explicitly set to anything other than the return value of ``next_token``
from a previous call.

The parameter ``limit`` is optional but is used for pagination, denoting the
maximum number of items to return in this call. Defaults to ``100``.

The parameter ``user_id`` is optional and filters to only users with user IDs
that contain this value.

The parameter ``guests`` is optional and if ``false`` will **exclude** guest users.
Defaults to ``true`` to include guest users.

The parameter ``deactivated`` is optional and if ``true`` will **include** deactivated users.
Defaults to ``false`` to exclude deactivated users.

A JSON body is returned with the following shape:

.. code:: json

Expand All @@ -73,7 +92,7 @@ It returns a JSON body like the following:
"admin": 0,
"user_type": null,
"deactivated": 0,
"displayname": <User One>,
"displayname": "<User One>",
"avatar_url": null
}, {
"name": "<user_id2>",
Expand All @@ -82,14 +101,19 @@ It returns a JSON body like the following:
"admin": 1,
"user_type": null,
"deactivated": 0,
"displayname": <User Two>,
"displayname": "<User Two>",
"avatar_url": "<avatar_url>"
}
],
"next_token": "100",
"total": 200
}

To paginate, check for ``next_token`` and if present, call the endpoint again
with ``from`` set to the value of ``next_token``. This will return a new page.

If the endpoint does not return a ``next_token`` then there are no more users
to paginate through.

Query Account
=============
Expand Down