Client-Server API Extensions
Server administrators can set special account data to change how the Client-Server API behaves for their clients. Setting the account data, or having it already set, as a non-admin has no effect.
All configuration options can be set through the io.element.synapse.admin_client_config global
account data on the admin's user account.
Example:
PUT /_matrix/client/v3/user/{adminUserId}/account_data/io.element.synapse.admin_client_config
{
"return_soft_failed_events": true
}
See soft failed events
Learn more about soft failure from the spec.
To receive soft failed events in APIs like /sync and /messages, set return_soft_failed_events
to true in the admin client config. When false, the normal behaviour of these endpoints is to
exclude soft failed events.
Note: If the policy server flagged the event as spam and that caused soft failure, that will be indicated
in the event's unsigned content like so:
{
"type": "m.room.message",
"other": "event_fields_go_here",
"unsigned": {
"io.element.synapse.soft_failed": true,
"io.element.synapse.policy_server_spammy": true
}
}
Default: false
See events marked spammy by policy servers
Learn more about policy servers from MSC4284.
Similar to return_soft_failed_events, clients logged in with admin accounts can see events which were
flagged by the policy server as spammy (and thus soft failed) by setting return_policy_server_spammy_events
to true.
return_policy_server_spammy_events may be true while return_soft_failed_events is false to only see
policy server-flagged events. When return_soft_failed_events is true however, return_policy_server_spammy_events
is always true.
Events which were flagged by the policy will be flagged as io.element.synapse.policy_server_spammy in the
event's unsigned content, like so:
{
"type": "m.room.message",
"other": "event_fields_go_here",
"unsigned": {
"io.element.synapse.soft_failed": true,
"io.element.synapse.policy_server_spammy": true
}
}
Default: true if return_soft_failed_events is true, otherwise false