Files
synapse/docs/admin_api/client_server_api_extensions.md
T

2.3 KiB

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