{ "$schema": "http://json-schema.org/draft-04/schema#", "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.", "allOf": [{ "$ref": "core#/definitions/state_event" }], "properties": { "content": { "type": "object", "properties": { "join_rule": { "type": "string", "enum": ["public","knock","invite","private"] } }, "required": ["join_rule"] }, "state_key": { "type": "string", "pattern": "^$" }, "type": { "type": "string", "enum": ["m.room.join_rules"] } } }