diff --git a/changelogs/identity_service/newsfragments/3101.new b/changelogs/identity_service/newsfragments/3101.new new file mode 100644 index 00000000..e6e98b92 --- /dev/null +++ b/changelogs/identity_service/newsfragments/3101.new @@ -0,0 +1 @@ +Add `GET /_matrix/identity/versions` API as per [MSC2320](https://github.com/matrix-org/matrix-doc/pull/2320). \ No newline at end of file diff --git a/content/identity-service-api.md b/content/identity-service-api.md index 60115306..ed5e8a0e 100644 --- a/content/identity-service-api.md +++ b/content/identity-service-api.md @@ -103,6 +103,8 @@ the third party identifier. `M_UNKNOWN` An unknown error has occurred. +{{% http-api spec="identity" api="versions" %}} + ## Privacy Identity is a privacy-sensitive issue. While the identity server exists diff --git a/data/api/identity/versions.yaml b/data/api/identity/versions.yaml new file mode 100644 index 00000000..5d0a01c4 --- /dev/null +++ b/data/api/identity/versions.yaml @@ -0,0 +1,51 @@ +# Copyright 2021 The Matrix.org Foundation C.I.C. +# +# 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 Identity Service Versions API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https +basePath: /_matrix/identity +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`. + + All supported versions, including patch versions, are reported by the server. + operationId: getVersions + responses: + 200: + description: The versions supported by the server. + examples: + application/json: { + "versions": ["r0.1.0", "r0.2.0", "r0.2.1"] + } + schema: + type: object + properties: + versions: + type: array + description: The supported versions. + items: + type: string + description: The supported versions. + required: ['versions']