This documentation may be out of date!

This documentation site is for the versions of Synapse maintained by the Foundation (, available under the Apache 2.0 licence.

Since version 1.99, Synapse is now maintained by Element under a new licence (

If you are interested in the documentation for a later version of Synapse, please click here to navigate to this same page on the latest Element Synapse documentation site, if it's available.

Experimental Features API

This API allows a server administrator to enable or disable some experimental features on a per-user basis. The currently supported features are:

  • MSC3026: busy presence state enabled
  • MSC3881: enable remotely toggling push notifications for another client
  • MSC3967: do not require UIA when first uploading cross-signing keys.

To use it, you will need to authenticate by providing an access_token for a server admin: see Admin API.

Enabling/Disabling Features

This API allows a server administrator to enable experimental features for a given user. The request must provide a body containing the user id and listing the features to enable/disable in the following format:

   "features": {

where true is used to enable the feature, and false is used to disable the feature.

The API is:

PUT /_synapse/admin/v1/experimental_features/<user_id>

Listing Enabled Features

To list which features are enabled/disabled for a given user send a request to the following API:

GET /_synapse/admin/v1/experimental_features/<user_id>

It will return a list of possible features and indicate whether they are enabled or disabled for the user like so:

   "features": {
      "msc3026": true,
      "msc3881": false,
      "msc3967": false