--- allOf: - $ref: core-event-schema/state_event.yaml description: | A room may be `public` meaning anyone can join the room without any prior action. Alternatively, it can be `invite` meaning that a user who wishes to join the room must first receive an invite to the room from someone already inside of the room. `knock` means that users are able to ask for permission to join the room, where they are either allowed (invited) or denied (kicked/banned) access. Join rules of `knock` are otherwise the same as `invite`: the user needs an explicit invite to join the room. Currently, `private` is a reserved keyword which is not implemented. properties: content: properties: join_rule: description: The type of rules used for users wishing to join this room. enum: - public - knock - invite - private type: string required: - join_rule type: object state_key: description: A zero-length string. pattern: '^$' type: string type: enum: - m.room.join_rules type: string title: Describes how users are allowed to join the room. type: object