Upload cross-signing signatures.

POST {{baseUrl}}/keys/signatures/upload

Publishes cross-signing signatures for the user. The request body is a map from user ID to key ID to signed JSON object.

Request Body

{"@alice:example.com"=>{"HIJKLMN"=>{"user_id"=>"@alice:example.com", "device_id"=>"HIJKLMN", "algorithms"=>["m.olm.curve25519-aes-sha256", "m.megolm.v1.aes-sha"], "keys"=>{"curve25519:HIJKLMN"=>"base64+curve25519+key", "ed25519:HIJKLMN"=>"base64+ed25519+key"}, "signatures"=>{"@alice:example.com"=>{"ed25519:base64+self+signing+public+key"=>"base64+signature+of+HIJKLMN"}}}, "base64+master+public+key"=>{"user_id"=>"@alice:example.com", "usage"=>["master"], "keys"=>{"ed25519:base64+master+public+key"=>"base64+master+public+key"}, "signatures"=>{"@alice:example.com"=>{"ed25519:HIJKLMN"=>"base64+signature+of+master+key"}}}}, "@bob:example.com"=>{"bobs+base64+master+public+key"=>{"user_id"=>"@bob:example.com", "keys"=>{"ed25519:bobs+base64+master+public+key"=>"bobs+base64+master+public+key"}, "usage"=>["master"], "signatures"=>{"@alice:example.com"=>{"ed25519:base64+user+signing+public+key"=>"base64+signature+of+bobs+master+key"}}}}}

HEADERS

KeyDatatypeRequiredDescription
Content-Typestring

RESPONSES

status: OK

{"failures":{"@alice:example.com":{"HIJKLMN":{"errcode":"M_INVALID_SIGNATURE","error":"Invalid signature"}}}}