---
allOf:
  - $ref: core-event-schema/state_event.yaml
description: Defines how messages sent in this room should be encrypted.
properties:
  content:
    properties:
      algorithm:
        type: string
        enum:
          - "m.megolm.v1.aes-sha2"
        description: |-
          The encryption algorithm to be used to encrypt messages sent in this
          room.
      rotation_period_ms:
        type: integer
        description: |-
          How long the session should be used before changing it. ``604800000``
          (a week) is the recommended default.
      rotation_period_msgs:
        type: integer
        description: |-
          How many messages should be sent before changing the session. ``100`` is the
          recommended default.
    required:
      - algorithm
    type: object
  state_key:
    description: A zero-length string.
    pattern: '^$'
    type: string
  type:
    enum:
      - m.room.encryption
    type: string
type: object
