{ "type": "object", "title": "Describes how users are allowed to join the room.", "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. Currently, ``knock`` and ``private`` are reserved keywords which are not implemented.", "allOf": [{ "$ref": "core-event-schema/state_event.yaml" }], "properties": { "content": { "type": "object", "properties": { "join_rule": { "type": "string", "description": "The type of rules used for users wishing to join this room.", "enum": ["public","knock","invite","private"] } }, "required": ["join_rule"] }, "state_key": { "type": "string", "description": "A zero-length string.", "pattern": "^$" }, "type": { "type": "string", "enum": ["m.room.join_rules"] } } }