--- allOf: - $ref: core-event-schema/event.yaml description: |- Begins a SAS key verification process using the `m.sas.v1` method. properties: content: properties: from_device: type: string description: |- The device ID which is initiating the process. transaction_id: type: string description: |- Required when sent as a to-device message. 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. Should include at least `curve25519-hkdf-sha256`. 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 code methods that the sending device understands. Must include at least `hkdf-hmac-sha256.v2`. Should also include `hkdf-hmac-sha256` for compatibility with older clients, though this identifier is deprecated and will be removed in a future version of the spec. 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"] m.relates_to: allOf: - $ref: m.key.verification.m.relates_to.yaml required: - from_device - method - key_agreement_protocols - hashes - message_authentication_codes - short_authentication_string type: object type: enum: - m.key.verification.start type: string type: object