End-to-end encryption

Store several keys in the backup for a given room.

Store several keys in the backup for a given room.

put/_matrix/client/v3/room_keys/keys/{roomId}

Request

Path parameters

roomIdstring required

The ID of the room that the keys are for.

Query parameters

versionstring required

The backup in which to store the keys. Must be the current backup.

Request body

sessionsobject required

A map of session IDs to key data.

Example request

{
  "sessions": {
    "sessionid1": {
      "first_message_index": 1,
      "forwarded_count": 0,
      "is_verified": true,
      "session_data": {
        "ciphertext": "base64+ciphertext+of+JSON+data",
        "ephemeral": "base64+ephemeral+key",
        "mac": "base64+mac+of+ciphertext"
      }
    }
  }
}

Response

The update succeeded

countinteger required

The number of keys stored in the backup

etagstring required

The new etag value representing stored keys in the backup.

See GET /room_keys/version/{version} for more details.

Example response

{
  "count": 10,
  "etag": "abcdefg"
}

Changes

No recorded changes to this operation across all 1 revision of this API.