# 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 Room Kicking API" version: "1.0.0" host: localhost:8008 schemes: - https - http basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% consumes: - application/json produces: - application/json securityDefinitions: $ref: definitions/security.yaml paths: "/rooms/{roomId}/kick": post: summary: Kick a user from the room. description: |- Kick a user from the room. The caller must have the required power level in order to perform this operation. security: - accessToken: [] parameters: - in: path type: string name: roomId description: The room identifier (not alias) from which the user should be kicked. required: true x-example: "!e42d8c:matrix.org" - in: body name: body required: true schema: type: object example: |- { "reason": "Telling unfunny jokes", "user_id": "@cheeky_monkey:matrix.org" } properties: user_id: type: string description: The fully qualified user ID of the user being kicked. reason: type: string description: The reason the user has been kicked. required: ["user_id"] responses: 200: description: The user has been kicked from the room. examples: application/json: |- {} schema: type: object 403: description: |- You do not have permission to kick the user from the room. A meaningful ``errcode`` and description error text will be returned. Example reasons for rejections are: - The kicker is not currently in the room. - The kickee is not currently in the room. - The kicker's power level is insufficient to kick users from the room. examples: application/json: |- { "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to kick from this room." } tags: - Room membership