2016-07-12 18:22:33 +02:00
# 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.
2015-09-08 17:35:08 +02:00
swagger : '2.0'
info :
2015-12-04 12:09:35 +01:00
title : "Matrix Client-Server Room Joining API"
2015-09-08 17:35:08 +02:00
version : "1.0.0"
host : localhost:8008
schemes :
- https
- http
2021-10-12 19:07:01 +02:00
basePath : /_matrix/client/v3
2015-09-08 17:35:08 +02:00
consumes :
- application/json
produces :
- application/json
securityDefinitions :
2016-05-03 14:57:16 +02:00
$ref : definitions/security.yaml
2015-09-08 17:35:08 +02:00
paths :
2015-09-10 17:46:22 +02:00
# With an extra " " to disambiguate from the 3pid invite endpoint
# The extra space makes it sort first for what I'm sure is a good reason.
"/rooms/{roomId}/invite " :
2015-09-09 18:55:40 +02:00
post :
summary : Invite a user to participate in a particular room.
description : |-
2015-09-10 17:46:22 +02:00
*Note that there are two forms of this API, which are documented separately.
This version of the API requires that the inviter knows the Matrix
2022-11-08 19:57:36 +01:00
identifier of the invitee. The other is documented in the
2023-03-08 10:58:29 +01:00
[ third-party invites](/client-server-api/#third-party-invites) section.*
2015-09-10 17:46:22 +02:00
2015-09-09 18:55:40 +02:00
This API invites a user to participate in a particular room.
They do not start participating in the room until they actually join the
room.
Only users currently in a particular room can invite other users to
join that room.
2015-09-10 17:46:22 +02:00
2015-12-02 20:23:33 +01:00
If the user was invited to the room, the homeserver will append a
2021-01-27 21:14:31 +01:00
`m.room.member` event to the room.
2015-11-05 19:11:20 +01:00
2017-08-03 01:19:34 +02:00
operationId : inviteUser
2015-09-09 18:55:40 +02:00
security :
- accessToken : [ ]
parameters :
- in : path
type : string
name : roomId
2015-09-10 12:21:18 +02:00
description : The room identifier (not alias) to which to invite the user.
2015-09-09 18:55:40 +02:00
required : true
2015-09-10 12:21:18 +02:00
x-example : "!d41d8cd:matrix.org"
2015-09-09 18:55:40 +02:00
- in : body
2015-09-10 17:46:22 +02:00
name : body
2015-09-09 18:55:40 +02:00
required : true
schema :
type : object
2017-09-26 18:53:28 +02:00
example : {
2020-09-30 21:43:56 +02:00
"user_id": "@cheeky_monkey:matrix.org" ,
"reason": "Welcome to the team!"
}
2015-09-09 18:55:40 +02:00
properties :
user_id :
type : string
description : The fully qualified user ID of the invitee.
2020-09-30 21:43:56 +02:00
reason :
2021-10-14 21:23:04 +02:00
x-addedInMatrixVersion : "1.1"
2020-09-30 21:43:56 +02:00
type : string
description : |-
2021-01-27 21:14:31 +01:00
Optional reason to be included as the `reason` on the subsequent
2020-09-30 21:43:56 +02:00
membership event.
2015-09-09 18:55:40 +02:00
required : [ "user_id" ]
responses :
200 :
2022-07-04 21:19:33 +02:00
description : The user has been invited to join the room, or was already invited to the room.
2015-09-09 18:55:40 +02:00
examples :
2017-09-26 18:53:28 +02:00
application/json : {
}
2015-09-09 18:55:40 +02:00
schema :
2015-09-10 17:46:22 +02:00
type : object
2019-02-25 05:53:50 +01:00
400 :
description : |-
2021-01-27 21:14:31 +01:00
The request is invalid. A meaningful `errcode` and description
2019-02-25 05:53:50 +01:00
error text will be returned. Example reasons for rejection include :
2021-01-27 21:14:31 +01:00
- The request body is malformed (`errcode` set to `M_BAD_JSON`
or `M_NOT_JSON`).
2019-02-25 05:53:50 +01:00
- One or more users being invited to the room are residents of a
homeserver which does not support the requested room version. The
2021-01-27 21:14:31 +01:00
`errcode` will be `M_UNSUPPORTED_ROOM_VERSION` in these cases.
2019-02-25 05:53:50 +01:00
schema :
"$ref": "definitions/errors/error.yaml"
2015-09-10 17:46:22 +02:00
403 :
description : |-
2021-01-27 21:14:31 +01:00
You do not have permission to invite the user to the room. A meaningful `errcode` and description error text will be returned. Example reasons for rejections are :
2015-10-23 12:36:07 +02:00
2015-10-23 11:51:31 +02:00
- The invitee has been banned from the room.
- The invitee is already a member of the room.
- The inviter is not currently in the room.
- The inviter's power level is insufficient to invite users to the room.
2015-09-10 17:46:22 +02:00
examples :
2017-09-26 18:53:28 +02:00
application/json : {
"errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room" }
2018-07-04 21:51:17 +02:00
schema :
"$ref": "definitions/errors/error.yaml"
2015-09-10 17:46:22 +02:00
429 :
description : This request was rate-limited.
schema :
2018-07-04 21:45:34 +02:00
"$ref": "definitions/errors/rate_limited.yaml"
2015-12-07 13:45:13 +01:00
tags :
- Room membership