|
|
|
# Copyright 2019 New Vector 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 Capabiltiies API"
|
|
|
|
version: "1.0.0"
|
|
|
|
host: localhost:8008
|
|
|
|
schemes:
|
|
|
|
- https
|
|
|
|
- http
|
|
|
|
basePath: /_matrix/client/%CLIENT_MAJOR_VERSION%
|
|
|
|
produces:
|
|
|
|
- application/json
|
|
|
|
securityDefinitions:
|
|
|
|
$ref: definitions/security.yaml
|
|
|
|
paths:
|
|
|
|
"/capabilities":
|
|
|
|
get:
|
|
|
|
summary: Gets information about the server's capabilities.
|
|
|
|
description: |-
|
|
|
|
Gets information about the server's supported feature set
|
|
|
|
and other relevant capabilities.
|
|
|
|
operationId: getCapabilities
|
|
|
|
security:
|
|
|
|
- accessToken: []
|
|
|
|
parameters: []
|
|
|
|
responses:
|
|
|
|
200:
|
|
|
|
description:
|
|
|
|
The capabilities of the server.
|
|
|
|
examples:
|
|
|
|
application/json: {
|
|
|
|
"capabilities": {
|
|
|
|
"m.change_password": {
|
|
|
|
"enabled": false
|
|
|
|
},
|
|
|
|
"m.room_versions": {
|
|
|
|
"default": "1",
|
|
|
|
"available": {
|
|
|
|
"1": "stable",
|
|
|
|
"2": "stable",
|
|
|
|
"3": "unstable",
|
|
|
|
"test-version": "unstable"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"com.example.custom.ratelimit": {
|
|
|
|
"max_requests_per_hour": 600
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
schema:
|
|
|
|
type: object
|
|
|
|
required: ["capabilities"]
|
|
|
|
properties:
|
|
|
|
capabilities:
|
|
|
|
type: object
|
|
|
|
title: Capabilities
|
|
|
|
description: |-
|
|
|
|
The custom capabilities the server supports, using the
|
|
|
|
Java package naming convention.
|
|
|
|
additionalProperties:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
"m.change_password":
|
|
|
|
type: object
|
|
|
|
description: |-
|
|
|
|
Capability to indicate if the user can change their password.
|
|
|
|
title: ChangePasswordCapability
|
|
|
|
properties:
|
|
|
|
enabled:
|
|
|
|
type: boolean
|
|
|
|
description: |-
|
|
|
|
True if the user can change their password, false otherwise.
|
|
|
|
example: false
|
|
|
|
required: ['enabled']
|
|
|
|
"m.room_versions":
|
|
|
|
type: object
|
|
|
|
description: The room versions the server supports.
|
|
|
|
title: RoomVersionsCapability
|
|
|
|
properties:
|
|
|
|
default:
|
|
|
|
type: string
|
|
|
|
description: |-
|
|
|
|
The default room version the server is using for new rooms.
|
|
|
|
example: "1"
|
|
|
|
available:
|
|
|
|
type: object
|
|
|
|
title: AvailableRoomVersions
|
|
|
|
description: |-
|
|
|
|
A detailed description of the room versions the server supports.
|
|
|
|
additionalProperties:
|
|
|
|
type: string
|
|
|
|
title: RoomVersionStability
|
|
|
|
enum: [stable, unstable]
|
|
|
|
description: The stability of the room version.
|
|
|
|
required: ['default', 'available']
|
|
|
|
429:
|
|
|
|
description: This request was rate-limited.
|
|
|
|
schema:
|
|
|
|
"$ref": "definitions/errors/rate_limited.yaml"
|
|
|
|
tags:
|
|
|
|
- Capabilities
|