summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2020-04-28 20:06:03 +0100
committerGitHub <noreply@github.com>2020-04-28 20:06:03 +0100
commitc58ae367d8237b79e1c5b394f2a42a3c81513d73 (patch)
tree4fc333e271ab71a31518bcf1039fd8329d798c75
parentReturn total number of users and profile attributes in admin users endpoint (... (diff)
downloadsynapse-c58ae367d8237b79e1c5b394f2a42a3c81513d73.tar.xz
Clean up admin api docs (#7361)
-rw-r--r--changelog.d/7361.doc1
-rw-r--r--docs/admin_api/user_admin_api.rst60
2 files changed, 43 insertions, 18 deletions
diff --git a/changelog.d/7361.doc b/changelog.d/7361.doc
new file mode 100644
index 0000000000..b35dbc36ee
--- /dev/null
+++ b/changelog.d/7361.doc
@@ -0,0 +1 @@
+Clarify endpoint usage in the users admin api documentation.
\ No newline at end of file
diff --git a/docs/admin_api/user_admin_api.rst b/docs/admin_api/user_admin_api.rst
index 927ed65f77..859d7f99e7 100644
--- a/docs/admin_api/user_admin_api.rst
+++ b/docs/admin_api/user_admin_api.rst
@@ -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
@@ -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
 
@@ -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>",
@@ -82,7 +101,7 @@ 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>"
             }
         ],
@@ -90,6 +109,11 @@ It returns a JSON body like the following:
         "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
 =============