2023-04-28 21:33:45 +03:00
|
|
|
# Experimental Features API
|
|
|
|
|
|
|
|
This API allows a server administrator to enable or disable some experimental features on a per-user
|
2024-07-05 15:02:35 +03:00
|
|
|
basis. The currently supported features are:
|
|
|
|
- [MSC3881](https://github.com/matrix-org/matrix-spec-proposals/pull/3881): enable remotely toggling push notifications
|
|
|
|
for another client
|
2024-07-05 15:04:27 +03:00
|
|
|
- [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575): enable experimental sliding sync support
|
2024-11-05 17:45:57 +03:00
|
|
|
- [MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222): adding `state_after` to sync v2
|
2023-04-28 21:33:45 +03:00
|
|
|
|
|
|
|
To use it, you will need to authenticate by providing an `access_token`
|
|
|
|
for a server admin: see [Admin API](../usage/administration/admin_api/).
|
|
|
|
|
|
|
|
## Enabling/Disabling Features
|
|
|
|
|
2024-07-05 15:02:35 +03:00
|
|
|
This API allows a server administrator to enable experimental features for a given user. The request must
|
2023-04-28 21:33:45 +03:00
|
|
|
provide a body containing the user id and listing the features to enable/disable in the following format:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"features": {
|
|
|
|
"msc3026":true,
|
2023-05-03 00:21:36 +03:00
|
|
|
"msc3881":true
|
2023-04-28 21:33:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
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
|
2024-07-05 15:02:35 +03:00
|
|
|
|
2023-04-28 21:33:45 +03:00
|
|
|
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:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"features": {
|
|
|
|
"msc3026": true,
|
|
|
|
"msc3881": false,
|
|
|
|
"msc3967": false
|
|
|
|
}
|
|
|
|
}
|
2024-07-05 15:02:35 +03:00
|
|
|
```
|