mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-03-04 10:44:10 +01:00
Historical note: this was originally a series of several commits, spread out over several weeks. They have been squashed together to make `git annotate` work properly. The original commits were: * 91ab3934 <Will> 2021-01-25 21:16:42 -0800 Add raw API end event schemas into /data directory * aae22f47 <Will> 2021-01-25 21:33:06 -0800 Remove non-data files * 1092d4ca <Will> 2021-01-26 20:41:33 -0800 Add data-compatiuble extension (.yaml) to all data files that currently omit one * 21060109 <Will> 2021-01-26 20:57:28 -0800 Remove symlink to event-schemas, and update openAPI schema paths accordingly * 4f633845 <Travis Ralston> 2021-04-12 21:54:54 -0600 Fix event schema examples too * 301c7b2f <Will> 2021-02-05 10:15:42 -0800 Restore docs describing OpenAPI extensions that we use
47 lines
2.3 KiB
YAML
47 lines
2.3 KiB
YAML
---
|
|
$schema: http://json-schema.org/draft-04/schema#
|
|
allOf:
|
|
- $ref: core-event-schema/state_event.yaml
|
|
description: "Acts as an ``m.room.member`` invite event, where there isn't a target user_id to invite. This event contains a token and a public key whose private key must be used to sign the token. Any user who can present that signature may use this invitation to join the target room."
|
|
properties:
|
|
content:
|
|
properties:
|
|
display_name:
|
|
description: "A user-readable string which represents the user who has been invited. This should not contain the user's third party ID, as otherwise when the invite is accepted it would leak the association between the matrix ID and the third party ID."
|
|
type: string
|
|
key_validity_url:
|
|
description: "A URL which can be fetched, with querystring public_key=public_key, to validate whether the key has been revoked. The URL must return a JSON object containing a boolean property named 'valid'."
|
|
type: string
|
|
public_key:
|
|
description: A base64-encoded ed25519 key with which token must be signed (though a signature from any entry in public_keys is also sufficient). This exists for backwards compatibility.
|
|
type: string
|
|
public_keys:
|
|
description: Keys with which the token may be signed.
|
|
items:
|
|
properties:
|
|
key_validity_url:
|
|
description: "An optional URL which can be fetched, with querystring public_key=public_key, to validate whether the key has been revoked. The URL must return a JSON object containing a boolean property named 'valid'. If this URL is absent, the key must be considered valid indefinitely."
|
|
type: string
|
|
public_key:
|
|
description: A base-64 encoded ed25519 key with which token may be signed.
|
|
type: string
|
|
required:
|
|
- public_key
|
|
title: PublicKeys
|
|
type: object
|
|
type: array
|
|
required:
|
|
- display_name
|
|
- key_validity_url
|
|
- public_key
|
|
type: object
|
|
state_key:
|
|
description: 'The token, of which a signature must be produced in order to join the room.'
|
|
type: string
|
|
type:
|
|
enum:
|
|
- m.room.third_party_invite
|
|
type: string
|
|
title: 'An invitation to a room issued to a third party identifier, rather than a matrix user ID.'
|
|
type: object
|