properties:
  event_fields:
    description: List of event fields to include. If this list is absent then all
      fields are included. The entries may include '.' charaters to indicate sub-fields.
      So ['content.body'] will include the 'body' field of the 'content' object. A
      literal '.' character in a field name may be escaped using a '\'. A server may
      include more fields than were requested.
    items:
      type: string
    type: array
  event_format:
    description: The format to use for events. 'client' will return the events in
      a format suitable for clients. 'federation' will return the raw event as receieved
      over federation. The default is 'client'.
    enum:
    - client
    - federation
    type: string
  presence:
    allOf:
    - $ref: event_filter.yaml
    description: The presence updates to include.
  room:
    properties:
      ephemeral:
        allOf:
        - $ref: room_event_filter.yaml
        description: The events that aren't recorded in the room history, e.g. typing
          and receipts, to include for rooms.
      include_leave:
        description: Include rooms that the user has left in the sync, default false
        type: boolean
      state:
        allOf:
        - $ref: room_event_filter.yaml
        description: The state events to include for rooms.
      timeline:
        allOf:
        - $ref: room_event_filter.yaml
        description: The message and state update events to include for rooms.
    type: object
type: object

properties:
  event_fields:
    description: List of event fields to include. If this list is absent then all
      fields are included. The entries may include '.' charaters to indicate sub-fields.
      So ['content.body'] will include the 'body' field of the 'content' object. A
      literal '.' character in a field name may be escaped using a '\'. A server may
      include more fields than were requested.
    items:
      type: string
    type: array
  event_format:
    description: The format to use for events. 'client' will return the events in
      a format suitable for clients. 'federation' will return the raw event as receieved
      over federation. The default is 'client'.
    enum:
    - client
    - federation
    type: string
  presence:
    allOf:
    - $ref: event_filter.yaml
    description: The presence updates to include.
  account_data:
    allOf:
    - $ref: event_filter.yaml
    description: The user account data that isn't associated with rooms to include.
  room:
    properties:
      ephemeral:
        allOf:
        - $ref: room_event_filter.yaml
        description: The events that aren't recorded in the room history, e.g. typing
          and receipts, to include for rooms.
      include_leave:
        description: Include rooms that the user has left in the sync, default false
        type: boolean
      state:
        allOf:
        - $ref: room_event_filter.yaml
        description: The state events to include for rooms.
      timeline:
        allOf:
        - $ref: room_event_filter.yaml
        description: The message and state update events to include for rooms.
      account_data:
        allOf:
        - $ref: room_event_filter.yaml
        description: The per user account data to include for rooms.
    type: object
type: object

Document filtering for account data
Document filtering for account data
