# Copyright 2025 The Matrix.org Foundation C.I.C # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. type: object title: OlmPayload description: |- The plaintext payload of Olm message events. properties: type: type: string description: The type of the event. content: type: object description: The event content. sender: type: string description: The user ID of the event sender. recipient: type: string description: The user ID of the intended event recipient. recipient_keys: description: The recipient's signing keys of the encrypted event. $ref: "#/components/schemas/SigningKeys" keys: $ref: "#/components/schemas/SigningKeys" description: The sender's signing keys of the encrypted event. sender_device_keys: $ref: device_keys.yaml description: The sender's device keys. x-addedInMatrixVersion: "1.15" required: - type - content - sender - recipient - recipient_keys - keys components: schemas: SigningKeys: type: object title: SigningKeys description: Public keys used for an `m.olm.v1.curve25519-aes-sha2` event. properties: ed25519: type: string description: The Ed25519 public key encoded using unpadded base64. required: - ed25519 example: { "type": "", "content": "", "sender": "", "recipient": "", "recipient_keys": { "ed25519": "" }, "keys": { "ed25519": "" }, "sender_device_keys": { "algorithms": ["", ""], "user_id": "", "device_id": "", "keys": { "ed25519:": "", "curve25519:": "" }, "signatures": { "": { "ed25519:": "", "ed25519:": "", } } } }