--- allOf: - $ref: core-event-schema/event.yaml description: |- Begins a SAS key verification process using the ``m.sas.v1`` method. Typically sent as a `to-device`_ event. properties: content: properties: from_device: type: string description: |- The device ID which is initiating the process. transaction_id: type: string description: |- An opaque identifier for the verification process. Must be unique with respect to the devices involved. Must be the same as the ``transaction_id`` given in the ``m.key.verification.request`` if this process is originating from a request. method: type: string enum: ["m.sas.v1"] description: |- The verification method to use. key_agreement_protocols: type: array description: |- The key agreement protocols the sending device understands. Must include at least ``curve25519``. items: type: string hashes: type: array description: |- The hash methods the sending device understands. Must include at least ``sha256``. items: type: string message_authentication_codes: type: array description: |- The message authentication codes that the sending device understands. Must include at least ``hkdf-hmac-sha256``. items: type: string short_authentication_string: type: array description: |- The SAS methods the sending device (and the sending device's user) understands. Must include at least ``decimal``. Optionally can include ``emoji``. items: type: string enum: ["decimal", "emoji"] required: - from_device - transaction_id - method - key_agreement_protocols - hashes - message_authentication_codes - short_authentication_string type: object type: enum: - m.key.verification.start type: string type: object