There is currently no official way in the spec to discover the client endpoint for a given Matrix domain, which would be the equivalent of the SRV record for the S2S API.
Following several conversations and exchanges [1][2], we'll use a .well-known URL [RFC 5785].
For the domain example.org, the discovery URL will be: https://example.org/.well-known/matrix
It will return a status code 200 and body as JSON object like so:
Will be tried in order, going to the next in case of error.
A Base URL is valid if:
For m.hs, /_matrix/client/versions is reachable and contains valid data
For m.is, /_matrix/identity/versions is reachable and contains valid data
Every other entry will be DNS namespace, like other parts of the Matrix protocol, so custom features in clients can also receive dedicated configuration, or rely on other other clients supported configuration.
In this case, im.vector.riot.integrations would reference to the Riot Integration Manager and any other client that supports it.
There is currently no official way in the spec to discover the client endpoint for a given Matrix domain, which would be the equivalent of the SRV record for the S2S API.
Following several conversations and exchanges [1] [2], we'll use a
.well-known
URL [RFC 5785].For the domain
example.org
, the discovery URL will be:https://example.org/.well-known/matrix
It will return a status code 200 and body as JSON object like so:For
base_urls
inm.hs
andm.is
:/_matrix/...
path.m.hs
,/_matrix/client/versions
is reachable and contains valid datam.is
,/_matrix/identity/versions
is reachable and contains valid dataEvery other entry will be DNS namespace, like other parts of the Matrix protocol, so custom features in clients can also receive dedicated configuration, or rely on other other clients supported configuration. In this case,
im.vector.riot.integrations
would reference to the Riot Integration Manager and any other client that supports it./_matrix/identity/versions
will be defined at https://kamax.io/matrix/api/identity_service/unstable.htmlThis implementation will be documented at https://kamax.io/matrix/api/client_server/unstable.html