# 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. openapi: 3.1.0 info: title: Matrix Client-Server Room Leaving API version: 1.0.0 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 name: roomId description: The room identifier to leave. required: true example: "!nkl290a:matrix.org" schema: type: string requestBody: content: application/json: schema: type: object example: { "reason": "Saying farewell - thanks for the support!" } properties: reason: x-addedInMatrixVersion: "1.1" type: string description: |- Optional reason to be included as the `reason` on the subsequent membership event. required: true responses: "200": description: The room has been left. content: application/json: schema: type: object examples: response: value: {} "429": description: This request was rate-limited. content: application/json: 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 name: roomId description: The room identifier to forget. required: true example: "!au1ba7o:matrix.org" schema: type: string responses: "200": description: The room has been forgotten. content: application/json: schema: type: object examples: response: value: {} "400": description: The user has not left the room content: application/json: schema: $ref: definitions/errors/error.yaml examples: response: value: { "errcode": "M_UNKNOWN", "error": "User @example:matrix.org is in room !au1ba7o:matrix.org" } "429": description: This request was rate-limited. content: application/json: schema: $ref: definitions/errors/rate_limited.yaml tags: - Room membership servers: - url: "{protocol}://{hostname}{basePath}" variables: protocol: enum: - http - https default: https hostname: default: localhost:8008 basePath: default: /_matrix/client/v3 components: securitySchemes: $ref: definitions/security.yaml