Fix links in data

anoa/support-rendered-data
Will 4 years ago
parent 2c74daefa3
commit c12c57f389
No known key found for this signature in database
GPG Key ID: 385872BB265E8BF8

@ -183,7 +183,7 @@ paths:
post: post:
summary: Adds contact information to the user's account. summary: Adds contact information to the user's account.
description: |- description: |-
This API endpoint uses the `User-Interactive Authentication API`_. This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api).
Adds contact information to the user's account. Homeservers should use 3PIDs added Adds contact information to the user's account. Homeservers should use 3PIDs added
through this endpoint for password resets instead of relying on the identity server. through this endpoint for password resets instead of relying on the identity server.
@ -424,7 +424,8 @@ paths:
already associated with an account on this homeserver. This API should already associated with an account on this homeserver. This API should
be used to request validation tokens when adding an email address to an be used to request validation tokens when adding an email address to an
account. This API's parameters and response are identical to that of account. This API's parameters and response are identical to that of
the |/register/email/requestToken|_ endpoint. The homeserver should validate the [`/register/email/requestToken`](/client-server-api/#post_matrixclientr0registeremailrequesttoken)
endpoint. The homeserver should validate
the email itself, either by sending a validation email itself or by using the email itself, either by sending a validation email itself or by using
a service it has control over. a service it has control over.
operationId: requestTokenTo3PIDEmail operationId: requestTokenTo3PIDEmail
@ -474,7 +475,8 @@ paths:
already associated with an account on this homeserver. This API should already associated with an account on this homeserver. This API should
be used to request validation tokens when adding a phone number to an be used to request validation tokens when adding a phone number to an
account. This API's parameters and response are identical to that of account. This API's parameters and response are identical to that of
the |/register/msisdn/requestToken|_ endpoint. The homeserver should validate the [`/register/msisdn/requestToken`](/client-server-api/#post_matrixclientr0registermsisdnrequesttoken)
endpoint. The homeserver should validate
the phone number itself, either by sending a validation message itself or by using the phone number itself, either by sending a validation message itself or by using
a service it has control over. a service it has control over.
operationId: requestTokenTo3PIDMSISDN operationId: requestTokenTo3PIDMSISDN

@ -62,7 +62,7 @@ paths:
reason: reason:
type: string type: string
description: The reason the user has been banned. This will be supplied as the description: The reason the user has been banned. This will be supplied as the
`reason` on the target's updated `m.room.member`_ event. `reason` on the target's updated [`m.room.member`](/client-server-api/#mroommember) event.
required: ["user_id"] required: ["user_id"]
responses: responses:
200: 200:

@ -59,14 +59,14 @@ paths:
format: byte format: byte
responses: responses:
200: 200:
description: The `MXC URI`_ for the uploaded content. description: The [MXC URI](/client-server-api/#matrix-content-mxc-uris) for the uploaded content.
schema: schema:
type: object type: object
required: ["content_uri"] required: ["content_uri"]
properties: properties:
content_uri: content_uri:
type: string type: string
description: "The `MXC URI`_ to the uploaded content." description: "The [MXC URI](/client-server-api/#matrix-content-mxc-uris) to the uploaded content."
examples: examples:
application/json: { application/json: {
"content_uri": "mxc://example.com/AQwafuaFswefuhsfAFAgsw" "content_uri": "mxc://example.com/AQwafuaFswefuhsfAFAgsw"
@ -238,7 +238,7 @@ paths:
summary: Download a thumbnail of content from the content repository summary: Download a thumbnail of content from the content repository
description: |- description: |-
Download a thumbnail of content from the content repository. Download a thumbnail of content from the content repository.
See the `thumbnailing <#thumbnails>`_ section for more information. See the [Thumbnails](/client-server-api/#thumbnails) section for more information.
operationId: getContentThumbnail operationId: getContentThumbnail
produces: ["image/jpeg", "image/png"] produces: ["image/jpeg", "image/png"]
parameters: parameters:
@ -278,7 +278,7 @@ paths:
name: method name: method
x-example: "scale" x-example: "scale"
description: |- description: |-
The desired resizing method. See the `thumbnailing <#thumbnails>`_ The desired resizing method. See the [Thumbnails](/client-server-api/#thumbnails)
section for more information. section for more information.
- in: query - in: query
type: boolean type: boolean
@ -390,7 +390,7 @@ paths:
"og:image": "og:image":
type: string type: string
description: |- description: |-
An `MXC URI`_ to the image. Omitted if there is no image. An [MXC URI](/client-server-api/#matrix-content-mxc-uris) to the image. Omitted if there is no image.
examples: examples:
application/json: { application/json: {
"og:title": "Matrix Blog Post", "og:title": "Matrix Blog Post",

@ -173,7 +173,7 @@ paths:
type: object type: object
description: |- description: |-
Extra keys, such as `m.federate`, to be added to the content Extra keys, such as `m.federate`, to be added to the content
of the `m.room.create`_ event. The server will clobber the following of the [`m.room.create`](client-server-api/#mroomcreate) event. The server will clobber the following
keys: `creator`, `room_version`. Future versions of the specification keys: `creator`, `room_version`. Future versions of the specification
may allow the server to clobber other keys. may allow the server to clobber other keys.
initial_state: initial_state:
@ -216,13 +216,14 @@ paths:
description: |- description: |-
This flag makes the server set the `is_direct` flag on the This flag makes the server set the `is_direct` flag on the
`m.room.member` events sent to the users in `invite` and `m.room.member` events sent to the users in `invite` and
`invite_3pid`. See `Direct Messaging`_ for more information. `invite_3pid`. See [Direct Messaging](/client-server-api/#direct-messaging) for more information.
power_level_content_override: power_level_content_override:
title: Power Level Event Content title: Power Level Event Content
type: object type: object
description: |- description: |-
The power level content to override in the default power level The power level content to override in the default power level
event. This object is applied on top of the generated `m.room.power_levels`_ event. This object is applied on top of the generated
[`m.room.power_levels`](client-server-api/#mroompower_levels)
event content prior to it being sent to the room. Defaults to event content prior to it being sent to the room. Defaults to
overriding nothing. overriding nothing.
responses: responses:

@ -33,7 +33,7 @@ paths:
description: |- description: |-
Publishes cross-signing keys for the user. Publishes cross-signing keys for the user.
This API endpoint uses the `User-Interactive Authentication API`_. This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api).
operationId: uploadCrossSigningKeys operationId: uploadCrossSigningKeys
security: security:
- accessToken: [] - accessToken: []

@ -41,8 +41,8 @@ properties:
type: object type: object
title: Signatures title: Signatures
description: |- description: |-
Signatures of the key, calculated using the process described at `Signing Signatures of the key, calculated using the process described at [Signing JSON](/appendices/#signing-json).
JSON`_. Optional for the master key. Other keys must be signed by the Optional for the master key. Other keys must be signed by the
user\'s master key. user\'s master key.
example: { example: {
"@alice:example.com": { "@alice:example.com": {

@ -52,8 +52,7 @@ properties:
Signatures for the device key object. A map from user ID, to a map from Signatures for the device key object. A map from user ID, to a map from
`<algorithm>:<device_id>` to the signature. `<algorithm>:<device_id>` to the signature.
The signature is calculated using the process described at `Signing The signature is calculated using the process described at [Signing JSON](/appendices/#signing-json).
JSON`_.
additionalProperties: additionalProperties:
type: object type: object
additionalProperties: additionalProperties:

@ -35,7 +35,7 @@ properties:
session_data: session_data:
description: |- description: |-
Algorithm-dependent data. See the documentation for the backup Algorithm-dependent data. See the documentation for the backup
algorithms in `Server-side key backups`_ for more information on the algorithms in [Server-side key backups](/client-server-api/#server-side-key-backups) for more information on the
expected format of the data. expected format of the data.
type: object type: object
example: { example: {

@ -18,7 +18,7 @@ properties:
kind: kind:
type: string type: string
description: |- description: |-
The kind of condition to apply. See `conditions <#conditions>`_ for The kind of condition to apply. See [conditions](/client-server-api/#conditions) for
more information on the allowed kinds and how they work. more information on the allowed kinds and how they work.
key: key:
type: string type: string

@ -20,7 +20,7 @@ allOf:
type: boolean type: boolean
description: |- description: |-
If `true`, enables lazy-loading of membership events. See If `true`, enables lazy-loading of membership events. See
`Lazy-loading room members <#lazy-loading-room-members>`_ [Lazy-loading room members](/client-server-api/#lazy-loading-room-members)
for more information. Defaults to `false`. for more information. Defaults to `false`.
include_redundant_members: include_redundant_members:
type: boolean type: boolean
@ -28,7 +28,7 @@ allOf:
If `true`, sends all membership events for all events, even if they have already If `true`, sends all membership events for all events, even if they have already
been sent to the client. Does not been sent to the client. Does not
apply unless `lazy_load_members` is `true`. See apply unless `lazy_load_members` is `true`. See
`Lazy-loading room members <#lazy-loading-room-members>`_ [Lazy-loading room members](/client-server-api/#lazy-loading-room-members)
for more information. Defaults to `false`. for more information. Defaults to `false`.
not_rooms: not_rooms:
description: A list of room IDs to exclude. If this list is absent then no rooms description: A list of room IDs to exclude. If this list is absent then no rooms

@ -18,7 +18,7 @@ type: object
properties: properties:
type: type:
type: string type: string
description: The type of identification. See `Identifier types`_ for supported values and additional property descriptions. description: The type of identification. See [Identifier types](/client-server-api/#identifier-types) for supported values and additional property descriptions.
required: required:
- type - type
additionalProperties: true additionalProperties: true

@ -137,7 +137,7 @@ paths:
delete: delete:
summary: Delete a device summary: Delete a device
description: |- description: |-
This API endpoint uses the `User-Interactive Authentication API`_. This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api).
Deletes the given device, and invalidates any access token associated with it. Deletes the given device, and invalidates any access token associated with it.
operationId: deleteDevice operationId: deleteDevice
@ -183,7 +183,7 @@ paths:
post: post:
summary: Bulk deletion of devices summary: Bulk deletion of devices
description: |- description: |-
This API endpoint uses the `User-Interactive Authentication API`_. This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api).
Deletes the given devices, and invalidates any access token associated with them. Deletes the given devices, and invalidates any access token associated with them.
operationId: deleteDevices operationId: deleteDevices

@ -36,7 +36,7 @@ paths:
surrounding an event. surrounding an event.
*Note*: This endpoint supports lazy-loading of room member events. See *Note*: This endpoint supports lazy-loading of room member events. See
`Lazy-loading room members <#lazy-loading-room-members>`_ for more information. [Lazy-loading room members](/client-server-api/#lazy-loading-room-members) for more information.
operationId: getEventContext operationId: getEventContext
security: security:
- accessToken: [] - accessToken: []
@ -69,7 +69,7 @@ paths:
be applied before or/and after the `limit` parameter - whichever the be applied before or/and after the `limit` parameter - whichever the
homeserver prefers. homeserver prefers.
See `Filtering <#filtering>`_ for more information. See [Filtering](/client-server-api/#filtering) for more information.
x-example: "66696p746572" x-example: "66696p746572"
responses: responses:
200: 200:

@ -33,12 +33,10 @@ paths:
post: post:
summary: Invite a user to participate in a particular room. summary: Invite a user to participate in a particular room.
description: |- description: |-
.. _invite-by-user-id-endpoint:
*Note that there are two forms of this API, which are documented separately. *Note that there are two forms of this API, which are documented separately.
This version of the API requires that the inviter knows the Matrix This version of the API requires that the inviter knows the Matrix
identifier of the invitee. The other is documented in the* identifier of the invitee. The other is documented in the*
`third party invites section`_. [third party invites section](/client-server-api/#post_matrixclientr0roomsroomidinvite-1).
This API invites a user to participate in a particular room. This API invites a user to participate in a particular room.
They do not start participating in the room until they actually join the They do not start participating in the room until they actually join the
@ -50,7 +48,6 @@ paths:
If the user was invited to the room, the homeserver will append a If the user was invited to the room, the homeserver will append a
`m.room.member` event to the room. `m.room.member` event to the room.
.. _third party invites section: `invite-by-third-party-id-endpoint`_
operationId: inviteUser operationId: inviteUser
security: security:
- accessToken: [] - accessToken: []

@ -40,7 +40,8 @@ paths:
events associated with the room until the user leaves the room. events associated with the room until the user leaves the room.
After a user has joined a room, the room will appear as an entry in the After a user has joined a room, the room will appear as an entry in the
response of the |/initialSync|_ and |/sync|_ APIs. response of the [`/initialSync`](/client-server-api/#get_matrixclientr0initialsync)
and [`/sync`](/client-server-api/#get_matrixclientr0sync) APIs.
operationId: joinRoomById operationId: joinRoomById
security: security:
- accessToken: [] - accessToken: []
@ -116,7 +117,8 @@ paths:
events associated with the room until the user leaves the room. events associated with the room until the user leaves the room.
After a user has joined a room, the room will appear as an entry in the After a user has joined a room, the room will appear as an entry in the
response of the |/initialSync|_ and |/sync|_ APIs. response of the [`/initialSync`](/client-server-api/#get_matrixclientr0initialsync)
and [`/sync`](/client-server-api/#get_matrixclientr0sync) APIs.
operationId: joinRoom operationId: joinRoom
security: security:
- accessToken: [] - accessToken: []

@ -51,7 +51,7 @@ paths:
auth_data: auth_data:
description: |- description: |-
Algorithm-dependent data. See the documentation for the backup Algorithm-dependent data. See the documentation for the backup
algorithms in `Server-side key backups`_ for more information on the algorithms in [Server-side key backups](/client-server-api/#server-side-key-backups) for more information on the
expected format of the data. expected format of the data.
type: object type: object
example: { example: {
@ -106,7 +106,7 @@ paths:
auth_data: auth_data:
description: |- description: |-
Algorithm-dependent data. See the documentation for the backup Algorithm-dependent data. See the documentation for the backup
algorithms in `Server-side key backups`_ for more information on the algorithms in [Server-side key backups](/client-server-api/#server-side-key-backups) for more information on the
expected format of the data. expected format of the data.
type: object type: object
example: { example: {
@ -169,8 +169,9 @@ paths:
name: version name: version
description: |- description: |-
The backup version to get, as returned in the `version` parameter The backup version to get, as returned in the `version` parameter
of the response in `POST /_matrix/client/r0/room_keys/version`_ or of the response in
this endpoint. [`POST /_matrix/client/r0/room_keys/version`](/client-server/#post_matrixclientr0room_keysversion)
or this endpoint.
required: true required: true
x-example: "1" x-example: "1"
responses: responses:
@ -188,7 +189,7 @@ paths:
auth_data: auth_data:
description: |- description: |-
Algorithm-dependent data. See the documentation for the backup Algorithm-dependent data. See the documentation for the backup
algorithms in `Server-side key backups`_ for more information on the algorithms in [Server-side key backups](/client-server-api/#server-side-key-backups) for more information on the
expected format of the data. expected format of the data.
type: object type: object
example: { example: {
@ -250,9 +251,9 @@ paths:
name: version name: version
description: |- description: |-
The backup version to update, as returned in the `version` The backup version to update, as returned in the `version`
parameter in the response of `POST parameter in the response of
/_matrix/client/r0/room_keys/version`_ or `GET [`POST /_matrix/client/r0/room_keys/version`](/client-server-api/#post_matrixclientr0room_keysversion)
/_matrix/client/r0/room_keys/version/{version}`_. or [`GET /_matrix/client/r0/room_keys/version/{version}`](/client-server-api/#get_matrixclientr0room_keysversionversion).
required: true required: true
x-example: "1" x-example: "1"
- in: body - in: body
@ -272,7 +273,7 @@ paths:
auth_data: auth_data:
description: |- description: |-
Algorithm-dependent data. See the documentation for the backup Algorithm-dependent data. See the documentation for the backup
algorithms in `Server-side key backups`_ for more information on the algorithms in [Server-side key backups](/client-server-api/#server-side-key-backups) for more information on the
expected format of the data. expected format of the data.
type: object type: object
example: { example: {
@ -339,9 +340,9 @@ paths:
name: version name: version
description: |- description: |-
The backup version to delete, as returned in the `version` The backup version to delete, as returned in the `version`
parameter in the response of `POST parameter in the response of
/_matrix/client/r0/room_keys/version`_ or `GET [`POST /_matrix/client/r0/room_keys/version`](/client-server-api/#post_matrixclientr0room_keysversion)
/_matrix/client/r0/room_keys/version/{version}`_. or [`GET /_matrix/client/r0/room_keys/version/{version}`](/client-server-api/#get_matrixclientr0room_keysversionversion).
required: true required: true
x-example: "1" x-example: "1"
responses: responses:

@ -58,7 +58,7 @@ paths:
One-time public keys for "pre-key" messages. The names of One-time public keys for "pre-key" messages. The names of
the properties should be in the format the properties should be in the format
`<algorithm>:<key_id>`. The format of the key is determined `<algorithm>:<key_id>`. The format of the key is determined
by the `key algorithm <#key-algorithms>`_. by the [key algorithm](/client-server-api/#key-algorithms).
May be absent if no new one-time keys are required. May be absent if no new one-time keys are required.
additionalProperties: additionalProperties:
@ -374,7 +374,7 @@ paths:
One-time keys for the queried devices. A map from user ID, to a One-time keys for the queried devices. A map from user ID, to a
map from devices to a map from `<algorithm>:<key_id>` to the key object. map from devices to a map from `<algorithm>:<key_id>` to the key object.
See the `key algorithms <#key-algorithms>`_ section for information See the [key algorithms](/client-server-api/#key-algorithms) section for information
on the Key Object format. on the Key Object format.
additionalProperties: additionalProperties:
type: object type: object

@ -65,7 +65,7 @@ paths:
type: string type: string
description: |- description: |-
The reason the user has been kicked. This will be supplied as the The reason the user has been kicked. This will be supplied as the
`reason` on the target's updated `m.room.member`_ event. `reason` on the target's updated [`m.room.member`](/client-server-api/#mroommember) event.
required: ["user_id"] required: ["user_id"]
responses: responses:
200: 200:

@ -77,7 +77,7 @@ paths:
The returned access token must be associated with the `device_id` The returned access token must be associated with the `device_id`
supplied by the client or generated by the server. The server may supplied by the client or generated by the server. The server may
invalidate any access token previously associated with that device. See invalidate any access token previously associated with that device. See
`Relationship between access tokens and devices`_. [Relationship between access tokens and devices](/client-server-api/#relationship-between-access-tokens-and-devices).
operationId: login operationId: login
parameters: parameters:
- in: body - in: body
@ -118,14 +118,15 @@ paths:
token: token:
type: string type: string
description: |- description: |-
Required when `type` is `m.login.token`. Part of `Token-based`_ login. Required when `type` is `m.login.token`. Part of Token-based login.
device_id: device_id:
type: string type: string
description: |- description: |-
ID of the client device. If this does not correspond to a ID of the client device. If this does not correspond to a
known client device, a new device will be created. The given known client device, a new device will be created. The given
device ID must not be the same as a `cross-signing key ID device ID must not be the same as a
<#cross-signing>`_. The server will auto-generate a device_id [cross-signing](/client-server-api/#cross-signing) key ID.
The server will auto-generate a device_id
if this is not specified. if this is not specified.
initial_device_display_name: initial_device_display_name:
type: string type: string

@ -33,7 +33,7 @@ paths:
description: |- description: |-
Invalidates an existing access token, so that it can no longer be used for Invalidates an existing access token, so that it can no longer be used for
authorization. The device associated with the access token is also deleted. authorization. The device associated with the access token is also deleted.
`Device keys <#device-keys>`_ for the device are deleted alongside the device. [Device keys](/client-server-api/#device-keys) for the device are deleted alongside the device.
operationId: logout operationId: logout
security: security:
- accessToken: [] - accessToken: []
@ -51,10 +51,10 @@ paths:
description: |- description: |-
Invalidates all access tokens for a user, so that they can no longer be used for Invalidates all access tokens for a user, so that they can no longer be used for
authorization. This includes the access token that made this request. All devices authorization. This includes the access token that made this request. All devices
for the user are also deleted. `Device keys <#device-keys>`_ for the device are for the user are also deleted. [Device keys](/client-server-api/#device-keys) for the device are
deleted alongside the device. deleted alongside the device.
This endpoint does not use the `User-Interactive Authentication API`_ because This endpoint does not use the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api) because
User-Interactive Authentication is designed to protect against attacks where the User-Interactive Authentication is designed to protect against attacks where the
someone gets hold of a single access token then takes over the account. This someone gets hold of a single access token then takes over the account. This
endpoint invalidates all access tokens for the user, including the token used in endpoint invalidates all access tokens for the user, including the token used in

@ -35,7 +35,7 @@ paths:
pagination query parameters to paginate history in the room. pagination query parameters to paginate history in the room.
*Note*: This endpoint supports lazy-loading of room member events. See *Note*: This endpoint supports lazy-loading of room member events. See
`Lazy-loading room members <#lazy-loading-room-members>`_ for more information. [Lazy-loading room members](/client-server-api/#lazy-loading-room-members) for more information.
operationId: getRoomEvents operationId: getRoomEvents
security: security:
- accessToken: [] - accessToken: []

@ -101,7 +101,7 @@ paths:
type: array type: array
description: |- description: |-
The action(s) to perform when the conditions for this rule are met. The action(s) to perform when the conditions for this rule are met.
See `Push Rules: API`_. See [Push Rules: API](/client-server-api/#push-rules-api).
items: items:
type: type:
- object - object

@ -35,9 +35,9 @@ paths:
block until an event is received, or until the `timeout` is reached. block until an event is received, or until the `timeout` is reached.
This endpoint was deprecated in r0 of this specification. Clients This endpoint was deprecated in r0 of this specification. Clients
should instead call the |/sync|_ API with a `since` parameter. See should instead call the [`/sync`](/client-server-api/#get_matrixclientr0sync)
the `migration guide API with a `since` parameter. See
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_. the [migration guide](https://matrix.org/docs/guides/migrating-from-client-server-api-v-1#deprecated-endpoints).
operationId: getEvents operationId: getEvents
security: security:
- accessToken: [] - accessToken: []
@ -101,9 +101,9 @@ paths:
number of messages per room to return. number of messages per room to return.
This endpoint was deprecated in r0 of this specification. Clients This endpoint was deprecated in r0 of this specification. Clients
should instead call the |/sync|_ API with no `since` parameter. See should instead call the [`/sync`](/client-server-api/#get_matrixclientr0sync)
the `migration guide API with no `since` parameter. See
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_. the [migration guide](https://matrix.org/docs/guides/migrating-from-client-server-api-v-1#deprecated-endpoints).
operationId: initialSync operationId: initialSync
security: security:
- accessToken: [] - accessToken: []
@ -310,8 +310,9 @@ paths:
retrieve this event e.g. by being a member in the room for this event. retrieve this event e.g. by being a member in the room for this event.
This endpoint was deprecated in r0 of this specification. Clients This endpoint was deprecated in r0 of this specification. Clients
should instead call the |/rooms/{roomId}/event/{eventId}|_ API should instead call the
or the |/rooms/{roomId}/context/{eventId}|_ API. [/rooms/{roomId}/event/{eventId}](/client-server-api/#get_matrixclientr0roomsroomideventeventid) API
or the [/rooms/{roomId}/context/{eventId](/client-server-api/#get_matrixclientr0roomsroomidcontexteventid) API.
operationId: getOneEvent operationId: getOneEvent
security: security:
- accessToken: [] - accessToken: []

@ -62,7 +62,8 @@ paths:
200: 200:
description: |- description: |-
OpenID token information. This response is nearly compatible with the OpenID token information. This response is nearly compatible with the
response documented in the `OpenID Connect 1.0 Specification <http://openid.net/specs/openid-connect-core-1_0.html#TokenResponse>`_ response documented in the
[OpenID Connect 1.0 Specification](http://openid.net/specs/openid-connect-core-1_0.html#TokenResponse)
with the only difference being the lack of an `id_token`. Instead, with the only difference being the lack of an `id_token`. Instead,
the Matrix homeserver's name is provided. the Matrix homeserver's name is provided.
examples: examples:

@ -135,7 +135,7 @@ paths:
post: post:
summary: Modify a pusher for this user on the homeserver. summary: Modify a pusher for this user on the homeserver.
description: |- description: |-
This endpoint allows the creation, modification and deletion of `pushers`_ This endpoint allows the creation, modification and deletion of [pushers](/client-server-api/#push-notifications)
for this user ID. The behaviour of this endpoint varies depending on the for this user ID. The behaviour of this endpoint varies depending on the
values in the JSON body. values in the JSON body.
operationId: postPusher operationId: postPusher
@ -231,7 +231,7 @@ paths:
The format to send notifications in to Push Gateways if the The format to send notifications in to Push Gateways if the
`kind` is `http`. The details about what fields the `kind` is `http`. The details about what fields the
homeserver should send to the push gateway are defined in the homeserver should send to the push gateway are defined in the
`Push Gateway Specification`_. Currently the only format [Push Gateway Specification](/push-gateway-api/). Currently the only format
available is 'event_id_only'. available is 'event_id_only'.
append: append:
type: boolean type: boolean

@ -29,7 +29,7 @@ paths:
post: post:
summary: Register for an account on this homeserver. summary: Register for an account on this homeserver.
description: |- description: |-
This API endpoint uses the `User-Interactive Authentication API`_, except in This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api), except in
the cases where a guest account is being registered. the cases where a guest account is being registered.
Register for an account on this homeserver. Register for an account on this homeserver.
@ -59,7 +59,7 @@ paths:
The returned access token must be associated with the `device_id` The returned access token must be associated with the `device_id`
supplied by the client or generated by the server. The server may supplied by the client or generated by the server. The server may
invalidate any access token previously associated with that device. See invalidate any access token previously associated with that device. See
`Relationship between access tokens and devices`_. [Relationship between access tokens and devices](/client-server-api/#relationship-between-access-tokens-and-devices).
When registering a guest account, all parameters in the request body When registering a guest account, all parameters in the request body
with the exception of `initial_device_display_name` MUST BE ignored with the exception of `initial_device_display_name` MUST BE ignored
@ -67,7 +67,7 @@ paths:
regardless of input. regardless of input.
Any user ID returned by this API must conform to the grammar given in the Any user ID returned by this API must conform to the grammar given in the
`Matrix specification <../appendices.html#user-identifiers>`_. [Matrix specification](/appendices/#user-identifiers).
operationId: register operationId: register
parameters: parameters:
- in: query - in: query
@ -145,7 +145,7 @@ paths:
The fully-qualified Matrix user ID (MXID) that has been registered. The fully-qualified Matrix user ID (MXID) that has been registered.
Any user ID returned by this API must conform to the grammar given in the Any user ID returned by this API must conform to the grammar given in the
`Matrix specification <../appendices.html#user-identifiers>`_. [Matrix specification](/appendices/#user-identifiers).
access_token: access_token:
type: string type: string
description: |- description: |-
@ -321,7 +321,7 @@ paths:
description: |- description: |-
Changes the password for an account on this homeserver. Changes the password for an account on this homeserver.
This API endpoint uses the `User-Interactive Authentication API`_ to This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api) to
ensure the user changing the password is actually the owner of the ensure the user changing the password is actually the owner of the
account. account.
@ -352,7 +352,7 @@ paths:
Whether the user's other access tokens, and their associated devices, should be Whether the user's other access tokens, and their associated devices, should be
revoked if the request succeeds. Defaults to true. revoked if the request succeeds. Defaults to true.
When `false`, the server can still take advantage of `the soft logout method <#soft-logout>`_ When `false`, the server can still take advantage of the [soft logout method](/client-server-api/#soft-logout)
for the user's remaining devices. for the user's remaining devices.
example: true example: true
auth: auth:
@ -389,7 +389,8 @@ paths:
`/account/password` endpoint. `/account/password` endpoint.
This API's parameters and response are identical to that of the This API's parameters and response are identical to that of the
|/register/email/requestToken|_ endpoint, except that [`/register/email/requestToken`](/client-server-api/#post_matrixclientr0registeremailrequesttoken)
endpoint, except that
`M_THREEPID_NOT_FOUND` may be returned if no account matching the `M_THREEPID_NOT_FOUND` may be returned if no account matching the
given email address could be found. The server may instead send an given email address could be found. The server may instead send an
email to the given address prompting the user to create an account. email to the given address prompting the user to create an account.
@ -397,11 +398,6 @@ paths:
The homeserver should validate the email itself, either by sending a The homeserver should validate the email itself, either by sending a
validation email itself or by using a service it has control over. validation email itself or by using a service it has control over.
.. |/register/email/requestToken| replace:: `/register/email/requestToken`
.. _/register/email/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken
operationId: requestTokenToResetPasswordEmail operationId: requestTokenToResetPasswordEmail
parameters: parameters:
- in: body - in: body
@ -448,7 +444,8 @@ paths:
`/account/password` endpoint. `/account/password` endpoint.
This API's parameters and response are identical to that of the This API's parameters and response are identical to that of the
|/register/msisdn/requestToken|_ endpoint, except that [`/register/msisdn/requestToken`](/client-server-api/#post_matrixclientr0registermsisdnrequesttoken)
endpoint, except that
`M_THREEPID_NOT_FOUND` may be returned if no account matching the `M_THREEPID_NOT_FOUND` may be returned if no account matching the
given phone number could be found. The server may instead send the SMS given phone number could be found. The server may instead send the SMS
to the given phone number prompting the user to create an account. to the given phone number prompting the user to create an account.
@ -456,10 +453,6 @@ paths:
The homeserver should validate the phone number itself, either by sending a The homeserver should validate the phone number itself, either by sending a
validation message itself or by using a service it has control over. validation message itself or by using a service it has control over.
.. |/register/msisdn/requestToken| replace:: `/register/msisdn/requestToken`
.. _/register/msisdn/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken
operationId: requestTokenToResetPasswordMSISDN operationId: requestTokenToResetPasswordMSISDN
parameters: parameters:
- in: body - in: body
@ -503,7 +496,7 @@ paths:
Deactivate the user's account, removing all ability for the user to Deactivate the user's account, removing all ability for the user to
login again. login again.
This API endpoint uses the `User-Interactive Authentication API`_. This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api).
An access token should be submitted to this endpoint if the client has An access token should be submitted to this endpoint if the client has
an active session. an active session.

@ -22,8 +22,8 @@ paths:
This endpoint was deprecated in r0 of this specification. There is no This endpoint was deprecated in r0 of this specification. There is no
direct replacement; the relevant information is returned by the direct replacement; the relevant information is returned by the
|/sync|_ API. See the `migration guide [`/sync`](/client-server-api/#get_matrixclientr0sync) API. See the
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_. [migration guide](https://matrix.org/docs/guides/migrating-from-client-server-api-v-1#deprecated-endpoints).
operationId: roomInitialSync operationId: roomInitialSync
security: security:
- accessToken: [] - accessToken: []

@ -37,7 +37,7 @@ paths:
The body of the request should be the content object of the event; the The body of the request should be the content object of the event; the
fields in this object will vary depending on the type of event. See fields in this object will vary depending on the type of event. See
`Room Events`_ for the m. event specification. [Room Events](/client-server-api/#room-events) for the m. event specification.
operationId: sendMessage operationId: sendMessage
security: security:
- accessToken: [] - accessToken: []

@ -31,9 +31,6 @@ paths:
put: put:
summary: Send a state event to the given room. summary: Send a state event to the given room.
description: | description: |
.. For backwards compatibility with older links...
.. _`put-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-state-eventtype`:
State events can be sent using this endpoint. These events will be State events can be sent using this endpoint. These events will be
overwritten if `<room id>`, `<event type>` and `<state key>` all overwritten if `<room id>`, `<event type>` and `<state key>` all
match. match.
@ -44,7 +41,7 @@ paths:
The body of the request should be the content object of the event; the The body of the request should be the content object of the event; the
fields in this object will vary depending on the type of event. See fields in this object will vary depending on the type of event. See
`Room Events`_ for the `m.` event specification. [Room Events](/client-server-api/#room-events) for the `m.` event specification.
If the event type being sent is `m.room.canonical_alias` servers If the event type being sent is `m.room.canonical_alias` servers
SHOULD ensure that any new aliases being listed in the event are valid SHOULD ensure that any new aliases being listed in the event are valid

@ -75,9 +75,6 @@ paths:
get: get:
summary: Get the state identified by the type and key. summary: Get the state identified by the type and key.
description: |- description: |-
.. For backwards compatibility with older links...
.. _`get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-state-eventtype`:
Looks up the contents of a state event in a room. If the user is Looks up the contents of a state event in a room. If the user is
joined to the room then the state is taken from the current joined to the room then the state is taken from the current
state of the room. If the user has left the room then the state is state of the room. If the user has left the room then the state is

@ -90,12 +90,8 @@ paths:
filter: filter:
type: object type: object
title: Filter title: Filter
# Within the C-S spec document, `filter`_ is picked up
# as a link to the filtering section. In OpenAPI 3.0,
# we could use the link feature, but we're still on 2.0
# for now :/
description: |- description: |-
This takes a `filter`_. This takes a [filter](/client-server-api/#filtering).
allOf: allOf:
- $ref: "definitions/room_event_filter.yaml" - $ref: "definitions/room_event_filter.yaml"
order_by: order_by:

@ -35,7 +35,7 @@ paths:
of the state on the server, and then continue to call this API to get of the state on the server, and then continue to call this API to get
incremental deltas to the state, and to receive new messages. incremental deltas to the state, and to receive new messages.
*Note*: This endpoint supports lazy-loading. See `Filtering <#filtering>`_ *Note*: This endpoint supports lazy-loading. See [Filtering](/client-server-api/#filtering)
for more information. Lazy-loading members is only supported on a `StateFilter` for more information. Lazy-loading members is only supported on a `StateFilter`
for this endpoint. When lazy-loading is enabled, servers MUST include the for this endpoint. When lazy-loading is enabled, servers MUST include the
syncing user's own membership event when they join a room, or when the syncing user's own membership event when they join a room, or when the
@ -67,7 +67,7 @@ paths:
clients that reuse the same filter multiple times, for example in clients that reuse the same filter multiple times, for example in
long poll requests. long poll requests.
See `Filtering <#filtering>`_ for more information. See [Filtering](/client-server-api/#filtering) for more information.
x-example: "66696p746572" x-example: "66696p746572"
- in: query - in: query
name: since name: since
@ -236,7 +236,7 @@ paths:
type: object type: object
description: |- description: |-
Counts of unread notifications for this room. See the Counts of unread notifications for this room. See the
`Receiving notifications section <#receiving-notifications>`_ [Receiving notifications](/client-server-api/#receiving-notifications) section
for more information on how these are calculated. for more information on how these are calculated.
properties: properties:
highlight_count: highlight_count:
@ -333,13 +333,13 @@ paths:
type: object type: object
description: |- description: |-
Information on the send-to-device messages for the client Information on the send-to-device messages for the client
device, as defined in |send_to_device_sync|_. device, as defined in [Send-to-Device messaging](/client-server-api/#extensions-to-sync).
device_lists: device_lists:
title: DeviceLists title: DeviceLists
type: object type: object
description: |- description: |-
Information on end-to-end device updates, as specified in Information on end-to-end device updates, as specified in
|device_lists_sync|_. [End-to-end encryption](/client-server-api/#extensions-to-sync-1).
device_one_time_keys_count: device_one_time_keys_count:
title: One-time keys count title: One-time keys count
type: object type: object
@ -347,7 +347,7 @@ paths:
type: integer type: integer
description: |- description: |-
Information on end-to-end encryption keys, as specified Information on end-to-end encryption keys, as specified
in |device_lists_sync|_. in [End-to-end encryption](/client-server-api/#extensions-to-sync-1).
required: required:
- next_batch - next_batch
examples: examples:

@ -31,14 +31,12 @@ paths:
post: post:
summary: Invite a user to participate in a particular room. summary: Invite a user to participate in a particular room.
description: |- description: |-
.. _invite-by-third-party-id-endpoint:
*Note that there are two forms of this API, which are documented separately. *Note that there are two forms of this API, which are documented separately.
This version of the API does not require that the inviter know the Matrix This version of the API does not require that the inviter know the Matrix
identifier of the invitee, and instead relies on third party identifiers. identifier of the invitee, and instead relies on third party identifiers.
The homeserver uses an identity server to perform the mapping from The homeserver uses an identity server to perform the mapping from
third party identifier to a Matrix identifier. The other is documented in the* third party identifier to a Matrix identifier. The other is documented in the*
`joining rooms section`_. [joining rooms section](/client-server-api/#post_matrixclientr0roomsroomidinvite).
This API invites a user to participate in a particular room. This API invites a user to participate in a particular room.
They do not start participating in the room until they actually join the They do not start participating in the room until they actually join the
@ -74,7 +72,6 @@ paths:
If a token is requested from the identity server, the homeserver will If a token is requested from the identity server, the homeserver will
append a `m.room.third_party_invite` event to the room. append a `m.room.third_party_invite` event to the room.
.. _joining rooms section: `invite-by-user-id-endpoint`_
operationId: inviteBy3PID operationId: inviteBy3PID
security: security:
- accessToken: [] - accessToken: []

@ -258,7 +258,7 @@ paths:
medium: medium:
type: string type: string
description: |- description: |-
A medium from the `3PID Types`_ Appendix, matching the medium A medium from the [3PID Types](/appendices/#3pid-types) Appendix, matching the medium
of the identifier to unbind. of the identifier to unbind.
address: address:
type: string type: string

@ -53,7 +53,7 @@ paths:
description: The token from the call to `store-invite`. description: The token from the call to `store-invite`.
private_key: private_key:
type: string type: string
description: The private key, encoded as `Unpadded base64`_. description: The private key, encoded as [Unpadded base64](/appendices/#unpadded-base64).
required: ["mxid", "token", "private_key"] required: ["mxid", "token", "private_key"]
responses: responses:
200: 200:

@ -38,13 +38,13 @@ paths:
type: string type: string
name: medium name: medium
required: true required: true
description: The medium type of the 3pid. See the `3PID Types`_ Appendix. description: The medium type of the 3pid. See the [3PID Types](/appendices/#3pid-types) Appendix.
x-example: "email" x-example: "email"
- in: query - in: query
type: string type: string
name: address name: address
required: true required: true
description: The address of the 3pid being looked up. See the `3PID Types`_ Appendix. description: The address of the 3pid being looked up. See the [3PID Types](/appendices/#3pid-types) Appendix.
x-example: "louise@bobs.burgers" x-example: "louise@bobs.burgers"
responses: responses:
200: 200:
@ -72,7 +72,7 @@ paths:
description: The 3pid address of the user being looked up, matching the address requested. description: The 3pid address of the user being looked up, matching the address requested.
medium: medium:
type: string type: string
description: A medium from the `3PID Types`_ Appendix, matching the medium requested. description: A medium from the [3PID Types](/appendices/#3pid-types) Appendix, matching the medium requested.
mxid: mxid:
type: string type: string
description: The Matrix user ID associated with the 3pid. description: The Matrix user ID associated with the 3pid.
@ -131,7 +131,7 @@ paths:
- type: string - type: string
- type: string - type: string
description: |- description: |-
An array of arrays containing the `3PID Types`_ with the `medium` An array of arrays containing the [3PID Types](/appendices/#3pid-types) with the `medium`
in first position and the `address` in second position. in first position and the `address` in second position.
required: required:
- "threepids" - "threepids"
@ -164,7 +164,7 @@ paths:
- type: string - type: string
- type: string - type: string
description: |- description: |-
An array of array containing the `3PID Types`_ with the `medium` An array of array containing the [3PID Types](/appendices/#3pid-types) with the `medium`
in first position, the `address` in second position and Matrix user in first position, the `address` in second position and Matrix user
ID in third position. ID in third position.
required: required:

@ -98,7 +98,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -222,7 +222,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -286,7 +286,7 @@ paths:
medium: medium:
type: string type: string
description: |- description: |-
A medium from the `3PID Types`_ Appendix, matching the medium A medium from the [3PID Types](/appendices/#3pid-types) Appendix, matching the medium
of the identifier to unbind. of the identifier to unbind.
address: address:
type: string type: string
@ -318,7 +318,7 @@ paths:
unbinding identifiers). unbinding identifiers).
Another common error code is `M_TERMS_NOT_SIGNED` where the user Another common error code is `M_TERMS_NOT_SIGNED` where the user
needs to `agree to more terms`_ in order to continue. needs to [agree to more terms](/identity-service-api/#terms-of-service) in order to continue.
examples: examples:
application/json: { application/json: {
"errcode": "M_FORBIDDEN", "errcode": "M_FORBIDDEN",

@ -83,7 +83,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -121,7 +121,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",

@ -77,7 +77,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -149,7 +149,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -206,7 +206,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",

@ -57,7 +57,7 @@ paths:
description: The token from the call to `store-invite`. description: The token from the call to `store-invite`.
private_key: private_key:
type: string type: string
description: The private key, encoded as `Unpadded base64`_. description: The private key, encoded as [Unpadded base64](/appendices/#unpadded-base64).
required: ["mxid", "token", "private_key"] required: ["mxid", "token", "private_key"]
responses: responses:
200: 200:
@ -102,7 +102,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",

@ -79,7 +79,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -151,7 +151,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",
@ -208,7 +208,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",

@ -166,7 +166,7 @@ paths:
403: 403:
description: | description: |
The user must do something in order to use this endpoint. One example The user must do something in order to use this endpoint. One example
is an `M_TERMS_NOT_SIGNED` error where the user must `agree to more terms`_. is an `M_TERMS_NOT_SIGNED` error where the user must [agree to more terms](/identity-service-api/#terms-of-service).
examples: examples:
application/json: { application/json: {
"errcode": "M_TERMS_NOT_SIGNED", "errcode": "M_TERMS_NOT_SIGNED",

@ -130,7 +130,7 @@ paths:
type: array type: array
description: |- description: |-
The missing events. The event format varies depending on the room version - check The missing events. The event format varies depending on the room version - check
the `room version specification`_ for precise event formats. the [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU

@ -15,7 +15,7 @@ type: object
title: InviteEvent title: InviteEvent
description: |- description: |-
An invite event. Note that events have a different format depending on the An invite event. Note that events have a different format depending on the
room version - check the `room version specification`_ for precise event formats. room version - check the [room version specification](/#room-versions) for precise event formats.
allOf: allOf:
- type: object - type: object
properties: properties:
@ -46,7 +46,7 @@ allOf:
title: Membership Event Content title: Membership Event Content
description: |- description: |-
The content of the event, matching what is available in the The content of the event, matching what is available in the
`Client-Server API`_. Must include a `membership` of `invite`. [Client-Server API](/client-server-api/). Must include a `membership` of `invite`.
example: {"membership": "invite"} example: {"membership": "invite"}
properties: properties:
membership: membership:

@ -41,7 +41,7 @@ properties:
properties: properties:
key: key:
type: string type: string
description: The `Unpadded Base64`_ encoded key. description: The [Unpadded base64](/appendices/#unpadded-base64) encoded key.
example: "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA" example: "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA"
required: ["key"] required: ["key"]
old_verify_keys: old_verify_keys:
@ -70,7 +70,7 @@ properties:
example: 1532645052628 example: 1532645052628
key: key:
type: string type: string
description: The `Unpadded Base64`_ encoded key. description: The [Unpadded base64](/appendices/#unpadded-base64) encoded key.
example: "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg" example: "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg"
required: ["expired_ts", "key"] required: ["expired_ts", "key"]
signatures: signatures:
@ -78,8 +78,7 @@ properties:
description: |- description: |-
Digital signatures for this object signed using the `verify_keys`. Digital signatures for this object signed using the `verify_keys`.
The signature is calculated using the process described at `Signing The signature is calculated using the process described at [Signing JSON](/appendices/#signing-json).
JSON`_.
title: Signatures title: Signatures
additionalProperties: additionalProperties:
type: object type: object
@ -91,7 +90,7 @@ properties:
description: |- description: |-
POSIX timestamp when the list of valid keys should be refreshed. This field MUST POSIX timestamp when the list of valid keys should be refreshed. This field MUST
be ignored in room versions 1, 2, 3, and 4. Keys used beyond this timestamp MUST be ignored in room versions 1, 2, 3, and 4. Keys used beyond this timestamp MUST
be considered invalid, depending on the `room version specification`_. be considered invalid, depending on the [room version specification](/#room-versions).
Servers MUST use the lesser of this field and 7 days into the future when Servers MUST use the lesser of this field and 7 days into the future when
determining if a key is valid. This is to avoid a situation where an attacker determining if a key is valid. This is to avoid a situation where an attacker

@ -24,7 +24,7 @@ allOf:
type: object type: object
title: Event Hash title: Event Hash
description: |- description: |-
Content hashes of the PDU, following the algorithm specified in `Signing Events`_. Content hashes of the PDU, following the algorithm specified in [Signing Events](/server-server-api/#signing-events).
example: { example: {
"sha256": "ThisHashCoversAllFieldsInCaseThisIsRedacted" "sha256": "ThisHashCoversAllFieldsInCaseThisIsRedacted"
} }
@ -37,7 +37,7 @@ allOf:
signatures: signatures:
type: object type: object
description: |- description: |-
Signatures for the PDU, following the algorithm specified in `Signing Events`_. Signatures for the PDU, following the algorithm specified in [Signing Events](/server-server-api/#signing-events).
example: { example: {
"example.com": { "example.com": {
"ed25519:key_version:": "86BytesOfSignatureOfTheRedactedEvent" "ed25519:key_version:": "86BytesOfSignatureOfTheRedactedEvent"

@ -52,7 +52,7 @@ allOf:
type: object type: object
title: Event Hash title: Event Hash
description: |- description: |-
Content hashes of the PDU, following the algorithm specified in `Signing Events`_. Content hashes of the PDU, following the algorithm specified in [Signing Events](/server-server-api/#signing-events).
example: { example: {
"sha256": "ThisHashCoversAllFieldsInCaseThisIsRedacted" "sha256": "ThisHashCoversAllFieldsInCaseThisIsRedacted"
} }
@ -65,7 +65,7 @@ allOf:
signatures: signatures:
type: object type: object
description: |- description: |-
Signatures for the PDU, following the algorithm specified in `Signing Events`_. Signatures for the PDU, following the algorithm specified in [Signing Events](/server-server-api/#signing-events).
example: { example: {
"example.com": { "example.com": {
"ed25519:key_version:": "86BytesOfSignatureOfTheRedactedEvent" "ed25519:key_version:": "86BytesOfSignatureOfTheRedactedEvent"

@ -14,6 +14,6 @@
signedRequest: signedRequest:
type: apiKey type: apiKey
description: |- description: |-
The `Authorization` header defined in the `Authentication`_ section. The `Authorization` header defined in the [Authentication](/server-server-api/#authentication) section.
name: Authorization name: Authorization
in: header in: header

@ -25,13 +25,13 @@ properties:
The auth chain for the entire current room state prior to the join event. The auth chain for the entire current room state prior to the join event.
Note that events have a different format depending on the room version - check the Note that events have a different format depending on the room version - check the
`room version specification`_ for precise event formats. [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ that make up the auth chain. The event format varies depending The [PDUs](/server-server-api/#pdus) that make up the auth chain. The event format varies depending
on the room version - check the `room version specification`_ for precise event formats. on the room version - check the [room version specification](/#room-versions) for precise event formats.
schema: schema:
type: object type: object
properties: [] properties: []
@ -42,14 +42,14 @@ properties:
description: |- description: |-
The resolved current room state prior to the join event. The resolved current room state prior to the join event.
The event format varies depending on the room version - check the `room version specification`_ The event format varies depending on the room version - check the [room version specification](/#room-versions)
for precise event formats. for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ for the fully resolved state of the room. The event format varies depending The [PDUs](/server-server-api/#pdus) for the fully resolved state of the room. The event format varies depending
on the room version - check the `room version specification`_ for precise event formats. on the room version - check the [room version specification](/#room-versions) for precise event formats.
schema: schema:
type: object type: object
properties: [] properties: []

@ -19,13 +19,13 @@ properties:
type: array type: array
description: |- description: |-
A single PDU. Note that events have a different format depending on the room A single PDU. Note that events have a different format depending on the room
version - check the `room version specification`_ for precise event formats. version - check the [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ contained in the transaction. The event format varies depending The [PDUs](/server-server-api/#pdus) contained in the transaction. The event format varies depending
on the room version - check the `room version specification`_ for precise event formats. on the room version - check the [room version specification](/#room-versions) for precise event formats.
properties: [] properties: []
example: example:
$ref: "../examples/minimal_pdu.json" $ref: "../examples/minimal_pdu.json"

@ -34,13 +34,13 @@ properties:
description: |- description: |-
List of persistent updates to rooms. Must not include more than 50 PDUs. Note that List of persistent updates to rooms. Must not include more than 50 PDUs. Note that
events have a different format depending on the room version - check the events have a different format depending on the room version - check the
`room version specification`_ for precise event formats. [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ contained in the transaction. The event format varies depending The [PDUs](/server-server-api/#pdus) contained in the transaction. The event format varies depending
on the room version - check the `room version specification`_ for precise event formats. on the room version - check the [room version specification](/#room-versions) for precise event formats.
properties: [] properties: []
example: example:
$ref: "../examples/minimal_pdu.json" $ref: "../examples/minimal_pdu.json"

@ -19,14 +19,14 @@ properties:
type: array type: array
description: |- description: |-
List of persistent updates to rooms. Note that events have a different format List of persistent updates to rooms. Note that events have a different format
depending on the room version - check the `room version specification`_ for depending on the room version - check the [room version specification](/#room-versions) for
precise event formats. precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ contained in the transaction. The event format varies depending The [PDUs](/server-server-api/#pdus) contained in the transaction. The event format varies depending
on the room version - check the `room version specification`_ for precise event formats. on the room version - check the [room version specification](/#room-versions) for precise event formats.
properties: [] properties: []
example: example:
$ref: "../examples/minimal_pdu.json" $ref: "../examples/minimal_pdu.json"

@ -60,13 +60,13 @@ paths:
The full set of authorization events that make up the state of The full set of authorization events that make up the state of
the room, and their authorization events, recursively. Note that the room, and their authorization events, recursively. Note that
events have a different format depending on the room version - events have a different format depending on the room version -
check the `room version specification`_ for precise event formats. check the [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ contained in the auth chain. The event format The [PDUs](/server-server-api/#pdus) contained in the auth chain. The event format
varies depending on the room version - check the `room version specification`_ varies depending on the room version - check the [room version specification](/#room-versions)
for precise event formats. for precise event formats.
properties: [] properties: []
example: example:

@ -61,13 +61,13 @@ paths:
The full set of authorization events that make up the state The full set of authorization events that make up the state
of the room, and their authorization events, recursively. Note that of the room, and their authorization events, recursively. Note that
events have a different format depending on the room version - events have a different format depending on the room version -
check the `room version specification`_ for precise event formats. check the [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ contained in the auth chain. The event format The [PDUs](/server-server-api/#pdus) contained in the auth chain. The event format
varies depending on the room version - check the `room version specification`_ varies depending on the room version - check the [room version specification](/#room-versions)
for precise event formats. for precise event formats.
properties: [] properties: []
example: example:
@ -77,13 +77,13 @@ paths:
description: |- description: |-
The fully resolved state of the room at the given event. Note that The fully resolved state of the room at the given event. Note that
events have a different format depending on the room version - events have a different format depending on the room version -
check the `room version specification`_ for precise event formats. check the [room version specification](/#room-versions) for precise event formats.
items: items:
type: object type: object
title: PDU title: PDU
description: |- description: |-
The `PDUs <#pdus>`_ for the fully resolved state of the room. The event format The [PDUs](/server-server-api/#pdus) for the fully resolved state of the room. The event format
varies depending on the room version - check the `room version specification`_ varies depending on the room version - check the [room version specification](/#room-versions)
for precise event formats. for precise event formats.
properties: [] properties: []
example: example:

@ -40,7 +40,7 @@ paths:
or `"2"`. or `"2"`.
Note that events have a different format depending on the room version - check the Note that events have a different format depending on the room version - check the
`room version specification`_ for precise event formats. **The request and response [room version specification](/#room-versions) for precise event formats. **The request and response
bodies here describe the common event fields in more detail and may be missing other bodies here describe the common event fields in more detail and may be missing other
required fields for a PDU.** required fields for a PDU.**
operationId: sendInviteV1 operationId: sendInviteV1
@ -106,7 +106,7 @@ paths:
description: |- description: |-
The event with the invited server's signature added. All other fields of the events The event with the invited server's signature added. All other fields of the events
should remain untouched. Note that events have a different format depending on the should remain untouched. Note that events have a different format depending on the
room version - check the `room version specification`_ for precise event formats. room version - check the [room version specification](/#room-versions) for precise event formats.
schema: schema:
type: array type: array
minItems: 2 minItems: 2

@ -44,7 +44,7 @@ paths:
API as the server may be older, if the room version is "1" or "2". API as the server may be older, if the room version is "1" or "2".
Note that events have a different format depending on the room version - check the Note that events have a different format depending on the room version - check the
`room version specification`_ for precise event formats. **The request and response [room version specification](/#room-versions) for precise event formats. **The request and response
bodies here describe the common event fields in more detail and may be missing other bodies here describe the common event fields in more detail and may be missing other
required fields for a PDU.** required fields for a PDU.**
operationId: sendInviteV2 operationId: sendInviteV2
@ -111,7 +111,7 @@ paths:
description: |- description: |-
The event with the invited server's signature added. All other fields of the events The event with the invited server's signature added. All other fields of the events
should remain untouched. Note that events have a different format depending on the should remain untouched. Note that events have a different format depending on the
room version - check the `room version specification`_ for precise event formats. room version - check the [room version specification](/#room-versions) for precise event formats.
schema: schema:
type: object type: object
description: An object containing the signed invite event. description: An object containing the signed invite event.

@ -62,9 +62,9 @@ paths:
responses: responses:
200: 200:
description: |- description: |-
A template to be used for the rest of the `Joining Rooms`_ handshake. Note that A template to be used for the rest of the [Joining Rooms](/server-server-api/#joining-rooms) handshake. Note that
events have a different format depending on the room version - check the events have a different format depending on the room version - check the
`room version specification`_ for precise event formats. **The response body [room version specification](/#room-versions) for precise event formats. **The response body
here describes the common event fields in more detail and may be missing other here describes the common event fields in more detail and may be missing other
required fields for a PDU.** required fields for a PDU.**
schema: schema:
@ -79,7 +79,7 @@ paths:
event: event:
description: |- description: |-
An unsigned template event. Note that events have a different format An unsigned template event. Note that events have a different format
depending on the room version - check the `room version specification`_ depending on the room version - check the [room version specification](/#room-versions)
for precise event formats. for precise event formats.
type: object type: object
title: Event Template title: Event Template
@ -182,7 +182,7 @@ paths:
Submits a signed join event to the resident server for it Submits a signed join event to the resident server for it
to accept it into the room's graph. Note that events have to accept it into the room's graph. Note that events have
a different format depending on the room version - check a different format depending on the room version - check
the `room version specification`_ for precise event formats. the [room version specification](/#room-versions) for precise event formats.
**The request and response body here describe the common **The request and response body here describe the common
event fields in more detail and may be missing other required event fields in more detail and may be missing other required
fields for a PDU.** fields for a PDU.**

@ -45,7 +45,7 @@ paths:
Submits a signed join event to the resident server for it Submits a signed join event to the resident server for it
to accept it into the room's graph. Note that events have to accept it into the room's graph. Note that events have
a different format depending on the room version - check a different format depending on the room version - check
the `room version specification`_ for precise event formats. the [room version specification](/#room-versions) for precise event formats.
**The request and response body here describe the common **The request and response body here describe the common
event fields in more detail and may be missing other required event fields in more detail and may be missing other required
fields for a PDU.** fields for a PDU.**

@ -55,7 +55,7 @@ paths:
description: |- description: |-
A template to be used to call `/send_leave`. Note that A template to be used to call `/send_leave`. Note that
events have a different format depending on the room version - check the events have a different format depending on the room version - check the
`room version specification`_ for precise event formats. **The response body [room version specification](/#room-versions) for precise event formats. **The response body
here describes the common event fields in more detail and may be missing other here describes the common event fields in more detail and may be missing other
required fields for a PDU.** required fields for a PDU.**
schema: schema:
@ -70,7 +70,7 @@ paths:
event: event:
description: |- description: |-
An unsigned template event. Note that events have a different format An unsigned template event. Note that events have a different format
depending on the room version - check the `room version specification`_ depending on the room version - check the [room version specification](/#room-versions)
for precise event formats. for precise event formats.
type: object type: object
title: Event Template title: Event Template
@ -149,7 +149,7 @@ paths:
Submits a signed leave event to the resident server for it Submits a signed leave event to the resident server for it
to accept it into the room's graph. Note that events have to accept it into the room's graph. Note that events have
a different format depending on the room version - check a different format depending on the room version - check
the `room version specification`_ for precise event formats. the [room version specification](/#room-versions) for precise event formats.
**The request and response body here describe the common **The request and response body here describe the common
event fields in more detail and may be missing other required event fields in more detail and may be missing other required
fields for a PDU.** fields for a PDU.**

@ -45,7 +45,7 @@ paths:
Submits a signed leave event to the resident server for it Submits a signed leave event to the resident server for it
to accept it into the room's graph. Note that events have to accept it into the room's graph. Note that events have
a different format depending on the room version - check a different format depending on the room version - check
the `room version specification`_ for precise event formats. the [room version specification](/#room-versions) for precise event formats.
**The request and response body here describe the common **The request and response body here describe the common
event fields in more detail and may be missing other required event fields in more detail and may be missing other required
fields for a PDU.** fields for a PDU.**

@ -33,7 +33,7 @@ paths:
description: |- description: |-
The receiving server will verify the partial `m.room.member` event The receiving server will verify the partial `m.room.member` event
given in the request body. If valid, the receiving server will issue given in the request body. If valid, the receiving server will issue
an invite as per the `Inviting to a room`_ section before returning a an invite as per the [Inviting to a room](/server-server-api/#inviting-to-a-room) section before returning a
response to this request. response to this request.
operationId: exchangeThirdPartyInvite operationId: exchangeThirdPartyInvite
security: security:
@ -111,7 +111,7 @@ paths:
The server signatures for this event. The server signatures for this event.
The signature is calculated using the process The signature is calculated using the process
described at `Signing JSON`_. described at [Signing JSON](/appendices/#signing-json).
example: { example: {
"magic.forest": { "magic.forest": {
"ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg"

@ -39,7 +39,7 @@ paths:
transaction with a different `txnId` to the receiving server. transaction with a different `txnId` to the receiving server.
Note that events have a different format depending on the room version - check Note that events have a different format depending on the room version - check
the `room version specification`_ for precise event formats. the [room version specification](/#room-versions) for precise event formats.
operationId: sendTransaction operationId: sendTransaction
security: security:
- signedRequest: [] - signedRequest: []

@ -74,7 +74,7 @@ paths:
One-time keys for the queried devices. A map from user ID, to a One-time keys for the queried devices. A map from user ID, to a
map from devices to a map from `<algorithm>:<key_id>` to the key object. map from devices to a map from `<algorithm>:<key_id>` to the key object.
See the `Client-Server Key Algorithms`_ section for more information on See the [Client-Server Key Algorithms](/client-server-api/#key-algorithms) section for more information on
the Key Object format. the Key Object format.
additionalProperties: additionalProperties:
type: object type: object
@ -97,8 +97,7 @@ paths:
description: |- description: |-
Signature of the key object. Signature of the key object.
The signature is calculated using the process described at `Signing The signature is calculated using the process described at [Signing JSON](/appendices/#signing-json).
JSON`_.
required: ['key', 'signatures'] required: ['key', 'signatures']
example: { example: {
"@alice:example.com": { "@alice:example.com": {

@ -50,4 +50,4 @@ paths:
description: |- description: |-
The server name to delegate server-server communciations to, with optional The server name to delegate server-server communciations to, with optional
port. The delegated server name uses the same grammar as port. The delegated server name uses the same grammar as
`server names in the appendices <../appendices.html#server-name>`_. [server names in the appendices](/appendices/#server-name).

@ -19,13 +19,14 @@ properties:
type: integer type: integer
thumbnail_url: thumbnail_url:
description: |- description: |-
The URL (typically `MXC URI`_) to a thumbnail of the image. The URL (typically [MXC URI](/client-server-api/#matrix-content-mxc-uris)) to a thumbnail of the image.
Only present if the thumbnail is unencrypted. Only present if the thumbnail is unencrypted.
type: string type: string
thumbnail_file: thumbnail_file:
description: |- description: |-
Information on the encrypted thumbnail file, as specified in Information on the encrypted thumbnail file, as specified in
|encrypted_files|_. Only present if the thumbnail is encrypted. [End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
Only present if the thumbnail is encrypted.
title: EncryptedFile title: EncryptedFile
type: object type: object
thumbnail_info: thumbnail_info:

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
This event type is used to indicate new Olm sessions for end-to-end encryption. This event type is used to indicate new Olm sessions for end-to-end encryption.
Typically it is encrypted as an `m.room.encrypted` event, then sent as a `to-device`_ Typically it is encrypted as an `m.room.encrypted` event, then sent as a [to-device](/client-server-api/#send-to-device-messaging)
event. event.
The event does not have any content associated with it. The sending client is expected The event does not have any content associated with it. The sending client is expected

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
This event type is used to forward keys for end-to-end encryption. Typically This event type is used to forward keys for end-to-end encryption. Typically
it is encrypted as an `m.room.encrypted` event, then sent as a `to-device`_ it is encrypted as an `m.room.encrypted` event, then sent as a [to-device](/client-server-api/#send-to-device-messaging)
event. event.
properties: properties:
content: content:
@ -48,7 +48,7 @@ properties:
description: |- description: |-
Indicates that the key cannot be used to decrypt all the messages Indicates that the key cannot be used to decrypt all the messages
from the session because a portion of the session was withheld as from the session because a portion of the session was withheld as
described in `Reporting that decryption keys are withheld`_. This described in [Reporting that decryption keys are withheld](/client-server-api/#reporting-that-decryption-keys-are-withheld). This
object must include the `code` and `reason` properties from the object must include the `code` and `reason` properties from the
`m.room_key.withheld` message that was received by the sender of `m.room_key.withheld` message that was received by the sender of
this message. this message.

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
Accepts a previously sent `m.key.verification.start` message. Typically sent as a Accepts a previously sent `m.key.verification.start` message. Typically sent as a
`to-device`_ event. [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -3,7 +3,7 @@ allOf:
- $ref: core-event-schema/event.yaml - $ref: core-event-schema/event.yaml
description: |- description: |-
Cancels a key verification process/request. Typically sent as a `to-device`_ event. Cancels a key verification process/request. Typically sent as a [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
Sends the ephemeral public key for a device to the partner device. Typically sent as a Sends the ephemeral public key for a device to the partner device. Typically sent as a
`to-device`_ event. [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
Sends the MAC of a device's key to the partner device. Typically sent as a Sends the MAC of a device's key to the partner device. Typically sent as a
`to-device`_ event. [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
Requests a key verification with another user's devices. Typically sent as a Requests a key verification with another user's devices. Typically sent as a
`to-device`_ event. [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -3,7 +3,7 @@ allOf:
- $ref: core-event-schema/event.yaml - $ref: core-event-schema/event.yaml
description: |- description: |-
Begins a SAS key verification process using the `m.sas.v1` method. Typically sent as a `to-device`_ event. Begins a SAS key verification process using the `m.sas.v1` method. Typically sent as a [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -3,7 +3,7 @@ allOf:
- $ref: core-event-schema/event.yaml - $ref: core-event-schema/event.yaml
description: |- description: |-
Begins a key verification process. Typically sent as a `to-device`_ event. The `method` Begins a key verification process. Typically sent as a [to-device](/client-server-api/#send-to-device-messaging) event. The `method`
field determines the type of verification. The fields in the event will differ depending field determines the type of verification. The fields in the event will differ depending
on the `method`. This definition includes fields that are in common among all variants. on the `method`. This definition includes fields that are in common among all variants.
properties: properties:

@ -4,8 +4,8 @@ allOf:
description: |- description: |-
This event type is used when sending encrypted events. It can be used either This event type is used when sending encrypted events. It can be used either
within a room (in which case it will have all of the `Room Event fields`_), or within a room (in which case it will have all of the [Room Event fields](/client-server-api/#room-event-fields)), or
as a `to-device`_ event. as a [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
@ -37,7 +37,7 @@ properties:
The encrypted content of the event. Either the encrypted payload The encrypted content of the event. Either the encrypted payload
itself, in the case of a Megolm event, or a map from the recipient itself, in the case of a Megolm event, or a map from the recipient
Curve25519 identity key to ciphertext information, in the case of an Curve25519 identity key to ciphertext information, in the case of an
Olm event. For more details, see `Messaging Algorithms`_. Olm event. For more details, see [Messaging Algorithms](/client-server-api/#messaging-algorithms).
sender_key: sender_key:
type: string type: string
description: The Curve25519 key of the sender. description: The Curve25519 key of the sender.

@ -65,7 +65,7 @@ properties:
- ban - ban
type: string type: string
is_direct: is_direct:
description: Flag indicating if the room containing this event was created with the intention of being a direct chat. See `Direct Messaging`_. description: Flag indicating if the room containing this event was created with the intention of being a direct chat. See [Direct Messaging](/client-server-api/#direct-messaging).
type: boolean type: boolean
reason: reason:
type: string type: string

@ -28,13 +28,14 @@ properties:
type: string type: string
url: url:
description: |- description: |-
Required if the file is unencrypted. The URL (typically `MXC URI`_) Required if the file is unencrypted. The URL (typically [MXC URI](/client-server-api/#matrix-content-mxc-uris))
to the audio clip. to the audio clip.
type: string type: string
file: file:
description: |- description: |-
Required if the file is encrypted. Information on the encrypted Required if the file is encrypted. Information on the encrypted
file, as specified in |encrypted_files|_. file, as specified in
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
title: EncryptedFile title: EncryptedFile
type: object type: object
required: required:

@ -28,7 +28,8 @@ properties:
thumbnail_file: thumbnail_file:
description: |- description: |-
Information on the encrypted thumbnail file, as specified in Information on the encrypted thumbnail file, as specified in
|encrypted_files|_. Only present if the thumbnail is encrypted. [End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
Only present if the thumbnail is encrypted.
title: EncryptedFile title: EncryptedFile
type: object type: object
thumbnail_info: thumbnail_info:
@ -43,13 +44,14 @@ properties:
type: string type: string
url: url:
description: |- description: |-
Required if the file is unencrypted. The URL (typically `MXC URI`_) Required if the file is unencrypted. The URL (typically [MXC URI](/client-server-api/#matrix-content-mxc-uris))
to the file. to the file.
type: string type: string
file: file:
description: |- description: |-
Required if the file is encrypted. Information on the encrypted Required if the file is encrypted. Information on the encrypted
file, as specified in |encrypted_files|_. file, as specified in
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
title: EncryptedFile title: EncryptedFile
type: object type: object
required: required:

@ -18,13 +18,14 @@ properties:
type: string type: string
url: url:
description: |- description: |-
Required if the file is unencrypted. The URL (typically `MXC URI`_) Required if the file is unencrypted. The URL (typically [MXC URI](/client-server-api/#matrix-content-mxc-uris))
to the image. to the image.
type: string type: string
file: file:
description: |- description: |-
Required if the file is encrypted. Information on the encrypted Required if the file is encrypted. Information on the encrypted
file, as specified in |encrypted_files|_. file, as specified in
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
title: EncryptedFile title: EncryptedFile
type: object type: object
required: required:

@ -26,7 +26,8 @@ properties:
thumbnail_file: thumbnail_file:
description: |- description: |-
Information on the encrypted thumbnail file, as specified in Information on the encrypted thumbnail file, as specified in
|encrypted_files|_. Only present if the thumbnail is encrypted. [End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
Only present if the thumbnail is encrypted.
title: EncryptedFile title: EncryptedFile
type: object type: object
thumbnail_info: thumbnail_info:

@ -28,13 +28,14 @@ properties:
type: integer type: integer
thumbnail_url: thumbnail_url:
description: |- description: |-
The URL (typically `MXC URI`_) to an image thumbnail of The URL (typically [MXC URI](/client-server-api/#matrix-content-mxc-uris)) to an image thumbnail of
the video clip. Only present if the thumbnail is unencrypted. the video clip. Only present if the thumbnail is unencrypted.
type: string type: string
thumbnail_file: thumbnail_file:
description: |- description: |-
Information on the encrypted thumbnail file, as specified in Information on the encrypted thumbnail file, as specified in
|encrypted_files|_. Only present if the thumbnail is encrypted. [End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
Only present if the thumbnail is encrypted.
title: EncryptedFile title: EncryptedFile
type: object type: object
thumbnail_info: thumbnail_info:
@ -49,13 +50,14 @@ properties:
type: string type: string
url: url:
description: |- description: |-
Required if the file is unencrypted. The URL (typically `MXC URI`_) Required if the file is unencrypted. The URL (typically [MXC URI](/client-server-api/#matrix-content-mxc-uris))
to the video clip. to the video clip.
type: string type: string
file: file:
description: |- description: |-
Required if the file is encrypted. Information on the encrypted Required if the file is encrypted. Information on the encrypted
file, as specified in |encrypted_files|_. file, as specified in
[End-to-end encryption](/client-server-api/#sending-encrypted-attachments).
title: EncryptedFile title: EncryptedFile
type: object type: object
required: required:

@ -1,7 +1,7 @@
--- ---
allOf: allOf:
- $ref: core-event-schema/room_event.yaml - $ref: core-event-schema/room_event.yaml
description: '**NB: Usage of this event is discouraged in favour of the** `receipts module`_. **Most clients will not recognise this event.** Feedback events are events sent to acknowledge a message in some way. There are two supported acknowledgements: `delivered` (sent when the event has been received) and `read` (sent when the event has been observed by the end-user). The `target_event_id` should reference the `m.room.message` event being acknowledged.' description: '**NB: Usage of this event is discouraged in favour of the** [receipts module](/client-server-api/#receipts). **Most clients will not recognise this event.** Feedback events are events sent to acknowledge a message in some way. There are two supported acknowledgements: `delivered` (sent when the event has been received) and `read` (sent when the event has been observed by the end-user). The `target_event_id` should reference the `m.room.message` event being acknowledged.'
properties: properties:
content: content:
properties: properties:

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
This event type is used to exchange keys for end-to-end encryption. Typically This event type is used to exchange keys for end-to-end encryption. Typically
it is encrypted as an `m.room.encrypted` event, then sent as a `to-device`_ event. it is encrypted as an `m.room.encrypted` event, then sent as a [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

@ -4,7 +4,7 @@ allOf:
description: |- description: |-
This event type is used to request keys for end-to-end encryption. It is sent as an This event type is used to request keys for end-to-end encryption. It is sent as an
unencrypted `to-device`_ event. unencrypted [to-device](/client-server-api/#send-to-device-messaging) event.
properties: properties:
content: content:
properties: properties:

Loading…
Cancel
Save