|
|
|
# Copyright 2016 OpenMarket Ltd
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
openapi: 3.1.0
|
|
|
|
info:
|
|
|
|
title: Matrix Client-Server Versions API
|
|
|
|
version: 1.0.0
|
|
|
|
paths:
|
|
|
|
/versions:
|
|
|
|
get:
|
|
|
|
summary: Gets the versions of the specification supported by the server.
|
|
|
|
description: |-
|
|
|
|
Gets the versions of the specification supported by the server.
|
|
|
|
|
|
|
|
Values will take the form `vX.Y` or `rX.Y.Z` in historical cases. See
|
|
|
|
[the Specification Versioning](../#specification-versions) for more
|
|
|
|
information.
|
|
|
|
|
|
|
|
The server may additionally advertise experimental features it supports
|
|
|
|
through `unstable_features`. These features should be namespaced and
|
|
|
|
may optionally include version information within their name if desired.
|
|
|
|
Features listed here are not for optionally toggling parts of the Matrix
|
|
|
|
specification and should only be used to advertise support for a feature
|
|
|
|
which has not yet landed in the spec. For example, a feature currently
|
|
|
|
undergoing the proposal process may appear here and eventually be taken
|
|
|
|
off this list once the feature lands in the spec and the server deems it
|
|
|
|
reasonable to do so. Servers can choose to enable some features only for
|
|
|
|
some users, so clients should include authentication in the request to
|
|
|
|
get all the features available for the logged-in user. If no
|
|
|
|
authentication is provided, the server should only return the features
|
|
|
|
available to all users. Servers may wish to keep advertising features
|
|
|
|
here after they've been released into the spec to give clients a chance
|
|
|
|
to upgrade appropriately. Additionally, clients should avoid using
|
|
|
|
unstable features in their stable releases.
|
|
|
|
operationId: getVersions
|
|
|
|
security:
|
|
|
|
- {}
|
|
|
|
- accessTokenQuery: []
|
|
|
|
- accessTokenBearer: []
|
|
|
|
x-changedInMatrixVersion:
|
|
|
|
"1.10": |
|
|
|
|
This endpoint can behave differently when authentication is provided.
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: The versions supported by the server.
|
|
|
|
content:
|
|
|
|
application/json:
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
versions:
|
|
|
|
type: array
|
|
|
|
description: The supported versions.
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
description: The supported versions
|
|
|
|
unstable_features:
|
|
|
|
type: object
|
|
|
|
description: |-
|
|
|
|
Experimental features the server supports. Features not listed here,
|
|
|
|
or the lack of this property all together, indicate that a feature is
|
|
|
|
not supported.
|
|
|
|
additionalProperties:
|
|
|
|
type: boolean
|
|
|
|
description: Whether or not the namespaced feature is supported.
|
|
|
|
required:
|
|
|
|
- versions
|
|
|
|
examples:
|
|
|
|
response:
|
|
|
|
value: {
|
|
|
|
"versions": [
|
|
|
|
"r0.0.1",
|
|
|
|
"v1.1"
|
|
|
|
],
|
|
|
|
"unstable_features": {
|
|
|
|
"org.example.my_feature": true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
tags:
|
|
|
|
- Server administration
|
|
|
|
servers:
|
|
|
|
- url: "{protocol}://{hostname}{basePath}"
|
|
|
|
variables:
|
|
|
|
protocol:
|
|
|
|
enum:
|
|
|
|
- http
|
|
|
|
- https
|
|
|
|
default: https
|
|
|
|
hostname:
|
|
|
|
default: localhost:8008
|
|
|
|
basePath:
|
|
|
|
default: /_matrix/client
|
|
|
|
components:
|
|
|
|
securitySchemes:
|
|
|
|
accessTokenQuery:
|
|
|
|
$ref: definitions/security.yaml#/accessTokenQuery
|
|
|
|
accessTokenBearer:
|
|
|
|
$ref: definitions/security.yaml#/accessTokenBearer
|