Skip to content
Snippets Groups Projects
user_admin_api.md 32.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • A shadow-banned user will be unable to contact anyone on the server.
    
    
    To shadow-ban a user the API is:
    
    
    ```
    POST /_synapse/admin/v1/users/<user_id>/shadow_ban
    ```
    
    
    To un-shadow-ban a user the API is:
    
    ```
    DELETE /_synapse/admin/v1/users/<user_id>/shadow_ban
    ```
    
    An empty JSON dict is returned in both cases.
    
    
    **Parameters**
    
    The following parameters should be set in the URL:
    
    - `user_id` - The fully qualified MXID: for example, `@user:server.com`. The user must
      be local.
    
    ## Override ratelimiting for users
    
    This API allows to override or disable ratelimiting for a specific user.
    There are specific APIs to set, get and delete a ratelimit.
    
    ### Get status of ratelimit
    
    The API is:
    
    ```
    GET /_synapse/admin/v1/users/<user_id>/override_ratelimit
    ```
    
    A response body like the following is returned:
    
    ```json
    {
      "messages_per_second": 0,
      "burst_count": 0
    }
    ```
    
    **Parameters**
    
    The following parameters should be set in the URL:
    
    - `user_id` - The fully qualified MXID: for example, `@user:server.com`. The user must
      be local.
    
    **Response**
    
    The following fields are returned in the JSON response body:
    
    - `messages_per_second` - integer - The number of actions that can
      be performed in a second. `0` mean that ratelimiting is disabled for this user.
    - `burst_count` - integer - How many actions that can be performed before
      being limited.
    
    If **no** custom ratelimit is set, an empty JSON dict is returned.
    
    ```json
    {}
    ```
    
    ### Set ratelimit
    
    The API is:
    
    ```
    POST /_synapse/admin/v1/users/<user_id>/override_ratelimit
    ```
    
    A response body like the following is returned:
    
    ```json
    {
      "messages_per_second": 0,
      "burst_count": 0
    }
    ```
    
    **Parameters**
    
    The following parameters should be set in the URL:
    
    - `user_id` - The fully qualified MXID: for example, `@user:server.com`. The user must
      be local.
    
    Body parameters:
    
    - `messages_per_second` - positive integer, optional. The number of actions that can
      be performed in a second. Defaults to `0`.
    - `burst_count` - positive integer, optional. How many actions that can be performed
      before being limited. Defaults to `0`.
    
    To disable users' ratelimit set both values to `0`.
    
    **Response**
    
    The following fields are returned in the JSON response body:
    
    - `messages_per_second` - integer - The number of actions that can
      be performed in a second.
    - `burst_count` - integer - How many actions that can be performed before
      being limited.
    
    ### Delete ratelimit
    
    The API is:
    
    ```
    DELETE /_synapse/admin/v1/users/<user_id>/override_ratelimit
    ```
    
    An empty JSON dict is returned.
    
    ```json
    {}
    ```
    
    **Parameters**
    
    The following parameters should be set in the URL:
    
    - `user_id` - The fully qualified MXID: for example, `@user:server.com`. The user must
      be local.
    
    
    ### Check username availability
    
    Checks to see if a username is available, and valid, for the server. See [the client-server 
    API](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available)
    for more information.
    
    This endpoint will work even if registration is disabled on the server, unlike 
    `/_matrix/client/r0/register/available`.
    
    The API is:
    
    ```
    
    GET /_synapse/admin/v1/username_available?username=$localpart
    
    The request and response format is the same as the
    [/_matrix/client/r0/register/available](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available) API.