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.
2023-06-07 14:16:29 +02:00
openapi : 3.1 .0
2015-09-08 17:35:08 +02:00
info :
2023-06-07 14:16:29 +02:00
title : Matrix Client-Server Room Joining API
version : 1.0 .0
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.
2017-08-03 01:19:34 +02:00
operationId : inviteUser
2015-09-09 18:55:40 +02:00
security :
- accessToken : [ ]
parameters :
- in : path
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
2023-06-07 14:16:29 +02:00
example : "!d41d8cd:matrix.org"
2015-09-09 18:55:40 +02:00
schema :
2023-06-07 14:16:29 +02:00
type : string
requestBody :
content :
application/json :
schema :
type : object
example : {
"user_id": "@cheeky_monkey:matrix.org" ,
"reason": "Welcome to the team!"
2017-09-26 18:53:28 +02:00
}
2023-06-07 14:16:29 +02:00
properties :
user_id :
type : string
description : The fully qualified user ID of the invitee.
reason :
x-addedInMatrixVersion : "1.1"
type : string
description : |-
Optional reason to be included as the `reason` on the subsequent
membership event.
required :
- user_id
required : true
responses :
"200" :
description : The user has been invited to join the room, or was already invited
to the room.
content :
application/json :
schema :
type : object
examples :
response :
value : {}
"400" :
2019-02-25 05:53:50 +01:00
description : |-
2023-06-07 14:16:29 +02:00
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.
2023-06-07 14:16:29 +02:00
content :
application/json :
schema :
$ref : definitions/errors/error.yaml
"403" :
2015-09-10 17:46:22 +02:00
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.
2023-06-07 14:16:29 +02:00
content :
application/json :
schema :
$ref : definitions/errors/error.yaml
examples :
response :
value : {
"errcode": "M_FORBIDDEN" ,
"error": "@cheeky_monkey:matrix.org is banned from the room"
}
"429" :
2015-09-10 17:46:22 +02:00
description : This request was rate-limited.
2023-06-07 14:16:29 +02:00
content :
application/json :
schema :
$ref : definitions/errors/rate_limited.yaml
2015-12-07 13:45:13 +01:00
tags :
- Room membership
2023-06-07 14:16:29 +02:00
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