|
|
|
# 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.
|
|
|
|
swagger: '2.0'
|
|
|
|
info:
|
|
|
|
title: "Matrix Client-Server Versions API"
|
|
|
|
version: "1.0.0"
|
|
|
|
host: localhost:8008
|
|
|
|
schemes:
|
|
|
|
- https
|
|
|
|
- http
|
|
|
|
basePath: /_matrix/client
|
|
|
|
produces:
|
|
|
|
- application/json
|
|
|
|
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 `rX.Y.Z`.
|
|
|
|
|
|
|
|
Only the latest `Z` value will be reported for each supported `X.Y` value.
|
|
|
|
i.e. if the server implements `r0.0.0`, `r0.0.1`, and `r1.2.0`, it will report `r0.0.1` and `r1.2.0`.
|
|
|
|
|
|
|
|
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 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
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description: The versions supported by the server.
|
|
|
|
examples:
|
|
|
|
application/json: {
|
|
|
|
"versions": ["r0.0.1"],
|
|
|
|
"unstable_features": {
|
|
|
|
"org.example.my_feature": true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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']
|
|
|
|
tags:
|
|
|
|
- Server administration
|