Federation API
-This API allows a server administrator to manage Synapse's federation with other homeservers.
-Note: This API is new, experimental and "subject to change".
-List of destinations
-This API gets the current destination retry timing info for all remote servers.
-The list contains all the servers with which the server federates, -regardless of whether an error occurred or not. -If an error occurs, it may take up to 20 minutes for the error to be displayed here, -as a complete retry must have failed.
-The API is:
-A standard request with no filtering:
-GET /_synapse/admin/v1/federation/destinations
-
-A response body like the following is returned:
-{
- "destinations":[
- {
- "destination": "matrix.org",
- "retry_last_ts": 1557332397936,
- "retry_interval": 3000000,
- "failure_ts": 1557329397936,
- "last_successful_stream_ordering": null
- }
- ],
- "total": 1
-}
-
-To paginate, check for next_token
and if present, call the endpoint again
-with from
set to the value of next_token
. This will return a new page.
If the endpoint does not return a next_token
then there are no more destinations
-to paginate through.
Parameters
-The following query parameters are available:
--
-
from
- Offset in the returned list. Defaults to0
.
-limit
- Maximum amount of destinations to return. Defaults to100
.
-order_by
- The method in which to sort the returned list of destinations. -Valid values are: --
-
destination
- Destinations are ordered alphabetically by remote server name. -This is the default.
-retry_last_ts
- Destinations are ordered by time of last retry attempt in ms.
-retry_interval
- Destinations are ordered by how long until next retry in ms.
-failure_ts
- Destinations are ordered by when the server started failing in ms.
-last_successful_stream_ordering
- Destinations are ordered by the stream ordering -of the most recent successfully-sent PDU.
-
-dir
- Direction of room order. Eitherf
for forwards orb
for backwards. Setting -this value tob
will reverse the above sort order. Defaults tof
.
-
Caution: The database only has an index on the column destination
.
-This means that if a different sort order is used,
-this can cause a large load on the database, especially for large environments.
Response
-The following fields are returned in the JSON response body:
--
-
destinations
- An array of objects, each containing information about a destination. -Destination objects contain the following fields: --
-
destination
- string - Name of the remote server to federate.
-retry_last_ts
- integer - The last time Synapse tried and failed to reach the -remote server, in ms. This is0
if the last attempt to communicate with the -remote server was successful.
-retry_interval
- integer - How long since the last time Synapse tried to reach -the remote server before trying again, in ms. This is0
if no further retrying occuring.
-failure_ts
- nullable integer - The first time Synapse tried and failed to reach the -remote server, in ms. This isnull
if communication with the remote server has never failed.
-last_successful_stream_ordering
- nullable integer - The stream ordering of the most -recent successfully-sent PDU -to this destination, ornull
if this information has not been tracked yet.
-
-next_token
: string representing a positive integer - Indication for pagination. See above.
-total
- integer - Total number of destinations.
-
Destination Details API
-This API gets the retry timing info for a specific remote server.
-The API is:
-GET /_synapse/admin/v1/federation/destinations/<destination>
-
-A response body like the following is returned:
-{
- "destination": "matrix.org",
- "retry_last_ts": 1557332397936,
- "retry_interval": 3000000,
- "failure_ts": 1557329397936,
- "last_successful_stream_ordering": null
-}
-
-Response
-The response fields are the same like in the destinations
array in
-List of destinations response.