Skip to content
Snippets Groups Projects
user_admin_api.rst 4.75 KiB

Create or modify Account

This API allows an administrator to create or modify a user account with a specific user_id.

This api is:

PUT /_synapse/admin/v2/users/<user_id>

with a body of:

{
    "password": "user_password",
    "displayname": "User",
    "avatar_url": "<avatar_url>",
    "admin": false,
    "deactivated": false
}

including an access_token of a server admin.

The parameter displayname is optional and defaults to user_id. The parameter avatar_url is optional. The parameter admin is optional and defaults to 'false'. The parameter deactivated is optional and defaults to 'false'. If the user already exists then optional parameters default to the current value.

List Accounts

This API returns all local user accounts.

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:

{
    "users": [
        {
            "name": "<user_id1>",
            "password_hash": "<password_hash1>",
            "is_guest": 0,
            "admin": 0,
            "user_type": null,
            "deactivated": 0
        }, {
            "name": "<user_id2>",
            "password_hash": "<password_hash2>",
            "is_guest": 0,
            "admin": 1,
            "user_type": null,
            "deactivated": 0
        }
    ],
    "next_token": "100"
}

Query Account

This API returns information about a specific user account.

The api is: