diff --git a/content/client-server-api/_index.md b/content/client-server-api/_index.md index a9103c7a..ec26cec8 100644 --- a/content/client-server-api/_index.md +++ b/content/client-server-api/_index.md @@ -1785,11 +1785,17 @@ relation to a room: - Joined (the user can send and receive events in the room) - Banned (the user is not allowed to join the room) -There is an exception to the requirement that a user join a room before -sending events to it: users may send an `m.room.member` event to a room -with `content.membership` set to `leave` to reject an invitation if they -have currently been invited to a room but have not joined it. The same -applies for retracting knocks on the room that the user sent. +There are a few notable exceptions which allow non-joined members of the +room to send events in the room: + +- Users wishing to reject an invite would send `m.room.member` events with + `content.membership` of `leave`. They must have been invited first. + +- If the room allows, users can send `m.room.member` events with `content.membership` + of `knock` to knock on the room. This is a request for an invite by the user. + +- To retract a previous knock, a user would send a `leave` event similar to + rejecting an invite. Some rooms require that users be invited to it before they can join; others allow anyone to join. Whether a given room is an "invite-only"