{ "type": "object", "title": "Room Event", "description": "In addition to the Event fields, Room Events may have the following additional fields.", "allOf":[{ "$ref": "event.json" }], "properties": { "event_id": { "type": "string", "description": "Required. The globally unique event identifier." }, "room_id": { "type": "string", "description": "Required. The ID of the room associated with this event." }, "sender": { "type": "string", "description": "Required. Contains the fully-qualified ID of the user who *sent* this event." }, "unsigned": { "type": "object", "description": "Contains optional extra information about the event.", "title": "UnsignedData", "properties": { "age": { "type": "integer", "description": "The time in milliseconds that has elapsed since the event was sent" }, "redacted_because": { "type": "string", "description": "The reason this event was redacted, if it was redacted" }, "transaction_id": { "type": "string", "description": "The client-supplied transaction ID, if the client being given the event is the same one which sent it." } } } }, "required": ["event_id", "room_id", "sender"] }