# 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 Leaving 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}/leave": post: summary: Stop the requesting user participating in a particular room. description: |- This API stops a user participating in a particular room. If the user was already in the room, they will no longer be able to see new events in the room. If the room requires an invite to join, they will need to be re-invited before they can re-join. If the user was invited to the room, but had not joined, this call serves to reject the invite. The user will still be allowed to retrieve history from the room which they were previously allowed to see. operationId: leaveRoom security: - accessToken: [] parameters: - in: path type: string name: roomId description: The room identifier to leave. required: true x-example: "!nkl290a:matrix.org" - in: body name: body required: true schema: type: object example: { "reason": "Saying farewell - thanks for the support!" } properties: reason: type: string description: |- Optional reason to be included as the `reason` on the subsequent membership event. responses: 200: description: |- The room has been left. examples: application/json: { } schema: type: object 429: description: This request was rate-limited. schema: "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership "/rooms/{roomId}/forget": post: summary: Stop the requesting user remembering about a particular room. description: |- This API stops a user remembering about a particular room. In general, history is a first class citizen in Matrix. After this API is called, however, a user will no longer be able to retrieve history for this room. If all users on a homeserver forget a room, the room is eligible for deletion from that homeserver. If the user is currently joined to the room, they must leave the room before calling this API. operationId: forgetRoom security: - accessToken: [] parameters: - in: path type: string name: roomId description: The room identifier to forget. required: true x-example: "!au1ba7o:matrix.org" responses: 200: description: |- The room has been forgotten. examples: application/json: { } schema: type: object 400: description: The user has not left the room examples: application/json: { "errcode": "M_UNKNOWN", "error": "User @example:matrix.org is in room !au1ba7o:matrix.org" } schema: "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership