---
allOf:
  - $ref: core-event-schema/state_event.yaml
description: This is the first event in a room and cannot be changed. It acts as the root of all other events.
properties:
  content:
    properties:
      creator:
        description: The `user_id` of the room creator. This is set by the homeserver.
        type: string
      m.federate:
        description: Whether users on other servers can join this room. Defaults to `true` if key does not exist.
        type: boolean
      room_version:
        description: The version of the room. Defaults to `"1"` if the key does not exist.
        type: string
      type:
        description: |-
          Optional [room type](#types) to denote a room's intended function outside of traditional conversation.

          Unspecified room types are possible using [Namespaced Identifiers](/appendices/#common-namespaced-identifier-grammar).
        type: string
      predecessor:
        description: A reference to the room this room replaces, if the previous room was upgraded.
        type: object
        title: Previous Room
        properties:
          room_id:
            type: string
            description: The ID of the old room.
          event_id:
            type: string
            description: The event ID of the last known event in the old room.
        required: [room_id, event_id]
    required:
      - creator
    type: object
  state_key:
    description: A zero-length string.
    pattern: '^$'
    type: string
  type:
    enum:
      - m.room.create
    type: string
title: The first event in the room.
type: object
