Change RST code formatting markup to Markdown
This commit is contained in:
parent
c7cf90abfa
commit
27f8867aa0
158 changed files with 931 additions and 931 deletions
|
@ -43,9 +43,9 @@ properties:
|
||||||
field_types:
|
field_types:
|
||||||
title: Field Types
|
title: Field Types
|
||||||
description: |-
|
description: |-
|
||||||
The type definitions for the fields defined in the ``user_fields`` and
|
The type definitions for the fields defined in the `user_fields` and
|
||||||
``location_fields``. Each entry in those arrays MUST have an entry here. The
|
`location_fields`. Each entry in those arrays MUST have an entry here. The
|
||||||
``string`` key for this object is field name itself.
|
`string` key for this object is field name itself.
|
||||||
|
|
||||||
May be an empty object if no fields are defined.
|
May be an empty object if no fields are defined.
|
||||||
type: object
|
type: object
|
||||||
|
@ -101,7 +101,7 @@ properties:
|
||||||
example: "mxc://example.org/JkLmNoPq"
|
example: "mxc://example.org/JkLmNoPq"
|
||||||
fields:
|
fields:
|
||||||
type: object
|
type: object
|
||||||
description: Preset values for ``fields`` the client may use to search by.
|
description: Preset values for `fields` the client may use to search by.
|
||||||
example: {
|
example: {
|
||||||
"network": "freenode"
|
"network": "freenode"
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
homeserverAccessToken:
|
homeserverAccessToken:
|
||||||
type: apiKey
|
type: apiKey
|
||||||
description: The ``hs_token`` provided by the application service's registration.
|
description: The `hs_token` provided by the application service's registration.
|
||||||
name: access_token
|
name: access_token
|
||||||
in: query
|
in: query
|
||||||
|
|
|
@ -34,7 +34,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
This endpoint is invoked by the homeserver on an application service to query
|
This endpoint is invoked by the homeserver on an application service to query
|
||||||
the existence of a given room alias. The homeserver will only query room
|
the existence of a given room alias. The homeserver will only query room
|
||||||
aliases inside the application service's ``aliases`` namespace. The
|
aliases inside the application service's `aliases` namespace. The
|
||||||
homeserver will send this request when it receives a request to join a
|
homeserver will send this request when it receives a request to join a
|
||||||
room alias within the application service's namespace.
|
room alias within the application service's namespace.
|
||||||
operationId: queryRoomByAlias
|
operationId: queryRoomByAlias
|
||||||
|
|
|
@ -34,7 +34,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
This endpoint is invoked by the homeserver on an application service to query
|
This endpoint is invoked by the homeserver on an application service to query
|
||||||
the existence of a given user ID. The homeserver will only query user IDs
|
the existence of a given user ID. The homeserver will only query user IDs
|
||||||
inside the application service's ``users`` namespace. The homeserver will
|
inside the application service's `users` namespace. The homeserver will
|
||||||
send this request when it receives an event for an unknown user ID in
|
send this request when it receives an event for an unknown user ID in
|
||||||
the application service's namespace, such as a room invite.
|
the application service's namespace, such as a room invite.
|
||||||
operationId: queryUserById
|
operationId: queryUserById
|
||||||
|
|
|
@ -34,7 +34,7 @@ paths:
|
||||||
(or batch of events) to the application service.
|
(or batch of events) to the application service.
|
||||||
|
|
||||||
Note that the application service should distinguish state events
|
Note that the application service should distinguish state events
|
||||||
from message events via the presence of a ``state_key``, rather than
|
from message events via the presence of a `state_key`, rather than
|
||||||
via the event type.
|
via the event type.
|
||||||
operationId: sendTransaction
|
operationId: sendTransaction
|
||||||
security:
|
security:
|
||||||
|
|
|
@ -33,7 +33,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Set some account_data for the client. This config is only visible to the user
|
Set some account_data for the client. This config is only visible to the user
|
||||||
that set the account_data. The config will be synced to clients in the
|
that set the account_data. The config will be synced to clients in the
|
||||||
top-level ``account_data``.
|
top-level `account_data`.
|
||||||
operationId: setAccountData
|
operationId: setAccountData
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -110,7 +110,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Set some account_data for the client on a given room. This config is only
|
Set some account_data for the client on a given room. This config is only
|
||||||
visible to the user that set the account_data. The config will be synced to
|
visible to the user that set the account_data. The config will be synced to
|
||||||
clients in the per-room ``account_data``.
|
clients in the per-room `account_data`.
|
||||||
operationId: setAccountDataPerRoom
|
operationId: setAccountDataPerRoom
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
|
|
@ -93,13 +93,13 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Adds contact information to the user's account.
|
Adds contact information to the user's account.
|
||||||
|
|
||||||
This endpoint is deprecated in favour of the more specific ``/3pid/add``
|
This endpoint is deprecated in favour of the more specific `/3pid/add`
|
||||||
and ``/3pid/bind`` endpoints.
|
and `/3pid/bind` endpoints.
|
||||||
|
|
||||||
**Note:**
|
**Note:**
|
||||||
Previously this endpoint supported a ``bind`` parameter. This parameter
|
Previously this endpoint supported a `bind` parameter. This parameter
|
||||||
has been removed, making this endpoint behave as though it was ``false``.
|
has been removed, making this endpoint behave as though it was `false`.
|
||||||
This results in this endpoint being an equivalent to ``/3pid/bind`` rather
|
This results in this endpoint being an equivalent to `/3pid/bind` rather
|
||||||
than dual-purpose.
|
than dual-purpose.
|
||||||
operationId: post3PIDs
|
operationId: post3PIDs
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -157,8 +157,8 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
An optional field containing a URL where the client must
|
An optional field containing a URL where the client must
|
||||||
submit the validation token to, with identical parameters
|
submit the validation token to, with identical parameters
|
||||||
to the Identity Service API's ``POST
|
to the Identity Service API's `POST
|
||||||
/validate/email/submitToken`` endpoint (without the requirement
|
/validate/email/submitToken` endpoint (without the requirement
|
||||||
for an access token). The homeserver must send this token to the
|
for an access token). The homeserver must send this token to the
|
||||||
user (if applicable), who should then be prompted to provide it
|
user (if applicable), who should then be prompted to provide it
|
||||||
to the client.
|
to the client.
|
||||||
|
@ -166,7 +166,7 @@ paths:
|
||||||
If this field is not present, the client can assume that
|
If this field is not present, the client can assume that
|
||||||
verification will happen without the client's involvement
|
verification will happen without the client's involvement
|
||||||
provided the homeserver advertises this specification version
|
provided the homeserver advertises this specification version
|
||||||
in the ``/versions`` response (ie: r0.5.0).
|
in the `/versions` response (ie: r0.5.0).
|
||||||
example: "https://example.org/path/to/submitToken"
|
example: "https://example.org/path/to/submitToken"
|
||||||
403:
|
403:
|
||||||
description: The credentials could not be verified with the identity server.
|
description: The credentials could not be verified with the identity server.
|
||||||
|
@ -294,7 +294,7 @@ paths:
|
||||||
Removes a third party identifier from the user's account. This might not
|
Removes a third party identifier from the user's account. This might not
|
||||||
cause an unbind of the identifier from the identity server.
|
cause an unbind of the identifier from the identity server.
|
||||||
|
|
||||||
Unlike other endpoints, this endpoint does not take an ``id_access_token``
|
Unlike other endpoints, this endpoint does not take an `id_access_token`
|
||||||
parameter because the homeserver is expected to sign the request to the
|
parameter because the homeserver is expected to sign the request to the
|
||||||
identity server instead.
|
identity server instead.
|
||||||
operationId: delete3pidFromAccount
|
operationId: delete3pidFromAccount
|
||||||
|
@ -311,9 +311,9 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The identity server to unbind from. If not provided, the homeserver
|
The identity server to unbind from. If not provided, the homeserver
|
||||||
MUST use the ``id_server`` the identifier was added through. If the
|
MUST use the `id_server` the identifier was added through. If the
|
||||||
homeserver does not know the original ``id_server``, it MUST return
|
homeserver does not know the original `id_server`, it MUST return
|
||||||
a ``id_server_unbind_result`` of ``no-support``.
|
a `id_server_unbind_result` of `no-support`.
|
||||||
example: "example.org"
|
example: "example.org"
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
|
@ -342,8 +342,8 @@ paths:
|
||||||
- "success"
|
- "success"
|
||||||
description: |-
|
description: |-
|
||||||
An indicator as to whether or not the homeserver was able to unbind
|
An indicator as to whether or not the homeserver was able to unbind
|
||||||
the 3PID from the identity server. ``success`` indicates that the
|
the 3PID from the identity server. `success` indicates that the
|
||||||
indentity server has unbound the identifier whereas ``no-support``
|
indentity server has unbound the identifier whereas `no-support`
|
||||||
indicates that the identity server refuses to support the request
|
indicates that the identity server refuses to support the request
|
||||||
or the homeserver was not able to determine an identity server to
|
or the homeserver was not able to determine an identity server to
|
||||||
unbind from.
|
unbind from.
|
||||||
|
@ -359,7 +359,7 @@ paths:
|
||||||
Removes a user's third party identifier from the provided identity server
|
Removes a user's third party identifier from the provided identity server
|
||||||
without removing it from the homeserver.
|
without removing it from the homeserver.
|
||||||
|
|
||||||
Unlike other endpoints, this endpoint does not take an ``id_access_token``
|
Unlike other endpoints, this endpoint does not take an `id_access_token`
|
||||||
parameter because the homeserver is expected to sign the request to the
|
parameter because the homeserver is expected to sign the request to the
|
||||||
identity server instead.
|
identity server instead.
|
||||||
operationId: unbind3pidFromAccount
|
operationId: unbind3pidFromAccount
|
||||||
|
@ -376,9 +376,9 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The identity server to unbind from. If not provided, the homeserver
|
The identity server to unbind from. If not provided, the homeserver
|
||||||
MUST use the ``id_server`` the identifier was added through. If the
|
MUST use the `id_server` the identifier was added through. If the
|
||||||
homeserver does not know the original ``id_server``, it MUST return
|
homeserver does not know the original `id_server`, it MUST return
|
||||||
a ``id_server_unbind_result`` of ``no-support``.
|
a `id_server_unbind_result` of `no-support`.
|
||||||
example: "example.org"
|
example: "example.org"
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
|
@ -407,8 +407,8 @@ paths:
|
||||||
- "success"
|
- "success"
|
||||||
description: |-
|
description: |-
|
||||||
An indicator as to whether or not the identity server was able to unbind
|
An indicator as to whether or not the identity server was able to unbind
|
||||||
the 3PID. ``success`` indicates that the identity server has unbound the
|
the 3PID. `success` indicates that the identity server has unbound the
|
||||||
identifier whereas ``no-support`` indicates that the identity server
|
identifier whereas `no-support` indicates that the identity server
|
||||||
refuses to support the request or the homeserver was not able to determine
|
refuses to support the request or the homeserver was not able to determine
|
||||||
an identity server to unbind from.
|
an identity server to unbind from.
|
||||||
example: "success"
|
example: "success"
|
||||||
|
@ -456,7 +456,7 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
The third party identifier is already in use on the homeserver, or
|
The third party identifier is already in use on the homeserver, or
|
||||||
the request was invalid. The error code ``M_SERVER_NOT_TRUSTED``
|
the request was invalid. The error code `M_SERVER_NOT_TRUSTED`
|
||||||
can be returned if the server does not trust/support the identity server
|
can be returned if the server does not trust/support the identity server
|
||||||
provided in the request.
|
provided in the request.
|
||||||
schema:
|
schema:
|
||||||
|
@ -503,7 +503,7 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
The third party identifier is already in use on the homeserver, or
|
The third party identifier is already in use on the homeserver, or
|
||||||
the request was invalid. The error code ``M_SERVER_NOT_TRUSTED``
|
the request was invalid. The error code `M_SERVER_NOT_TRUSTED`
|
||||||
can be returned if the server does not trust/support the identity server
|
can be returned if the server does not trust/support the identity server
|
||||||
provided in the request.
|
provided in the request.
|
||||||
schema:
|
schema:
|
||||||
|
|
|
@ -40,7 +40,7 @@ paths:
|
||||||
This API is similar to the room directory visibility API used by clients
|
This API is similar to the room directory visibility API used by clients
|
||||||
to update the homeserver's more general room directory.
|
to update the homeserver's more general room directory.
|
||||||
|
|
||||||
This API requires the use of an application service access token (``as_token``)
|
This API requires the use of an application service access token (`as_token`)
|
||||||
instead of a typical client's access_token. This API cannot be invoked by
|
instead of a typical client's access_token. This API cannot be invoked by
|
||||||
users who are not identified as application services.
|
users who are not identified as application services.
|
||||||
operationId: updateAppserviceRoomDirectoryVsibility
|
operationId: updateAppserviceRoomDirectoryVsibility
|
||||||
|
|
|
@ -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`_ event.
|
||||||
required: ["user_id"]
|
required: ["user_id"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -74,7 +74,7 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to ban the user from the room. A meaningful ``errcode`` and description error text will be returned. Example reasons for rejections are:
|
You do not have permission to ban the user from the room. A meaningful `errcode` and description error text will be returned. Example reasons for rejections are:
|
||||||
|
|
||||||
- The banner is not currently in the room.
|
- The banner is not currently in the room.
|
||||||
- The banner's power level is insufficient to ban users from the room.
|
- The banner's power level is insufficient to ban users from the room.
|
||||||
|
@ -121,7 +121,7 @@ paths:
|
||||||
reason:
|
reason:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Optional reason to be included as the ``reason`` on the subsequent
|
Optional reason to be included as the `reason` on the subsequent
|
||||||
membership event.
|
membership event.
|
||||||
required: ["user_id"]
|
required: ["user_id"]
|
||||||
responses:
|
responses:
|
||||||
|
@ -134,7 +134,7 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to unban the user from the room. A meaningful ``errcode`` and description error text will be returned. Example reasons for rejections are:
|
You do not have permission to unban the user from the room. A meaningful `errcode` and description error text will be returned. Example reasons for rejections are:
|
||||||
|
|
||||||
- The unbanner's power level is insufficient to unban users from the room.
|
- The unbanner's power level is insufficient to unban users from the room.
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -112,14 +112,14 @@ paths:
|
||||||
x-example: matrix.org
|
x-example: matrix.org
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The server name from the ``mxc://`` URI (the authoritory component)
|
The server name from the `mxc://` URI (the authoritory component)
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: mediaId
|
name: mediaId
|
||||||
x-example: ascERGshawAWawugaAcauga
|
x-example: ascERGshawAWawugaAcauga
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The media ID from the ``mxc://`` URI (the path component)
|
The media ID from the `mxc://` URI (the path component)
|
||||||
- in: query
|
- in: query
|
||||||
type: boolean
|
type: boolean
|
||||||
name: allow_remote
|
name: allow_remote
|
||||||
|
@ -177,20 +177,20 @@ paths:
|
||||||
x-example: matrix.org
|
x-example: matrix.org
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The server name from the ``mxc://`` URI (the authoritory component)
|
The server name from the `mxc://` URI (the authoritory component)
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: mediaId
|
name: mediaId
|
||||||
x-example: ascERGshawAWawugaAcauga
|
x-example: ascERGshawAWawugaAcauga
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The media ID from the ``mxc://`` URI (the path component)
|
The media ID from the `mxc://` URI (the path component)
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: fileName
|
name: fileName
|
||||||
x-example: filename.jpg
|
x-example: filename.jpg
|
||||||
required: true
|
required: true
|
||||||
description: A filename to give in the ``Content-Disposition`` header.
|
description: A filename to give in the `Content-Disposition` header.
|
||||||
- in: query
|
- in: query
|
||||||
type: boolean
|
type: boolean
|
||||||
name: allow_remote
|
name: allow_remote
|
||||||
|
@ -210,7 +210,7 @@ paths:
|
||||||
type: "string"
|
type: "string"
|
||||||
Content-Disposition:
|
Content-Disposition:
|
||||||
description: |-
|
description: |-
|
||||||
The ``fileName`` requested or the name of the file that was previously
|
The `fileName` requested or the name of the file that was previously
|
||||||
uploaded, if set.
|
uploaded, if set.
|
||||||
type: "string"
|
type: "string"
|
||||||
schema:
|
schema:
|
||||||
|
@ -248,14 +248,14 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: example.org
|
x-example: example.org
|
||||||
description: |
|
description: |
|
||||||
The server name from the ``mxc://`` URI (the authoritory component)
|
The server name from the `mxc://` URI (the authoritory component)
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: mediaId
|
name: mediaId
|
||||||
x-example: ascERGshawAWawugaAcauga
|
x-example: ascERGshawAWawugaAcauga
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The media ID from the ``mxc://`` URI (the path component)
|
The media ID from the `mxc://` URI (the path component)
|
||||||
- in: query
|
- in: query
|
||||||
type: integer
|
type: integer
|
||||||
x-example: 64
|
x-example: 64
|
||||||
|
|
|
@ -38,41 +38,41 @@ paths:
|
||||||
the new room, including checking power levels for each event. It MUST
|
the new room, including checking power levels for each event. It MUST
|
||||||
apply the events implied by the request in the following order:
|
apply the events implied by the request in the following order:
|
||||||
|
|
||||||
1. The ``m.room.create`` event itself. Must be the first event in the
|
1. The `m.room.create` event itself. Must be the first event in the
|
||||||
room.
|
room.
|
||||||
|
|
||||||
2. An ``m.room.member`` event for the creator to join the room. This is
|
2. An `m.room.member` event for the creator to join the room. This is
|
||||||
needed so the remaining events can be sent.
|
needed so the remaining events can be sent.
|
||||||
|
|
||||||
3. A default ``m.room.power_levels`` event, giving the room creator
|
3. A default `m.room.power_levels` event, giving the room creator
|
||||||
(and not other members) permission to send state events. Overridden
|
(and not other members) permission to send state events. Overridden
|
||||||
by the ``power_level_content_override`` parameter.
|
by the `power_level_content_override` parameter.
|
||||||
|
|
||||||
4. Events set by the ``preset``. Currently these are the ``m.room.join_rules``,
|
4. Events set by the `preset`. Currently these are the `m.room.join_rules`,
|
||||||
``m.room.history_visibility``, and ``m.room.guest_access`` state events.
|
`m.room.history_visibility`, and `m.room.guest_access` state events.
|
||||||
|
|
||||||
5. Events listed in ``initial_state``, in the order that they are
|
5. Events listed in `initial_state`, in the order that they are
|
||||||
listed.
|
listed.
|
||||||
|
|
||||||
6. Events implied by ``name`` and ``topic`` (``m.room.name`` and ``m.room.topic``
|
6. Events implied by `name` and `topic` (`m.room.name` and `m.room.topic`
|
||||||
state events).
|
state events).
|
||||||
|
|
||||||
7. Invite events implied by ``invite`` and ``invite_3pid`` (``m.room.member`` with
|
7. Invite events implied by `invite` and `invite_3pid` (`m.room.member` with
|
||||||
``membership: invite`` and ``m.room.third_party_invite``).
|
`membership: invite` and `m.room.third_party_invite`).
|
||||||
|
|
||||||
The available presets do the following with respect to room state:
|
The available presets do the following with respect to room state:
|
||||||
|
|
||||||
======================== ============== ====================== ================ =========
|
======================== ============== ====================== ================ =========
|
||||||
Preset ``join_rules`` ``history_visibility`` ``guest_access`` Other
|
Preset `join_rules` `history_visibility` `guest_access` Other
|
||||||
======================== ============== ====================== ================ =========
|
======================== ============== ====================== ================ =========
|
||||||
``private_chat`` ``invite`` ``shared`` ``can_join``
|
`private_chat` `invite` `shared` `can_join`
|
||||||
``trusted_private_chat`` ``invite`` ``shared`` ``can_join`` All invitees are given the same power level as the room creator.
|
`trusted_private_chat` `invite` `shared` `can_join` All invitees are given the same power level as the room creator.
|
||||||
``public_chat`` ``public`` ``shared`` ``forbidden``
|
`public_chat` `public` `shared` `forbidden`
|
||||||
======================== ============== ====================== ================ =========
|
======================== ============== ====================== ================ =========
|
||||||
|
|
||||||
The server will create a ``m.room.create`` event in the room with the
|
The server will create a `m.room.create` event in the room with the
|
||||||
requesting user as the creator, alongside other keys provided in the
|
requesting user as the creator, alongside other keys provided in the
|
||||||
``creation_content``.
|
`creation_content`.
|
||||||
operationId: createRoom
|
operationId: createRoom
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -97,12 +97,12 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
enum: ["public", "private"]
|
enum: ["public", "private"]
|
||||||
description: |-
|
description: |-
|
||||||
A ``public`` visibility indicates that the room will be shown
|
A `public` visibility indicates that the room will be shown
|
||||||
in the published room list. A ``private`` visibility will hide
|
in the published room list. A `private` visibility will hide
|
||||||
the room from the published room list. Rooms default to
|
the room from the published room list. Rooms default to
|
||||||
``private`` visibility if this key is not included. NB: This
|
`private` visibility if this key is not included. NB: This
|
||||||
should not be confused with ``join_rules`` which also uses the
|
should not be confused with `join_rules` which also uses the
|
||||||
word ``public``.
|
word `public`.
|
||||||
room_alias_name:
|
room_alias_name:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -111,22 +111,22 @@ paths:
|
||||||
room. The alias will belong on the *same* homeserver which
|
room. The alias will belong on the *same* homeserver which
|
||||||
created the room. For example, if this was set to "foo" and
|
created the room. For example, if this was set to "foo" and
|
||||||
sent to the homeserver "example.com" the complete room alias
|
sent to the homeserver "example.com" the complete room alias
|
||||||
would be ``#foo:example.com``.
|
would be `#foo:example.com`.
|
||||||
|
|
||||||
The complete room alias will become the canonical alias for
|
The complete room alias will become the canonical alias for
|
||||||
the room.
|
the room.
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
If this is included, an ``m.room.name`` event will be sent
|
If this is included, an `m.room.name` event will be sent
|
||||||
into the room to indicate the name of the room. See Room
|
into the room to indicate the name of the room. See Room
|
||||||
Events for more information on ``m.room.name``.
|
Events for more information on `m.room.name`.
|
||||||
topic:
|
topic:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
If this is included, an ``m.room.topic`` event will be sent
|
If this is included, an `m.room.topic` event will be sent
|
||||||
into the room to indicate the topic for the room. See Room
|
into the room to indicate the topic for the room. See Room
|
||||||
Events for more information on ``m.room.topic``.
|
Events for more information on `m.room.topic`.
|
||||||
invite:
|
invite:
|
||||||
type: array
|
type: array
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -155,7 +155,7 @@ paths:
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
# TODO: Link to Identity Service spec when it eixsts
|
# TODO: Link to Identity Service spec when it eixsts
|
||||||
description: The kind of address being passed in the address field, for example ``email``.
|
description: The kind of address being passed in the address field, for example `email`.
|
||||||
address:
|
address:
|
||||||
type: string
|
type: string
|
||||||
description: The invitee's third party identifier.
|
description: The invitee's third party identifier.
|
||||||
|
@ -165,16 +165,16 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The room version to set for the room. If not provided, the homeserver is
|
The room version to set for the room. If not provided, the homeserver is
|
||||||
to use its configured default. If provided, the homeserver will return a
|
to use its configured default. If provided, the homeserver will return a
|
||||||
400 error with the errcode ``M_UNSUPPORTED_ROOM_VERSION`` if it does not
|
400 error with the errcode `M_UNSUPPORTED_ROOM_VERSION` if it does not
|
||||||
support the room version.
|
support the room version.
|
||||||
example: "1"
|
example: "1"
|
||||||
creation_content:
|
creation_content:
|
||||||
title: CreationContent
|
title: CreationContent
|
||||||
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`_ 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:
|
||||||
type: array
|
type: array
|
||||||
|
@ -184,8 +184,8 @@ paths:
|
||||||
room. The expected format of the state events are an object
|
room. The expected format of the state events are an object
|
||||||
with type, state_key and content keys set.
|
with type, state_key and content keys set.
|
||||||
|
|
||||||
Takes precedence over events set by ``preset``, but gets
|
Takes precedence over events set by `preset`, but gets
|
||||||
overriden by ``name`` and ``topic`` keys.
|
overriden by `name` and `topic` keys.
|
||||||
items:
|
items:
|
||||||
type: object
|
type: object
|
||||||
title: StateEvent
|
title: StateEvent
|
||||||
|
@ -207,16 +207,16 @@ paths:
|
||||||
Convenience parameter for setting various default state events
|
Convenience parameter for setting various default state events
|
||||||
based on a preset.
|
based on a preset.
|
||||||
|
|
||||||
If unspecified, the server should use the ``visibility`` to determine
|
If unspecified, the server should use the `visibility` to determine
|
||||||
which preset to use. A visbility of ``public`` equates to a preset of
|
which preset to use. A visbility of `public` equates to a preset of
|
||||||
``public_chat`` and ``private`` visibility equates to a preset of
|
`public_chat` and `private` visibility equates to a preset of
|
||||||
``private_chat``.
|
`private_chat`.
|
||||||
is_direct:
|
is_direct:
|
||||||
type: boolean
|
type: boolean
|
||||||
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`_ 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
|
||||||
|
@ -244,24 +244,24 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
|
|
||||||
The request is invalid. A meaningful ``errcode`` and description
|
The request is invalid. A meaningful `errcode` and description
|
||||||
error text will be returned. Example reasons for rejection include:
|
error text will be returned. Example reasons for rejection include:
|
||||||
|
|
||||||
- The request body is malformed (``errcode`` set to ``M_BAD_JSON``
|
- The request body is malformed (`errcode` set to `M_BAD_JSON`
|
||||||
or ``M_NOT_JSON``).
|
or `M_NOT_JSON`).
|
||||||
|
|
||||||
- The room alias specified is already taken (``errcode`` set to
|
- The room alias specified is already taken (`errcode` set to
|
||||||
``M_ROOM_IN_USE``).
|
`M_ROOM_IN_USE`).
|
||||||
|
|
||||||
- The initial state implied by the parameters to the request is
|
- The initial state implied by the parameters to the request is
|
||||||
invalid: for example, the user's ``power_level`` is set below
|
invalid: for example, the user's `power_level` is set below
|
||||||
that necessary to set the room name (``errcode`` set to
|
that necessary to set the room name (`errcode` set to
|
||||||
``M_INVALID_ROOM_STATE``).
|
`M_INVALID_ROOM_STATE`).
|
||||||
|
|
||||||
- The homeserver doesn't support the requested room version, or
|
- The homeserver doesn't support the requested room version, or
|
||||||
one or more users being invited to the new room are residents
|
one or more users being invited to the new room are residents
|
||||||
of a homeserver which does not support the requested room version.
|
of a homeserver which does not support the requested room version.
|
||||||
The ``errcode`` will be ``M_UNSUPPORTED_ROOM_VERSION`` in these
|
The `errcode` will be `M_UNSUPPORTED_ROOM_VERSION` in these
|
||||||
cases.
|
cases.
|
||||||
schema:
|
schema:
|
||||||
"$ref": "definitions/errors/error.yaml"
|
"$ref": "definitions/errors/error.yaml"
|
||||||
|
|
|
@ -110,9 +110,9 @@ paths:
|
||||||
The input was invalid in some way. This can include one of the
|
The input was invalid in some way. This can include one of the
|
||||||
following error codes:
|
following error codes:
|
||||||
|
|
||||||
* ``M_INVALID_SIGNATURE``: For example, the self-signing or
|
* `M_INVALID_SIGNATURE`: For example, the self-signing or
|
||||||
user-signing key had an incorrect signature.
|
user-signing key had an incorrect signature.
|
||||||
* ``M_MISSING_PARAM``: No master key is available.
|
* `M_MISSING_PARAM`: No master key is available.
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
example: {
|
example: {
|
||||||
|
@ -207,8 +207,8 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
A map from user ID to key ID to an error for any signatures
|
A map from user ID to key ID to an error for any signatures
|
||||||
that failed. If a signature was invalid, the ``errcode`` will
|
that failed. If a signature was invalid, the `errcode` will
|
||||||
be set to ``M_INVALID_SIGNATURE``.
|
be set to `M_INVALID_SIGNATURE`.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
|
|
|
@ -33,7 +33,7 @@ properties:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The public key. The object must have exactly one property, whose name is
|
The public key. The object must have exactly one property, whose name is
|
||||||
in the form ``<algorithm>:<unpadded_base64_public_key>``, and whose value
|
in the form `<algorithm>:<unpadded_base64_public_key>`, and whose value
|
||||||
is the unpadded base64 public key.
|
is the unpadded base64 public key.
|
||||||
example:
|
example:
|
||||||
"ed25519:alice+base64+public+key": "alice+base64+public+key"
|
"ed25519:alice+base64+public+key": "alice+base64+public+key"
|
||||||
|
|
|
@ -38,7 +38,7 @@ properties:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
Public identity keys. The names of the properties should be in the
|
Public identity keys. The names of the properties should be in the
|
||||||
format ``<algorithm>:<device_id>``. The keys themselves should be
|
format `<algorithm>:<device_id>`. The keys themselves should be
|
||||||
encoded as specified by the key algorithm.
|
encoded as specified by the key algorithm.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
|
@ -50,7 +50,7 @@ properties:
|
||||||
title: Signatures
|
title: Signatures
|
||||||
description: |-
|
description: |-
|
||||||
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`_.
|
JSON`_.
|
||||||
|
|
|
@ -44,8 +44,8 @@ properties:
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
prev_content:
|
prev_content:
|
||||||
description: Optional. The previous ``content`` for this state. This will
|
description: Optional. The previous `content` for this state. This will
|
||||||
be present only for state events appearing in the ``timeline``. If this
|
be present only for state events appearing in the `timeline`. If this
|
||||||
is not a state event, or there is no previous content, this key will be
|
is not a state event, or there is no previous content, this key will be
|
||||||
missing.
|
missing.
|
||||||
title: EventContent
|
title: EventContent
|
||||||
|
|
|
@ -19,14 +19,14 @@ properties:
|
||||||
not_senders:
|
not_senders:
|
||||||
description: A list of sender IDs to exclude. If this list is absent then no senders
|
description: A list of sender IDs to exclude. If this list is absent then no senders
|
||||||
are excluded. A matching sender will be excluded even if it is listed in the
|
are excluded. A matching sender will be excluded even if it is listed in the
|
||||||
``'senders'`` filter.
|
`'senders'` filter.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
not_types:
|
not_types:
|
||||||
description: A list of event types to exclude. If this list is absent then no
|
description: A list of event types to exclude. If this list is absent then no
|
||||||
event types are excluded. A matching type will be excluded even if it is listed
|
event types are excluded. A matching type will be excluded even if it is listed
|
||||||
in the ``'types'`` filter. A '*' can be used as a wildcard to match any sequence
|
in the `'types'` filter. A '*' can be used as a wildcard to match any sequence
|
||||||
of characters.
|
of characters.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
@ -39,7 +39,7 @@ properties:
|
||||||
type: array
|
type: array
|
||||||
types:
|
types:
|
||||||
description: A list of event types to include. If this list is absent then all
|
description: A list of event types to include. If this list is absent then all
|
||||||
event types are included. A ``'*'`` can be used as a wildcard to match any sequence
|
event types are included. A `'*'` can be used as a wildcard to match any sequence
|
||||||
of characters.
|
of characters.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
|
|
@ -19,10 +19,10 @@ properties:
|
||||||
description: |-
|
description: |-
|
||||||
An access token the consumer may use to verify the identity of
|
An access token the consumer may use to verify the identity of
|
||||||
the person who generated the token. This is given to the federation
|
the person who generated the token. This is given to the federation
|
||||||
API ``GET /openid/userinfo`` to verify the user's identity.
|
API `GET /openid/userinfo` to verify the user's identity.
|
||||||
token_type:
|
token_type:
|
||||||
type: string
|
type: string
|
||||||
description: The string ``Bearer``.
|
description: The string `Bearer`.
|
||||||
matrix_server_name:
|
matrix_server_name:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
|
|
@ -23,25 +23,25 @@ properties:
|
||||||
key:
|
key:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Required for ``event_match`` conditions. The dot-separated field of the
|
Required for `event_match` conditions. The dot-separated field of the
|
||||||
event to match.
|
event to match.
|
||||||
|
|
||||||
Required for ``sender_notification_permission`` conditions. The field in
|
Required for `sender_notification_permission` conditions. The field in
|
||||||
the power level event the user needs a minimum power level for. Fields
|
the power level event the user needs a minimum power level for. Fields
|
||||||
must be specified under the ``notifications`` property in the power level
|
must be specified under the `notifications` property in the power level
|
||||||
event's ``content``.
|
event's `content`.
|
||||||
x-example: content.body
|
x-example: content.body
|
||||||
pattern:
|
pattern:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Required for ``event_match`` conditions. The glob-style pattern to
|
Required for `event_match` conditions. The glob-style pattern to
|
||||||
match against. Patterns with no special glob characters should be
|
match against. Patterns with no special glob characters should be
|
||||||
treated as having asterisks prepended and appended when testing the
|
treated as having asterisks prepended and appended when testing the
|
||||||
condition.
|
condition.
|
||||||
is:
|
is:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Required for ``room_member_count`` conditions. A decimal integer
|
Required for `room_member_count` conditions. A decimal integer
|
||||||
optionally prefixed by one of, ==, <, >, >= or <=. A prefix of < matches
|
optionally prefixed by one of, ==, <, >, >= or <=. A prefix of < matches
|
||||||
rooms where the member count is strictly less than the given number and
|
rooms where the member count is strictly less than the given number and
|
||||||
so forth. If no prefix is present, this parameter defaults to ==.
|
so forth. If no prefix is present, this parameter defaults to ==.
|
||||||
|
|
|
@ -43,11 +43,11 @@ properties:
|
||||||
description: |-
|
description: |-
|
||||||
The conditions that must hold true for an event in order for a rule to be
|
The conditions that must hold true for an event in order for a rule to be
|
||||||
applied to an event. A rule with no conditions always matches. Only
|
applied to an event. A rule with no conditions always matches. Only
|
||||||
applicable to ``underride`` and ``override`` rules.
|
applicable to `underride` and `override` rules.
|
||||||
pattern:
|
pattern:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The glob-style pattern to match against. Only applicable to ``content``
|
The glob-style pattern to match against. Only applicable to `content`
|
||||||
rules.
|
rules.
|
||||||
required:
|
required:
|
||||||
- actions
|
- actions
|
||||||
|
|
|
@ -24,7 +24,7 @@ allOf:
|
||||||
3PID verification.
|
3PID verification.
|
||||||
|
|
||||||
This parameter is deprecated with a plan to be removed in a future specification
|
This parameter is deprecated with a plan to be removed in a future specification
|
||||||
version for ``/account/password`` and ``/register`` requests.
|
version for `/account/password` and `/register` requests.
|
||||||
example: "id.example.com"
|
example: "id.example.com"
|
||||||
id_access_token:
|
id_access_token:
|
||||||
type: string
|
type: string
|
||||||
|
@ -33,4 +33,4 @@ allOf:
|
||||||
can treat this as optional to distinguish between r0.5-compatible clients
|
can treat this as optional to distinguish between r0.5-compatible clients
|
||||||
and this specification version.
|
and this specification version.
|
||||||
|
|
||||||
Required if an ``id_server`` is supplied.
|
Required if an `id_server` is supplied.
|
||||||
|
|
|
@ -24,7 +24,7 @@ allOf:
|
||||||
3PID verification.
|
3PID verification.
|
||||||
|
|
||||||
This parameter is deprecated with a plan to be removed in a future specification
|
This parameter is deprecated with a plan to be removed in a future specification
|
||||||
version for ``/account/password`` and ``/register`` requests.
|
version for `/account/password` and `/register` requests.
|
||||||
example: "id.example.com"
|
example: "id.example.com"
|
||||||
id_access_token:
|
id_access_token:
|
||||||
type: string
|
type: string
|
||||||
|
@ -33,4 +33,4 @@ allOf:
|
||||||
can treat this as optional to distinguish between r0.5-compatible clients
|
can treat this as optional to distinguish between r0.5-compatible clients
|
||||||
and this specification version.
|
and this specification version.
|
||||||
|
|
||||||
Required if an ``id_server`` is supplied.
|
Required if an `id_server` is supplied.
|
||||||
|
|
|
@ -17,7 +17,7 @@ properties:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The session ID. Session IDs are opaque strings that must consist entirely
|
The session ID. Session IDs are opaque strings that must consist entirely
|
||||||
of the characters ``[0-9a-zA-Z.=_-]``. Their length must not exceed 255
|
of the characters `[0-9a-zA-Z.=_-]`. Their length must not exceed 255
|
||||||
characters and they must not be empty.
|
characters and they must not be empty.
|
||||||
example: "123abc"
|
example: "123abc"
|
||||||
submit_url:
|
submit_url:
|
||||||
|
@ -25,13 +25,13 @@ properties:
|
||||||
description: |-
|
description: |-
|
||||||
An optional field containing a URL where the client must submit the
|
An optional field containing a URL where the client must submit the
|
||||||
validation token to, with identical parameters to the Identity Service
|
validation token to, with identical parameters to the Identity Service
|
||||||
API's ``POST /validate/email/submitToken`` endpoint (without the requirement
|
API's `POST /validate/email/submitToken` endpoint (without the requirement
|
||||||
for an access token). The homeserver must send this token to the user (if
|
for an access token). The homeserver must send this token to the user (if
|
||||||
applicable), who should then be prompted to provide it to the client.
|
applicable), who should then be prompted to provide it to the client.
|
||||||
|
|
||||||
If this field is not present, the client can assume that verification
|
If this field is not present, the client can assume that verification
|
||||||
will happen without the client's involvement provided the homeserver
|
will happen without the client's involvement provided the homeserver
|
||||||
advertises this specification version in the ``/versions`` response
|
advertises this specification version in the `/versions` response
|
||||||
(ie: r0.5.0).
|
(ie: r0.5.0).
|
||||||
example: "https://example.org/path/to/submitToken"
|
example: "https://example.org/path/to/submitToken"
|
||||||
required: ['sid']
|
required: ['sid']
|
||||||
|
|
|
@ -19,20 +19,20 @@ allOf:
|
||||||
lazy_load_members:
|
lazy_load_members:
|
||||||
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 <#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
|
||||||
description: |-
|
description: |-
|
||||||
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 <#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
|
||||||
are excluded. A matching room will be excluded even if it is listed in the ``'rooms'``
|
are excluded. A matching room will be excluded even if it is listed in the `'rooms'`
|
||||||
filter.
|
filter.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
@ -45,5 +45,5 @@ allOf:
|
||||||
type: array
|
type: array
|
||||||
contains_url:
|
contains_url:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: If ``true``, includes only events with a ``url`` key in their content. If
|
description: If `true`, includes only events with a `url` key in their content. If
|
||||||
``false``, excludes those events. If omitted, ``url`` key is not considered for filtering.
|
`false`, excludes those events. If omitted, `url` key is not considered for filtering.
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
accessToken:
|
accessToken:
|
||||||
type: apiKey
|
type: apiKey
|
||||||
description: The access_token returned by a call to ``/login`` or ``/register``
|
description: The access_token returned by a call to `/login` or `/register`
|
||||||
name: access_token
|
name: access_token
|
||||||
in: query
|
in: query
|
||||||
|
|
|
@ -46,16 +46,16 @@ properties:
|
||||||
properties:
|
properties:
|
||||||
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
|
||||||
are excluded. A matching room will be excluded even if it is listed in the ``'rooms'``
|
are excluded. A matching room will be excluded even if it is listed in the `'rooms'`
|
||||||
filter. This filter is applied before the filters in ``ephemeral``,
|
filter. This filter is applied before the filters in `ephemeral`,
|
||||||
``state``, ``timeline`` or ``account_data``
|
`state`, `timeline` or `account_data`
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
rooms:
|
rooms:
|
||||||
description: A list of room IDs to include. If this list is absent then all rooms
|
description: A list of room IDs to include. If this list is absent then all rooms
|
||||||
are included. This filter is applied before the filters in ``ephemeral``,
|
are included. This filter is applied before the filters in `ephemeral`,
|
||||||
``state``, ``timeline`` or ``account_data``
|
`state`, `timeline` or `account_data`
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
type: object
|
type: object
|
||||||
title: Third Party Signed
|
title: Third Party Signed
|
||||||
description: |-
|
description: |-
|
||||||
A signature of an ``m.third_party_invite`` token to prove that this user
|
A signature of an `m.third_party_invite` token to prove that this user
|
||||||
owns a third party identity which has been invited to the room.
|
owns a third party identity which has been invited to the room.
|
||||||
properties:
|
properties:
|
||||||
sender:
|
sender:
|
||||||
|
|
|
@ -16,11 +16,11 @@ allOf:
|
||||||
- $ref: room_event_batch.yaml
|
- $ref: room_event_batch.yaml
|
||||||
properties:
|
properties:
|
||||||
limited:
|
limited:
|
||||||
description: True if the number of events returned was limited by the ``limit``
|
description: True if the number of events returned was limited by the `limit`
|
||||||
on the filter.
|
on the filter.
|
||||||
type: boolean
|
type: boolean
|
||||||
prev_batch:
|
prev_batch:
|
||||||
description: A token that can be supplied to the ``from`` parameter of the
|
description: A token that can be supplied to the `from` parameter of the
|
||||||
rooms/{roomId}/messages endpoint.
|
rooms/{roomId}/messages endpoint.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
|
|
@ -133,11 +133,11 @@ paths:
|
||||||
room aliases can only be deleted by their creator or a server administrator.
|
room aliases can only be deleted by their creator or a server administrator.
|
||||||
|
|
||||||
**Note:**
|
**Note:**
|
||||||
Servers may choose to update the ``alt_aliases`` for the ``m.room.canonical_alias``
|
Servers may choose to update the `alt_aliases` for the `m.room.canonical_alias`
|
||||||
state event in the room when an alias is removed. Servers which choose to update the
|
state event in the room when an alias is removed. Servers which choose to update the
|
||||||
canonical alias event are recommended to, in addition to their other relevant permission
|
canonical alias event are recommended to, in addition to their other relevant permission
|
||||||
checks, delete the alias and return a successful response even if the user does not
|
checks, delete the alias and return a successful response even if the user does not
|
||||||
have permission to update the ``m.room.canonical_alias`` event.
|
have permission to update the `m.room.canonical_alias` event.
|
||||||
|
|
||||||
operationId: deleteRoomAlias
|
operationId: deleteRoomAlias
|
||||||
security:
|
security:
|
||||||
|
@ -176,8 +176,8 @@ paths:
|
||||||
given room.
|
given room.
|
||||||
|
|
||||||
This endpoint can be called by users who are in the room (external
|
This endpoint can be called by users who are in the room (external
|
||||||
users receive an ``M_FORBIDDEN`` error response). If the room's
|
users receive an `M_FORBIDDEN` error response). If the room's
|
||||||
``m.room.history_visibility`` maps to ``world_readable``, any
|
`m.room.history_visibility` maps to `world_readable`, any
|
||||||
user can call this endpoint.
|
user can call this endpoint.
|
||||||
|
|
||||||
Servers may choose to implement additional access control checks here,
|
Servers may choose to implement additional access control checks here,
|
||||||
|
@ -186,7 +186,7 @@ paths:
|
||||||
|
|
||||||
**Note:**
|
**Note:**
|
||||||
Clients are recommended not to display this list of aliases prominently
|
Clients are recommended not to display this list of aliases prominently
|
||||||
as they are not curated, unlike those listed in the ``m.room.canonical_alias``
|
as they are not curated, unlike those listed in the `m.room.canonical_alias`
|
||||||
state event.
|
state event.
|
||||||
|
|
||||||
operationId: getLocalAliases
|
operationId: getLocalAliases
|
||||||
|
|
|
@ -63,10 +63,10 @@ paths:
|
||||||
name: filter
|
name: filter
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A JSON ``RoomEventFilter`` to filter the returned events with. The
|
A JSON `RoomEventFilter` to filter the returned events with. The
|
||||||
filter is only applied to ``events_before``, ``events_after``, and
|
filter is only applied to `events_before`, `events_after`, and
|
||||||
``state``. It is not applied to the ``event`` itself. The filter may
|
`state`. It is not applied to the `event` itself. The filter may
|
||||||
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 <#filtering>`_ for more information.
|
||||||
|
|
|
@ -88,7 +88,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The ID of the filter that was created. Cannot start
|
The ID of the filter that was created. Cannot start
|
||||||
with a ``{`` as this character is used to determine
|
with a `{` as this character is used to determine
|
||||||
if the filter provided is inline JSON or a previously
|
if the filter provided is inline JSON or a previously
|
||||||
declared filter by homeservers on some APIs.
|
declared filter by homeservers on some APIs.
|
||||||
example: "66696p746572"
|
example: "66696p746572"
|
||||||
|
|
|
@ -48,7 +48,7 @@ paths:
|
||||||
join that room.
|
join that room.
|
||||||
|
|
||||||
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`_
|
.. _third party invites section: `invite-by-third-party-id-endpoint`_
|
||||||
operationId: inviteUser
|
operationId: inviteUser
|
||||||
|
@ -77,7 +77,7 @@ paths:
|
||||||
reason:
|
reason:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Optional reason to be included as the ``reason`` on the subsequent
|
Optional reason to be included as the `reason` on the subsequent
|
||||||
membership event.
|
membership event.
|
||||||
required: ["user_id"]
|
required: ["user_id"]
|
||||||
responses:
|
responses:
|
||||||
|
@ -91,20 +91,20 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
|
|
||||||
The request is invalid. A meaningful ``errcode`` and description
|
The request is invalid. A meaningful `errcode` and description
|
||||||
error text will be returned. Example reasons for rejection include:
|
error text will be returned. Example reasons for rejection include:
|
||||||
|
|
||||||
- The request body is malformed (``errcode`` set to ``M_BAD_JSON``
|
- The request body is malformed (`errcode` set to `M_BAD_JSON`
|
||||||
or ``M_NOT_JSON``).
|
or `M_NOT_JSON`).
|
||||||
|
|
||||||
- One or more users being invited to the room are residents of a
|
- One or more users being invited to the room are residents of a
|
||||||
homeserver which does not support the requested room version. The
|
homeserver which does not support the requested room version. The
|
||||||
``errcode`` will be ``M_UNSUPPORTED_ROOM_VERSION`` in these cases.
|
`errcode` will be `M_UNSUPPORTED_ROOM_VERSION` in these cases.
|
||||||
schema:
|
schema:
|
||||||
"$ref": "definitions/errors/error.yaml"
|
"$ref": "definitions/errors/error.yaml"
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to invite the user to the room. A meaningful ``errcode`` and description error text will be returned. Example reasons for rejections are:
|
You do not have permission to invite the user to the room. A meaningful `errcode` and description error text will be returned. Example reasons for rejections are:
|
||||||
|
|
||||||
- The invitee has been banned from the room.
|
- The invitee has been banned from the room.
|
||||||
- The invitee is already a member of the room.
|
- The invitee is already a member of the room.
|
||||||
|
|
|
@ -32,7 +32,7 @@ paths:
|
||||||
summary: Start the requesting user participating in a particular room.
|
summary: Start the requesting user participating in a particular room.
|
||||||
description: |-
|
description: |-
|
||||||
*Note that this API requires a room ID, not alias.*
|
*Note that this API requires a room ID, not alias.*
|
||||||
``/join/{roomIdOrAlias}`` *exists if you have a room alias.*
|
`/join/{roomIdOrAlias}` *exists if you have a room alias.*
|
||||||
|
|
||||||
This API starts a user participating in a particular room, if that user
|
This API starts a user participating in a particular room, if that user
|
||||||
is allowed to participate in that room. After this call, the client is
|
is allowed to participate in that room. After this call, the client is
|
||||||
|
@ -62,12 +62,12 @@ paths:
|
||||||
- $ref: "definitions/third_party_signed.yaml"
|
- $ref: "definitions/third_party_signed.yaml"
|
||||||
description: |-
|
description: |-
|
||||||
If supplied, the homeserver must verify that it matches a pending
|
If supplied, the homeserver must verify that it matches a pending
|
||||||
``m.room.third_party_invite`` event in the room, and perform
|
`m.room.third_party_invite` event in the room, and perform
|
||||||
key validity checking if required by the event.
|
key validity checking if required by the event.
|
||||||
reason:
|
reason:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Optional reason to be included as the ``reason`` on the subsequent
|
Optional reason to be included as the `reason` on the subsequent
|
||||||
membership event.
|
membership event.
|
||||||
example: "Looking for support"
|
example: "Looking for support"
|
||||||
responses:
|
responses:
|
||||||
|
@ -75,7 +75,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The room has been joined.
|
The room has been joined.
|
||||||
|
|
||||||
The joined room ID must be returned in the ``room_id`` field.
|
The joined room ID must be returned in the `room_id` field.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"room_id": "!d41d8cd:matrix.org"}
|
"room_id": "!d41d8cd:matrix.org"}
|
||||||
|
@ -88,7 +88,7 @@ paths:
|
||||||
required: ["room_id"]
|
required: ["room_id"]
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to join the room. A meaningful ``errcode``
|
You do not have permission to join the room. A meaningful `errcode`
|
||||||
and description error text will be returned. Example reasons for rejection are:
|
and description error text will be returned. Example reasons for rejection are:
|
||||||
|
|
||||||
- The room is invite-only and the user was not invited.
|
- The room is invite-only and the user was not invited.
|
||||||
|
@ -108,7 +108,7 @@ paths:
|
||||||
post:
|
post:
|
||||||
summary: Start the requesting user participating in a particular room.
|
summary: Start the requesting user participating in a particular room.
|
||||||
description: |-
|
description: |-
|
||||||
*Note that this API takes either a room ID or alias, unlike* ``/room/{roomId}/join``.
|
*Note that this API takes either a room ID or alias, unlike* `/room/{roomId}/join`.
|
||||||
|
|
||||||
This API starts a user participating in a particular room, if that user
|
This API starts a user participating in a particular room, if that user
|
||||||
is allowed to participate in that room. After this call, the client is
|
is allowed to participate in that room. After this call, the client is
|
||||||
|
@ -146,13 +146,13 @@ paths:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: "definitions/third_party_signed.yaml"
|
- $ref: "definitions/third_party_signed.yaml"
|
||||||
description: |-
|
description: |-
|
||||||
If a ``third_party_signed`` was supplied, the homeserver must verify
|
If a `third_party_signed` was supplied, the homeserver must verify
|
||||||
that it matches a pending ``m.room.third_party_invite`` event in the
|
that it matches a pending `m.room.third_party_invite` event in the
|
||||||
room, and perform key validity checking if required by the event.
|
room, and perform key validity checking if required by the event.
|
||||||
reason:
|
reason:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Optional reason to be included as the ``reason`` on the subsequent
|
Optional reason to be included as the `reason` on the subsequent
|
||||||
membership event.
|
membership event.
|
||||||
example: "Looking for support"
|
example: "Looking for support"
|
||||||
responses:
|
responses:
|
||||||
|
@ -160,7 +160,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The room has been joined.
|
The room has been joined.
|
||||||
|
|
||||||
The joined room ID must be returned in the ``room_id`` field.
|
The joined room ID must be returned in the `room_id` field.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"room_id": "!d41d8cd:matrix.org"}
|
"room_id": "!d41d8cd:matrix.org"}
|
||||||
|
@ -173,7 +173,7 @@ paths:
|
||||||
required: ["room_id"]
|
required: ["room_id"]
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to join the room. A meaningful ``errcode``
|
You do not have permission to join the room. A meaningful `errcode`
|
||||||
and description error text will be returned. Example reasons for rejection are:
|
and description error text will be returned. Example reasons for rejection are:
|
||||||
|
|
||||||
- The room is invite-only and the user was not invited.
|
- The room is invite-only and the user was not invited.
|
||||||
|
|
|
@ -124,7 +124,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
An opaque string representing stored keys in the backup.
|
An opaque string representing stored keys in the backup.
|
||||||
Clients can compare it with the ``etag`` value they received
|
Clients can compare it with the `etag` value they received
|
||||||
in the request of their last key storage request. If not
|
in the request of their last key storage request. If not
|
||||||
equal, another client has modified the backup.
|
equal, another client has modified the backup.
|
||||||
type: string
|
type: string
|
||||||
|
@ -168,7 +168,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
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 `POST /_matrix/client/r0/room_keys/version`_ or
|
||||||
this endpoint.
|
this endpoint.
|
||||||
required: true
|
required: true
|
||||||
|
@ -206,7 +206,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
An opaque string representing stored keys in the backup.
|
An opaque string representing stored keys in the backup.
|
||||||
Clients can compare it with the ``etag`` value they received
|
Clients can compare it with the `etag` value they received
|
||||||
in the request of their last key storage request. If not
|
in the request of their last key storage request. If not
|
||||||
equal, another client has modified the backup.
|
equal, another client has modified the backup.
|
||||||
type: string
|
type: string
|
||||||
|
@ -240,7 +240,7 @@ paths:
|
||||||
put:
|
put:
|
||||||
summary: Update information about an existing backup.
|
summary: Update information about an existing backup.
|
||||||
description: |-
|
description: |-
|
||||||
Update information about an existing backup. Only ``auth_data`` can be modified.
|
Update information about an existing backup. Only `auth_data` can be modified.
|
||||||
operationId: putRoomKeysVersion
|
operationId: putRoomKeysVersion
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -249,7 +249,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
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 `POST
|
||||||
/_matrix/client/r0/room_keys/version`_ or `GET
|
/_matrix/client/r0/room_keys/version`_ or `GET
|
||||||
/_matrix/client/r0/room_keys/version/{version}`_.
|
/_matrix/client/r0/room_keys/version/{version}`_.
|
||||||
|
@ -300,9 +300,9 @@ paths:
|
||||||
properties: {}
|
properties: {}
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
A parameter was incorrect. For example, the ``algorithm`` does not
|
A parameter was incorrect. For example, the `algorithm` does not
|
||||||
match the current backup algorithm, or the ``version`` in the body
|
match the current backup algorithm, or the `version` in the body
|
||||||
does not match the ``version`` in the path.
|
does not match the `version` in the path.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_INVALID_PARAM",
|
"errcode": "M_INVALID_PARAM",
|
||||||
|
@ -338,7 +338,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
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 `POST
|
||||||
/_matrix/client/r0/room_keys/version`_ or `GET
|
/_matrix/client/r0/room_keys/version`_ or `GET
|
||||||
/_matrix/client/r0/room_keys/version/{version}`_.
|
/_matrix/client/r0/room_keys/version/{version}`_.
|
||||||
|
@ -412,7 +412,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
The new etag value representing stored keys in the backup.
|
The new etag value representing stored keys in the backup.
|
||||||
See ``GET /room_keys/version/{version}`` for more details.
|
See `GET /room_keys/version/{version}` for more details.
|
||||||
type: string
|
type: string
|
||||||
example: "abcdefg"
|
example: "abcdefg"
|
||||||
count:
|
count:
|
||||||
|
@ -425,7 +425,7 @@ paths:
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
The version specified does not match the current backup version.
|
The version specified does not match the current backup version.
|
||||||
The current version will be included in the ``current_version``
|
The current version will be included in the `current_version`
|
||||||
field.
|
field.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -522,7 +522,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
The new etag value representing stored keys in the backup.
|
The new etag value representing stored keys in the backup.
|
||||||
See ``GET /room_keys/version/{version}`` for more details.
|
See `GET /room_keys/version/{version}` for more details.
|
||||||
type: string
|
type: string
|
||||||
example: "abcdefg"
|
example: "abcdefg"
|
||||||
count:
|
count:
|
||||||
|
@ -583,7 +583,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
The new etag value representing stored keys in the backup.
|
The new etag value representing stored keys in the backup.
|
||||||
See ``GET /room_keys/version/{version}`` for more details.
|
See `GET /room_keys/version/{version}` for more details.
|
||||||
type: string
|
type: string
|
||||||
example: "abcdefg"
|
example: "abcdefg"
|
||||||
count:
|
count:
|
||||||
|
@ -596,7 +596,7 @@ paths:
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
The version specified does not match the current backup version.
|
The version specified does not match the current backup version.
|
||||||
The current version will be included in the ``current_version``
|
The current version will be included in the `current_version`
|
||||||
field.
|
field.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -647,7 +647,7 @@ paths:
|
||||||
200:
|
200:
|
||||||
description: |-
|
description: |-
|
||||||
The key data. If no keys are found, then an object with an empty
|
The key data. If no keys are found, then an object with an empty
|
||||||
``sessions`` property will be returned (``{"sessions": {}}``).
|
`sessions` property will be returned (`{"sessions": {}}`).
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
$ref: "definitions/room_key_backup.yaml"
|
$ref: "definitions/room_key_backup.yaml"
|
||||||
|
@ -695,7 +695,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
The new etag value representing stored keys in the backup.
|
The new etag value representing stored keys in the backup.
|
||||||
See ``GET /room_keys/version/{version}`` for more details.
|
See `GET /room_keys/version/{version}` for more details.
|
||||||
type: string
|
type: string
|
||||||
example: "abcdefg"
|
example: "abcdefg"
|
||||||
count:
|
count:
|
||||||
|
@ -776,7 +776,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
The new etag value representing stored keys in the backup.
|
The new etag value representing stored keys in the backup.
|
||||||
See ``GET /room_keys/version/{version}`` for more details.
|
See `GET /room_keys/version/{version}` for more details.
|
||||||
type: string
|
type: string
|
||||||
example: "abcdefg"
|
example: "abcdefg"
|
||||||
count:
|
count:
|
||||||
|
@ -789,7 +789,7 @@ paths:
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
The version specified does not match the current backup version.
|
The version specified does not match the current backup version.
|
||||||
The current version will be included in the ``current_version``
|
The current version will be included in the `current_version`
|
||||||
field.
|
field.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -834,7 +834,7 @@ paths:
|
||||||
200:
|
200:
|
||||||
description: |-
|
description: |-
|
||||||
The key data. If no keys are found, then an object with an empty
|
The key data. If no keys are found, then an object with an empty
|
||||||
``rooms`` property will be returned (``{"rooms": {}}``).
|
`rooms` property will be returned (`{"rooms": {}}`).
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -898,7 +898,7 @@ paths:
|
||||||
etag:
|
etag:
|
||||||
description: |-
|
description: |-
|
||||||
The new etag value representing stored keys in the backup.
|
The new etag value representing stored keys in the backup.
|
||||||
See ``GET /room_keys/version/{version}`` for more details.
|
See `GET /room_keys/version/{version}` for more details.
|
||||||
type: string
|
type: string
|
||||||
example: "abcdefg"
|
example: "abcdefg"
|
||||||
count:
|
count:
|
||||||
|
|
|
@ -57,7 +57,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
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 <#key-algorithms>`_.
|
||||||
|
|
||||||
May be absent if no new one-time keys are required.
|
May be absent if no new one-time keys are required.
|
||||||
|
@ -184,7 +184,7 @@ paths:
|
||||||
|
|
||||||
If the homeserver could be reached, but the user or device
|
If the homeserver could be reached, but the user or device
|
||||||
was unknown, no failure is recorded. Instead, the corresponding
|
was unknown, no failure is recorded. Instead, the corresponding
|
||||||
user or device is missing from the ``device_keys`` result.
|
user or device is missing from the `device_keys` result.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
example: {}
|
example: {}
|
||||||
|
@ -194,7 +194,7 @@ paths:
|
||||||
Information on the queried devices. A map from user ID, to a
|
Information on the queried devices. A map from user ID, to a
|
||||||
map from device ID to device information. For each device,
|
map from device ID to device information. For each device,
|
||||||
the information returned will be the same as uploaded via
|
the information returned will be the same as uploaded via
|
||||||
``/keys/upload``, with the addition of an ``unsigned``
|
`/keys/upload`, with the addition of an `unsigned`
|
||||||
property.
|
property.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
|
@ -243,8 +243,8 @@ paths:
|
||||||
Information on the master cross-signing keys of the queried users.
|
Information on the master cross-signing keys of the queried users.
|
||||||
A map from user ID, to master key information. For each key, the
|
A map from user ID, to master key information. For each key, the
|
||||||
information returned will be the same as uploaded via
|
information returned will be the same as uploaded via
|
||||||
``/keys/device_signing/upload``, along with the signatures
|
`/keys/device_signing/upload`, along with the signatures
|
||||||
uploaded via ``/keys/signatures/upload`` that the requesting user
|
uploaded via `/keys/signatures/upload` that the requesting user
|
||||||
is allowed to see.
|
is allowed to see.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
allOf:
|
allOf:
|
||||||
|
@ -264,7 +264,7 @@ paths:
|
||||||
Information on the self-signing keys of the queried users. A map
|
Information on the self-signing keys of the queried users. A map
|
||||||
from user ID, to self-signing key information. For each key, the
|
from user ID, to self-signing key information. For each key, the
|
||||||
information returned will be the same as uploaded via
|
information returned will be the same as uploaded via
|
||||||
``/keys/device_signing/upload``.
|
`/keys/device_signing/upload`.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: definitions/cross_signing_key.yaml
|
- $ref: definitions/cross_signing_key.yaml
|
||||||
|
@ -289,7 +289,7 @@ paths:
|
||||||
request, if they queried their own device information. A map
|
request, if they queried their own device information. A map
|
||||||
from user ID, to user-signing key information. The
|
from user ID, to user-signing key information. The
|
||||||
information returned will be the same as uploaded via
|
information returned will be the same as uploaded via
|
||||||
``/keys/device_signing/upload``.
|
`/keys/device_signing/upload`.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: definitions/cross_signing_key.yaml
|
- $ref: definitions/cross_signing_key.yaml
|
||||||
|
@ -364,7 +364,7 @@ paths:
|
||||||
|
|
||||||
If the homeserver could be reached, but the user or device
|
If the homeserver could be reached, but the user or device
|
||||||
was unknown, no failure is recorded. Instead, the corresponding
|
was unknown, no failure is recorded. Instead, the corresponding
|
||||||
user or device is missing from the ``one_time_keys`` result.
|
user or device is missing from the `one_time_keys` result.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
example: {}
|
example: {}
|
||||||
|
@ -372,7 +372,7 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
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 <#key-algorithms>`_ section for information
|
||||||
on the Key Object format.
|
on the Key Object format.
|
||||||
|
@ -425,9 +425,9 @@ paths:
|
||||||
The server should include in the results any users who:
|
The server should include in the results any users who:
|
||||||
|
|
||||||
* currently share a room with the calling user (ie, both users have
|
* currently share a room with the calling user (ie, both users have
|
||||||
membership state ``join``); *and*
|
membership state `join`); *and*
|
||||||
* added new device identity keys or removed an existing device with
|
* added new device identity keys or removed an existing device with
|
||||||
identity keys, between ``from`` and ``to``.
|
identity keys, between `from` and `to`.
|
||||||
operationId: getKeysChanges
|
operationId: getKeysChanges
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -436,7 +436,7 @@ paths:
|
||||||
name: from
|
name: from
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The desired start point of the list. Should be the ``next_batch`` field
|
The desired start point of the list. Should be the `next_batch` field
|
||||||
from a response to an earlier call to |/sync|. Users who have not
|
from a response to an earlier call to |/sync|. Users who have not
|
||||||
uploaded new device identity keys since this point, nor deleted
|
uploaded new device identity keys since this point, nor deleted
|
||||||
existing devices with identity keys since then, will be excluded
|
existing devices with identity keys since then, will be excluded
|
||||||
|
@ -447,7 +447,7 @@ paths:
|
||||||
name: to
|
name: to
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The desired end point of the list. Should be the ``next_batch``
|
The desired end point of the list. Should be the `next_batch`
|
||||||
field from a recent call to |/sync| - typically the most recent
|
field from a recent call to |/sync| - typically the most recent
|
||||||
such call. This may be used by the server as a hint to check its
|
such call. This may be used by the server as a hint to check its
|
||||||
caches are up to date.
|
caches are up to date.
|
||||||
|
|
|
@ -34,10 +34,10 @@ paths:
|
||||||
Kick a user from the room.
|
Kick a user from the room.
|
||||||
|
|
||||||
The caller must have the required power level in order to perform this operation.
|
The caller must have the required power level in order to perform this operation.
|
||||||
|
|
||||||
Kicking a user adjusts the target member's membership state to be ``leave`` with an
|
Kicking a user adjusts the target member's membership state to be `leave` with an
|
||||||
optional ``reason``. Like with other membership changes, a user can directly adjust
|
optional `reason`. Like with other membership changes, a user can directly adjust
|
||||||
the target member's state by making a request to ``/rooms/<room id>/state/m.room.member/<user id>``.
|
the target member's state by making a request to `/rooms/<room id>/state/m.room.member/<user id>`.
|
||||||
operationId: kick
|
operationId: kick
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -64,8 +64,8 @@ paths:
|
||||||
reason:
|
reason:
|
||||||
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`_ event.
|
||||||
required: ["user_id"]
|
required: ["user_id"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -77,7 +77,7 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to kick the user from the room. A meaningful ``errcode`` and
|
You do not have permission to kick the user from the room. A meaningful `errcode` and
|
||||||
description error text will be returned. Example reasons for rejections are:
|
description error text will be returned. Example reasons for rejections are:
|
||||||
|
|
||||||
- The kicker is not currently in the room.
|
- The kicker is not currently in the room.
|
||||||
|
|
|
@ -64,7 +64,7 @@ paths:
|
||||||
reason:
|
reason:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Optional reason to be included as the ``reason`` on the subsequent
|
Optional reason to be included as the `reason` on the subsequent
|
||||||
membership event.
|
membership event.
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
|
|
@ -45,7 +45,7 @@ paths:
|
||||||
joined_rooms:
|
joined_rooms:
|
||||||
type: array
|
type: array
|
||||||
description: |-
|
description: |-
|
||||||
The ID of each room in which the user has ``joined`` membership.
|
The ID of each room in which the user has `joined` membership.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -48,7 +48,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
enum: ['private', 'public']
|
enum: ['private', 'public']
|
||||||
description: The visibility of the room in the directory.
|
description: The visibility of the room in the directory.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"visibility": "public"
|
"visibility": "public"
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ paths:
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
Servers may choose to implement additional access control checks
|
Servers may choose to implement additional access control checks
|
||||||
here, for instance that room visibility can only be changed by
|
here, for instance that room visibility can only be changed by
|
||||||
the room creator or a server administrator.
|
the room creator or a server administrator.
|
||||||
operationId: setRoomVisibilityOnDirectory
|
operationId: setRoomVisibilityOnDirectory
|
||||||
security:
|
security:
|
||||||
|
@ -92,7 +92,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
enum: ["private", "public"]
|
enum: ["private", "public"]
|
||||||
description: |-
|
description: |-
|
||||||
The new visibility setting for the room.
|
The new visibility setting for the room.
|
||||||
Defaults to 'public'.
|
Defaults to 'public'.
|
||||||
example: {
|
example: {
|
||||||
"visibility": "public"
|
"visibility": "public"
|
||||||
|
@ -100,7 +100,7 @@ paths:
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: The visibility was updated, or no change was needed.
|
description: The visibility was updated, or no change was needed.
|
||||||
examples:
|
examples:
|
||||||
application/json: {}
|
application/json: {}
|
||||||
404:
|
404:
|
||||||
description: The room is not known to the server
|
description: The room is not known to the server
|
||||||
|
@ -204,10 +204,10 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The specific third party network/protocol to request from the
|
The specific third party network/protocol to request from the
|
||||||
homeserver. Can only be used if ``include_all_networks`` is false.
|
homeserver. Can only be used if `include_all_networks` is false.
|
||||||
example: "irc"
|
example: "irc"
|
||||||
example: {
|
example: {
|
||||||
"limit": 10,
|
"limit": 10,
|
||||||
"filter": {
|
"filter": {
|
||||||
"generic_search_term": "foo"
|
"generic_search_term": "foo"
|
||||||
},
|
},
|
||||||
|
|
|
@ -33,7 +33,7 @@ paths:
|
||||||
summary: Get the supported login types to authenticate users
|
summary: Get the supported login types to authenticate users
|
||||||
description: |-
|
description: |-
|
||||||
Gets the homeserver's supported login types to authenticate users. Clients
|
Gets the homeserver's supported login types to authenticate users. Clients
|
||||||
should pick one of these and supply it as the ``type`` when logging in.
|
should pick one of these and supply it as the `type` when logging in.
|
||||||
operationId: getLoginFlows
|
operationId: getLoginFlows
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -56,7 +56,7 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
type:
|
type:
|
||||||
description: |-
|
description: |-
|
||||||
The login type. This is supplied as the ``type`` when
|
The login type. This is supplied as the `type` when
|
||||||
logging in.
|
logging in.
|
||||||
type: string
|
type: string
|
||||||
429:
|
429:
|
||||||
|
@ -71,10 +71,10 @@ paths:
|
||||||
Authenticates the user, and issues an access token they can
|
Authenticates the user, and issues an access token they can
|
||||||
use to authorize themself in subsequent requests.
|
use to authorize themself in subsequent requests.
|
||||||
|
|
||||||
If the client does not supply a ``device_id``, the server must
|
If the client does not supply a `device_id`, the server must
|
||||||
auto-generate one.
|
auto-generate one.
|
||||||
|
|
||||||
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`_.
|
||||||
|
@ -103,22 +103,22 @@ paths:
|
||||||
"$ref": "definitions/user_identifier.yaml"
|
"$ref": "definitions/user_identifier.yaml"
|
||||||
user:
|
user:
|
||||||
type: string
|
type: string
|
||||||
description: The fully qualified user ID or just local part of the user ID, to log in. Deprecated in favour of ``identifier``.
|
description: The fully qualified user ID or just local part of the user ID, to log in. Deprecated in favour of `identifier`.
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
description: When logging in using a third party identifier, the medium of the identifier. Must be 'email'. Deprecated in favour of ``identifier``.
|
description: When logging in using a third party identifier, the medium of the identifier. Must be 'email'. Deprecated in favour of `identifier`.
|
||||||
address:
|
address:
|
||||||
type: string
|
type: string
|
||||||
description: Third party identifier for the user. Deprecated in favour of ``identifier``.
|
description: Third party identifier for the user. Deprecated in favour of `identifier`.
|
||||||
password:
|
password:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Required when ``type`` is ``m.login.password``. The user's
|
Required when `type` is `m.login.password`. The user's
|
||||||
password.
|
password.
|
||||||
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: |-
|
||||||
|
@ -131,7 +131,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A display name to assign to the newly-created device. Ignored
|
A display name to assign to the newly-created device. Ignored
|
||||||
if ``device_id`` corresponds to a known device.
|
if `device_id` corresponds to a known device.
|
||||||
required: ["type"]
|
required: ["type"]
|
||||||
|
|
||||||
responses:
|
responses:
|
||||||
|
@ -169,8 +169,8 @@ paths:
|
||||||
been registered.
|
been registered.
|
||||||
|
|
||||||
**Deprecated**. Clients should extract the server_name from
|
**Deprecated**. Clients should extract the server_name from
|
||||||
``user_id`` (by splitting at the first colon) if they require
|
`user_id` (by splitting at the first colon) if they require
|
||||||
it. Note also that ``homeserver`` is not spelt this way.
|
it. Note also that `homeserver` is not spelt this way.
|
||||||
device_id:
|
device_id:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -197,10 +197,10 @@ paths:
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
The login attempt failed. This can include one of the following error codes:
|
The login attempt failed. This can include one of the following error codes:
|
||||||
* ``M_FORBIDDEN``: The provided authentication data was incorrect
|
* `M_FORBIDDEN`: The provided authentication data was incorrect
|
||||||
or the requested device ID is the same as a cross-signing key
|
or the requested device ID is the same as a cross-signing key
|
||||||
ID.
|
ID.
|
||||||
* ``M_USER_DEACTIVATED``: The user has been deactivated.
|
* `M_USER_DEACTIVATED`: The user has been deactivated.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_FORBIDDEN"
|
"errcode": "M_FORBIDDEN"
|
||||||
|
|
|
@ -51,8 +51,8 @@ paths:
|
||||||
name: from
|
name: from
|
||||||
description: |-
|
description: |-
|
||||||
The token to start returning events from. This token can be obtained
|
The token to start returning events from. This token can be obtained
|
||||||
from a ``prev_batch`` token returned for each room by the sync API,
|
from a `prev_batch` token returned for each room by the sync API,
|
||||||
or from a ``start`` or ``end`` token returned by a previous request
|
or from a `start` or `end` token returned by a previous request
|
||||||
to this endpoint.
|
to this endpoint.
|
||||||
required: true
|
required: true
|
||||||
x-example: "s345_678_333"
|
x-example: "s345_678_333"
|
||||||
|
@ -61,8 +61,8 @@ paths:
|
||||||
name: to
|
name: to
|
||||||
description: |-
|
description: |-
|
||||||
The token to stop returning events at. This token can be obtained from
|
The token to stop returning events at. This token can be obtained from
|
||||||
a ``prev_batch`` token returned for each room by the sync endpoint,
|
a `prev_batch` token returned for each room by the sync endpoint,
|
||||||
or from a ``start`` or ``end`` token returned by a previous request to
|
or from a `start` or `end` token returned by a previous request to
|
||||||
this endpoint.
|
this endpoint.
|
||||||
required: false
|
required: false
|
||||||
- in: query
|
- in: query
|
||||||
|
@ -96,30 +96,30 @@ paths:
|
||||||
start:
|
start:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The token the pagination starts from. If ``dir=b`` this will be
|
The token the pagination starts from. If `dir=b` this will be
|
||||||
the token supplied in ``from``.
|
the token supplied in `from`.
|
||||||
end:
|
end:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The token the pagination ends at. If ``dir=b`` this token should
|
The token the pagination ends at. If `dir=b` this token should
|
||||||
be used again to request even earlier events.
|
be used again to request even earlier events.
|
||||||
chunk:
|
chunk:
|
||||||
type: array
|
type: array
|
||||||
description: |-
|
description: |-
|
||||||
A list of room events. The order depends on the ``dir`` parameter.
|
A list of room events. The order depends on the `dir` parameter.
|
||||||
For ``dir=b`` events will be in reverse-chronological order,
|
For `dir=b` events will be in reverse-chronological order,
|
||||||
for ``dir=f`` in chronological order, so that events start
|
for `dir=f` in chronological order, so that events start
|
||||||
at the ``from`` point.
|
at the `from` point.
|
||||||
items:
|
items:
|
||||||
"$ref": "../../event-schemas/schema/core-event-schema/room_event.yaml"
|
"$ref": "../../event-schemas/schema/core-event-schema/room_event.yaml"
|
||||||
state:
|
state:
|
||||||
type: array
|
type: array
|
||||||
description: |-
|
description: |-
|
||||||
A list of state events relevant to showing the ``chunk``. For example, if
|
A list of state events relevant to showing the `chunk`. For example, if
|
||||||
``lazy_load_members`` is enabled in the filter then this may contain
|
`lazy_load_members` is enabled in the filter then this may contain
|
||||||
the membership events for the senders of events in the ``chunk``.
|
the membership events for the senders of events in the `chunk`.
|
||||||
|
|
||||||
Unless ``include_redundant_members`` is ``true``, the server
|
Unless `include_redundant_members` is `true`, the server
|
||||||
may remove membership events which would have already been
|
may remove membership events which would have already been
|
||||||
sent to the client in prior calls to this endpoint, assuming
|
sent to the client in prior calls to this endpoint, assuming
|
||||||
the membership of those members has not changed.
|
the membership of those members has not changed.
|
||||||
|
|
|
@ -54,7 +54,7 @@ paths:
|
||||||
name: only
|
name: only
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Allows basic filtering of events returned. Supply ``highlight``
|
Allows basic filtering of events returned. Supply `highlight`
|
||||||
to return only events where the notification had the highlight
|
to return only events where the notification had the highlight
|
||||||
tweak set.
|
tweak set.
|
||||||
required: false
|
required: false
|
||||||
|
@ -87,8 +87,8 @@ paths:
|
||||||
next_token:
|
next_token:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The token to supply in the ``from`` param of the next
|
The token to supply in the `from` param of the next
|
||||||
``/notifications`` request in order to request more
|
`/notifications` request in order to request more
|
||||||
events. If this is absent, there are no more results.
|
events. If this is absent, there are no more results.
|
||||||
notifications:
|
notifications:
|
||||||
type: array
|
type: array
|
||||||
|
|
|
@ -32,10 +32,10 @@ paths:
|
||||||
summary: Listen on the event stream.
|
summary: Listen on the event stream.
|
||||||
description: |-
|
description: |-
|
||||||
This will listen for new events and return them to the caller. This will
|
This will listen for new events and return them to the caller. This will
|
||||||
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|_ API with a `since` parameter. See
|
||||||
the `migration guide
|
the `migration guide
|
||||||
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_.
|
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_.
|
||||||
operationId: getEvents
|
operationId: getEvents
|
||||||
|
@ -73,13 +73,13 @@ paths:
|
||||||
start:
|
start:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the first value in ``chunk``. This
|
A token which correlates to the first value in `chunk`. This
|
||||||
is usually the same token supplied to ``from=``.
|
is usually the same token supplied to `from=`.
|
||||||
end:
|
end:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the last value in ``chunk``. This
|
A token which correlates to the last value in `chunk`. This
|
||||||
token should be used in the next request to ``/events``.
|
token should be used in the next request to `/events`.
|
||||||
chunk:
|
chunk:
|
||||||
type: array
|
type: array
|
||||||
description: "An array of events."
|
description: "An array of events."
|
||||||
|
@ -89,7 +89,7 @@ paths:
|
||||||
allOf:
|
allOf:
|
||||||
- "$ref": "../../event-schemas/schema/core-event-schema/room_event.yaml"
|
- "$ref": "../../event-schemas/schema/core-event-schema/room_event.yaml"
|
||||||
400:
|
400:
|
||||||
description: "Bad pagination ``from`` parameter."
|
description: "Bad pagination `from` parameter."
|
||||||
tags:
|
tags:
|
||||||
- Room participation
|
- Room participation
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -101,7 +101,7 @@ 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|_ API with no `since` parameter. See
|
||||||
the `migration guide
|
the `migration guide
|
||||||
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_.
|
<https://matrix.org/docs/guides/client-server-migrating-from-v1.html#deprecated-endpoints>`_.
|
||||||
operationId: initialSync
|
operationId: initialSync
|
||||||
|
@ -118,10 +118,10 @@ paths:
|
||||||
type: boolean
|
type: boolean
|
||||||
name: archived
|
name: archived
|
||||||
description: |-
|
description: |-
|
||||||
Whether to include rooms that the user has left. If ``false`` then
|
Whether to include rooms that the user has left. If `false` then
|
||||||
only rooms that the user has been invited to or has joined are
|
only rooms that the user has been invited to or has joined are
|
||||||
included. If set to ``true`` then rooms that the user has left are
|
included. If set to `true` then rooms that the user has left are
|
||||||
included as well. By default this is ``false``.
|
included as well. By default this is `false`.
|
||||||
required: false
|
required: false
|
||||||
x-example: "true"
|
x-example: "true"
|
||||||
responses:
|
responses:
|
||||||
|
@ -199,8 +199,8 @@ paths:
|
||||||
end:
|
end:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the last value in ``chunk``. This
|
A token which correlates to the last value in `chunk`. This
|
||||||
token should be used with the ``/events`` API to listen for new
|
token should be used with the `/events` API to listen for new
|
||||||
events.
|
events.
|
||||||
presence:
|
presence:
|
||||||
type: array
|
type: array
|
||||||
|
@ -226,7 +226,7 @@ paths:
|
||||||
invite:
|
invite:
|
||||||
type: object
|
type: object
|
||||||
title: "InviteEvent"
|
title: "InviteEvent"
|
||||||
description: "The invite event if ``membership`` is ``invite``"
|
description: "The invite event if `membership` is `invite`"
|
||||||
allOf:
|
allOf:
|
||||||
- "$ref": "../../event-schemas/schema/m.room.member.yaml"
|
- "$ref": "../../event-schemas/schema/m.room.member.yaml"
|
||||||
messages:
|
messages:
|
||||||
|
@ -237,12 +237,12 @@ paths:
|
||||||
start:
|
start:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the first value in ``chunk``.
|
A token which correlates to the first value in `chunk`.
|
||||||
Used for pagination.
|
Used for pagination.
|
||||||
end:
|
end:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the last value in ``chunk``.
|
A token which correlates to the last value in `chunk`.
|
||||||
Used for pagination.
|
Used for pagination.
|
||||||
chunk:
|
chunk:
|
||||||
type: array
|
type: array
|
||||||
|
@ -251,7 +251,7 @@ paths:
|
||||||
list of the most recent messages for this room. If
|
list of the most recent messages for this room. If
|
||||||
the user has left the room this will be the
|
the user has left the room this will be the
|
||||||
messages that preceeded them leaving. This array
|
messages that preceeded them leaving. This array
|
||||||
will consist of at most ``limit`` elements.
|
will consist of at most `limit` elements.
|
||||||
items:
|
items:
|
||||||
type: object
|
type: object
|
||||||
title: RoomEvent
|
title: RoomEvent
|
||||||
|
@ -274,7 +274,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
enum: ["private", "public"]
|
enum: ["private", "public"]
|
||||||
description: |-
|
description: |-
|
||||||
Whether this room is visible to the ``/publicRooms`` API
|
Whether this room is visible to the `/publicRooms` API
|
||||||
or not."
|
or not."
|
||||||
account_data:
|
account_data:
|
||||||
type: array
|
type: array
|
||||||
|
@ -306,7 +306,7 @@ paths:
|
||||||
get:
|
get:
|
||||||
summary: Get a single event by event ID.
|
summary: Get a single event by event ID.
|
||||||
description: |-
|
description: |-
|
||||||
Get a single event based on ``event_id``. You must have permission to
|
Get a single event based on `event_id`. You must have permission to
|
||||||
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
|
||||||
|
|
|
@ -37,7 +37,7 @@ paths:
|
||||||
OpenID.
|
OpenID.
|
||||||
|
|
||||||
The access token generated is only valid for the OpenID API. It cannot
|
The access token generated is only valid for the OpenID API. It cannot
|
||||||
be used to request another OpenID access token or call ``/sync``, for
|
be used to request another OpenID access token or call `/sync`, for
|
||||||
example.
|
example.
|
||||||
operationId: requestOpenIdToken
|
operationId: requestOpenIdToken
|
||||||
security:
|
security:
|
||||||
|
@ -63,7 +63,7 @@ paths:
|
||||||
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:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
|
|
@ -33,12 +33,12 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
This will listen for new events related to a particular room and return
|
This will listen for new events related to a particular room and return
|
||||||
them to the caller. This will block until an event is received, or until
|
them to the caller. This will block until an event is received, or until
|
||||||
the ``timeout`` is reached.
|
the `timeout` is reached.
|
||||||
|
|
||||||
This API is the same as the normal ``/events`` endpoint, but can be
|
This API is the same as the normal `/events` endpoint, but can be
|
||||||
called by users who have not joined the room.
|
called by users who have not joined the room.
|
||||||
|
|
||||||
Note that the normal ``/events`` endpoint has been deprecated. This
|
Note that the normal `/events` endpoint has been deprecated. This
|
||||||
API will also be deprecated at some point, but its replacement is not
|
API will also be deprecated at some point, but its replacement is not
|
||||||
yet known.
|
yet known.
|
||||||
operationId: peekEvents
|
operationId: peekEvents
|
||||||
|
@ -86,13 +86,13 @@ paths:
|
||||||
start:
|
start:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the first value in ``chunk``. This
|
A token which correlates to the first value in `chunk`. This
|
||||||
is usually the same token supplied to ``from=``.
|
is usually the same token supplied to `from=`.
|
||||||
end:
|
end:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the last value in ``chunk``. This
|
A token which correlates to the last value in `chunk`. This
|
||||||
token should be used in the next request to ``/events``.
|
token should be used in the next request to `/events`.
|
||||||
chunk:
|
chunk:
|
||||||
type: array
|
type: array
|
||||||
description: "An array of events."
|
description: "An array of events."
|
||||||
|
@ -102,5 +102,5 @@ paths:
|
||||||
allOf:
|
allOf:
|
||||||
- "$ref": "../../event-schemas/schema/core-event-schema/room_event.yaml"
|
- "$ref": "../../event-schemas/schema/core-event-schema/room_event.yaml"
|
||||||
400:
|
400:
|
||||||
description: "Bad pagination ``from`` parameter."
|
description: "Bad pagination `from` parameter."
|
||||||
# No tags to exclude this from the swagger UI - use the normal version instead.
|
# No tags to exclude this from the swagger UI - use the normal version instead.
|
||||||
|
|
|
@ -33,7 +33,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
This API sets the given user's presence state. When setting the status,
|
This API sets the given user's presence state. When setting the status,
|
||||||
the activity time is updated to reflect that activity; the client does
|
the activity time is updated to reflect that activity; the client does
|
||||||
not need to specify the ``last_active_ago`` field. You cannot set the
|
not need to specify the `last_active_ago` field. You cannot set the
|
||||||
presence state of another user.
|
presence state of another user.
|
||||||
operationId: setPresence
|
operationId: setPresence
|
||||||
security:
|
security:
|
||||||
|
|
|
@ -32,7 +32,7 @@ paths:
|
||||||
summary: Set the user's display name.
|
summary: Set the user's display name.
|
||||||
description: |-
|
description: |-
|
||||||
This API sets the given user's display name. You must have permission to
|
This API sets the given user's display name. You must have permission to
|
||||||
set this user's display name, e.g. you need to have their ``access_token``.
|
set this user's display name, e.g. you need to have their `access_token`.
|
||||||
operationId: setDisplayName
|
operationId: setDisplayName
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -106,7 +106,7 @@ paths:
|
||||||
summary: Set the user's avatar URL.
|
summary: Set the user's avatar URL.
|
||||||
description: |-
|
description: |-
|
||||||
This API sets the given user's avatar URL. You must have permission to
|
This API sets the given user's avatar URL. You must have permission to
|
||||||
set this user's avatar URL, e.g. you need to have their ``access_token``.
|
set this user's avatar URL, e.g. you need to have their `access_token`.
|
||||||
operationId: setAvatarUrl
|
operationId: setAvatarUrl
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -182,7 +182,7 @@ paths:
|
||||||
Get the combined profile information for this user. This API may be used
|
Get the combined profile information for this user. This API may be used
|
||||||
to fetch the user's own profile information or other users; either
|
to fetch the user's own profile information or other users; either
|
||||||
locally or on remote homeservers. This API may return keys which are not
|
locally or on remote homeservers. This API may return keys which are not
|
||||||
limited to ``displayname`` or ``avatar_url``.
|
limited to `displayname` or `avatar_url`.
|
||||||
operationId: getUserProfile
|
operationId: getUserProfile
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
|
|
|
@ -71,13 +71,13 @@ paths:
|
||||||
pushkey:
|
pushkey:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
This is a unique identifier for this pusher. See ``/set`` for
|
This is a unique identifier for this pusher. See `/set` for
|
||||||
more detail.
|
more detail.
|
||||||
Max length, 512 bytes.
|
Max length, 512 bytes.
|
||||||
kind:
|
kind:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The kind of pusher. ``"http"`` is a pusher that
|
The kind of pusher. `"http"` is a pusher that
|
||||||
sends HTTP pokes.
|
sends HTTP pokes.
|
||||||
app_id:
|
app_id:
|
||||||
type: string
|
type: string
|
||||||
|
@ -114,7 +114,7 @@ paths:
|
||||||
url:
|
url:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Required if ``kind`` is ``http``. The URL to use to send
|
Required if `kind` is `http`. The URL to use to send
|
||||||
notifications to.
|
notifications to.
|
||||||
format:
|
format:
|
||||||
type: string
|
type: string
|
||||||
|
@ -173,14 +173,14 @@ paths:
|
||||||
client has no such concept, use any unique identifier.
|
client has no such concept, use any unique identifier.
|
||||||
Max length, 512 bytes.
|
Max length, 512 bytes.
|
||||||
|
|
||||||
If the ``kind`` is ``"email"``, this is the email address to
|
If the `kind` is `"email"`, this is the email address to
|
||||||
send notifications to.
|
send notifications to.
|
||||||
kind:
|
kind:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The kind of pusher to configure. ``"http"`` makes a pusher that
|
The kind of pusher to configure. `"http"` makes a pusher that
|
||||||
sends HTTP pokes. ``"email"`` makes a pusher that emails the
|
sends HTTP pokes. `"email"` makes a pusher that emails the
|
||||||
user with unread notifications. ``null`` deletes the pusher.
|
user with unread notifications. `null` deletes the pusher.
|
||||||
app_id:
|
app_id:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -189,7 +189,7 @@ paths:
|
||||||
different platform versions get different app identifiers.
|
different platform versions get different app identifiers.
|
||||||
Max length, 64 chars.
|
Max length, 64 chars.
|
||||||
|
|
||||||
If the ``kind`` is ``"email"``, this is ``"m.email"``.
|
If the `kind` is `"email"`, this is `"m.email"`.
|
||||||
app_display_name:
|
app_display_name:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -214,22 +214,22 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
A dictionary of information for the pusher implementation
|
A dictionary of information for the pusher implementation
|
||||||
itself. If ``kind`` is ``http``, this should contain ``url``
|
itself. If `kind` is `http`, this should contain `url`
|
||||||
which is the URL to use to send notifications to.
|
which is the URL to use to send notifications to.
|
||||||
title: PusherData
|
title: PusherData
|
||||||
properties:
|
properties:
|
||||||
url:
|
url:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Required if ``kind`` is ``http``. The URL to use to send
|
Required if `kind` is `http`. The URL to use to send
|
||||||
notifications to. MUST be an HTTPS URL with a path of
|
notifications to. MUST be an HTTPS URL with a path of
|
||||||
``/_matrix/push/v1/notify``.
|
`/_matrix/push/v1/notify`.
|
||||||
example: "https://push-gateway.location.here/_matrix/push/v1/notify"
|
example: "https://push-gateway.location.here/_matrix/push/v1/notify"
|
||||||
format:
|
format:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
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`_. Currently the only format
|
||||||
available is 'event_id_only'.
|
available is 'event_id_only'.
|
||||||
|
@ -240,7 +240,7 @@ paths:
|
||||||
given pushkey and App ID in addition to any others with
|
given pushkey and App ID in addition to any others with
|
||||||
different user IDs. Otherwise, the homeserver must remove any
|
different user IDs. Otherwise, the homeserver must remove any
|
||||||
other pushers with the same App ID and pushkey for different
|
other pushers with the same App ID and pushkey for different
|
||||||
users. The default is ``false``.
|
users. The default is `false`.
|
||||||
required: ['kind', 'app_id', 'app_display_name',
|
required: ['kind', 'app_id', 'app_display_name',
|
||||||
'device_display_name', 'pushkey', 'lang', 'data']
|
'device_display_name', 'pushkey', 'lang', 'data']
|
||||||
responses:
|
responses:
|
||||||
|
|
|
@ -32,9 +32,9 @@ paths:
|
||||||
summary: Retrieve all push rulesets.
|
summary: Retrieve all push rulesets.
|
||||||
description: |-
|
description: |-
|
||||||
Retrieve all push rulesets for this user. Clients can "drill-down" on
|
Retrieve all push rulesets for this user. Clients can "drill-down" on
|
||||||
the rulesets by suffixing a ``scope`` to this path e.g.
|
the rulesets by suffixing a `scope` to this path e.g.
|
||||||
``/pushrules/global/``. This will return a subset of this data under the
|
`/pushrules/global/`. This will return a subset of this data under the
|
||||||
specified key e.g. the ``global`` key.
|
specified key e.g. the `global` key.
|
||||||
operationId: getPushRules
|
operationId: getPushRules
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -263,7 +263,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
``global`` to specify global rules.
|
`global` to specify global rules.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
@ -283,7 +283,7 @@ paths:
|
||||||
200:
|
200:
|
||||||
description: |-
|
description: |-
|
||||||
The specific push rule. This will also include keys specific to the
|
The specific push rule. This will also include keys specific to the
|
||||||
rule itself such as the rule's ``actions`` and ``conditions`` if set.
|
rule itself such as the rule's `actions` and `conditions` if set.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"actions": [
|
"actions": [
|
||||||
|
@ -326,7 +326,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
``global`` to specify global rules.
|
`global` to specify global rules.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
@ -380,7 +380,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
``global`` to specify global rules.
|
`global` to specify global rules.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
@ -402,7 +402,7 @@ paths:
|
||||||
required: false
|
required: false
|
||||||
x-example: someRuleId
|
x-example: someRuleId
|
||||||
description: |-
|
description: |-
|
||||||
Use 'before' with a ``rule_id`` as its value to make the new rule the
|
Use 'before' with a `rule_id` as its value to make the new rule the
|
||||||
next-most important rule with respect to the given user defined rule.
|
next-most important rule with respect to the given user defined rule.
|
||||||
It is not possible to add a rule relative to a predefined server rule.
|
It is not possible to add a rule relative to a predefined server rule.
|
||||||
- in: query
|
- in: query
|
||||||
|
@ -418,7 +418,7 @@ paths:
|
||||||
name: pushrule
|
name: pushrule
|
||||||
description: |-
|
description: |-
|
||||||
The push rule data. Additional top-level keys may be present depending
|
The push rule data. Additional top-level keys may be present depending
|
||||||
on the parameters for the rule ``kind``.
|
on the parameters for the rule `kind`.
|
||||||
required: true
|
required: true
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
|
@ -440,14 +440,14 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The conditions that must hold true for an event in order for a
|
The conditions that must hold true for an event in order for a
|
||||||
rule to be applied to an event. A rule with no conditions
|
rule to be applied to an event. A rule with no conditions
|
||||||
always matches. Only applicable to ``underride`` and ``override`` rules.
|
always matches. Only applicable to `underride` and `override` rules.
|
||||||
items:
|
items:
|
||||||
type: object
|
type: object
|
||||||
allOf: [ "$ref": "definitions/push_condition.yaml" ]
|
allOf: [ "$ref": "definitions/push_condition.yaml" ]
|
||||||
pattern:
|
pattern:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
Only applicable to ``content`` rules. The glob-style pattern to match against.
|
Only applicable to `content` rules. The glob-style pattern to match against.
|
||||||
required: ["actions"]
|
required: ["actions"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -497,8 +497,8 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
Either ``global`` or ``device/<profile_tag>`` to specify global
|
Either `global` or `device/<profile_tag>` to specify global
|
||||||
rules or device rules for the given ``profile_tag``.
|
rules or device rules for the given `profile_tag`.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
@ -554,7 +554,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
``global`` to specify global rules.
|
`global` to specify global rules.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
@ -620,8 +620,8 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
Either ``global`` or ``device/<profile_tag>`` to specify global
|
Either `global` or `device/<profile_tag>` to specify global
|
||||||
rules or device rules for the given ``profile_tag``.
|
rules or device rules for the given `profile_tag`.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
@ -685,7 +685,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: "global"
|
x-example: "global"
|
||||||
description: |-
|
description: |-
|
||||||
``global`` to specify global rules.
|
`global` to specify global rules.
|
||||||
- in: path
|
- in: path
|
||||||
type: string
|
type: string
|
||||||
name: kind
|
name: kind
|
||||||
|
|
|
@ -60,7 +60,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The event ID to set the read receipt location at. This is
|
The event ID to set the read receipt location at. This is
|
||||||
equivalent to calling ``/receipt/m.read/$elsewhere:example.org``
|
equivalent to calling `/receipt/m.read/$elsewhere:example.org`
|
||||||
and is provided here to save that extra call.
|
and is provided here to save that extra call.
|
||||||
example: "$elsewhere:example.org"
|
example: "$elsewhere:example.org"
|
||||||
required: ['m.fully_read']
|
required: ['m.fully_read']
|
||||||
|
|
|
@ -59,8 +59,8 @@ paths:
|
||||||
- in: body
|
- in: body
|
||||||
name: receipt
|
name: receipt
|
||||||
description: |-
|
description: |-
|
||||||
Extra receipt information to attach to ``content`` if any. The
|
Extra receipt information to attach to `content` if any. The
|
||||||
server will automatically set the ``ts`` field.
|
server will automatically set the `ts` field.
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
example: {
|
example: {
|
||||||
|
|
|
@ -36,9 +36,9 @@ paths:
|
||||||
|
|
||||||
This cannot be undone.
|
This cannot be undone.
|
||||||
|
|
||||||
Any user with a power level greater than or equal to the ``m.room.redaction``
|
Any user with a power level greater than or equal to the `m.room.redaction`
|
||||||
event power level may send redaction events in the room. If the user's power
|
event power level may send redaction events in the room. If the user's power
|
||||||
level greater is also greater than or equal to the ``redact`` power level
|
level greater is also greater than or equal to the `redact` power level
|
||||||
of the room, the user may redact events sent by other users.
|
of the room, the user may redact events sent by other users.
|
||||||
|
|
||||||
Server administrators may redact events sent by users on their server.
|
Server administrators may redact events sent by users on their server.
|
||||||
|
|
|
@ -43,27 +43,27 @@ paths:
|
||||||
If registration is successful, this endpoint will issue an access token
|
If registration is successful, this endpoint will issue an access token
|
||||||
the client can use to authorize itself in subsequent requests.
|
the client can use to authorize itself in subsequent requests.
|
||||||
|
|
||||||
If the client does not supply a ``device_id``, the server must
|
If the client does not supply a `device_id`, the server must
|
||||||
auto-generate one.
|
auto-generate one.
|
||||||
|
|
||||||
The server SHOULD register an account with a User ID based on the
|
The server SHOULD register an account with a User ID based on the
|
||||||
``username`` provided, if any. Note that the grammar of Matrix User ID
|
`username` provided, if any. Note that the grammar of Matrix User ID
|
||||||
localparts is restricted, so the server MUST either map the provided
|
localparts is restricted, so the server MUST either map the provided
|
||||||
``username`` onto a ``user_id`` in a logical manner, or reject
|
`username` onto a `user_id` in a logical manner, or reject
|
||||||
``username``\s which do not comply to the grammar, with
|
`username`\s which do not comply to the grammar, with
|
||||||
``M_INVALID_USERNAME``.
|
`M_INVALID_USERNAME`.
|
||||||
|
|
||||||
Matrix clients MUST NOT assume that localpart of the registered
|
Matrix clients MUST NOT assume that localpart of the registered
|
||||||
``user_id`` matches the provided ``username``.
|
`user_id` matches the provided `username`.
|
||||||
|
|
||||||
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`_.
|
||||||
|
|
||||||
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
|
||||||
by the server. The server MUST pick a ``device_id`` for the account
|
by the server. The server MUST pick a `device_id` for the account
|
||||||
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
|
||||||
|
@ -81,7 +81,7 @@ paths:
|
||||||
enum:
|
enum:
|
||||||
- guest
|
- guest
|
||||||
- user
|
- user
|
||||||
description: The kind of account to register. Defaults to ``user``.
|
description: The kind of account to register. Defaults to `user`.
|
||||||
- in: body
|
- in: body
|
||||||
name: body
|
name: body
|
||||||
required: true
|
required: true
|
||||||
|
@ -94,7 +94,7 @@ paths:
|
||||||
user-interactive authentication API. Note that this
|
user-interactive authentication API. Note that this
|
||||||
information is *not* used to define how the registered user
|
information is *not* used to define how the registered user
|
||||||
should be authenticated, but is instead used to
|
should be authenticated, but is instead used to
|
||||||
authenticate the ``register`` call itself.
|
authenticate the `register` call itself.
|
||||||
allOf:
|
allOf:
|
||||||
- "$ref": "definitions/auth_data.yaml"
|
- "$ref": "definitions/auth_data.yaml"
|
||||||
username:
|
username:
|
||||||
|
@ -118,12 +118,12 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A display name to assign to the newly-created device. Ignored
|
A display name to assign to the newly-created device. Ignored
|
||||||
if ``device_id`` corresponds to a known device.
|
if `device_id` corresponds to a known device.
|
||||||
example: Jungle Phone
|
example: Jungle Phone
|
||||||
inhibit_login:
|
inhibit_login:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |-
|
description: |-
|
||||||
If true, an ``access_token`` and ``device_id`` should not be
|
If true, an `access_token` and `device_id` should not be
|
||||||
returned from this call, therefore preventing an automatic
|
returned from this call, therefore preventing an automatic
|
||||||
login. Defaults to false.
|
login. Defaults to false.
|
||||||
example: false
|
example: false
|
||||||
|
@ -151,7 +151,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
An access token for the account.
|
An access token for the account.
|
||||||
This access token can then be used to authorize other requests.
|
This access token can then be used to authorize other requests.
|
||||||
Required if the ``inhibit_login`` option is false.
|
Required if the `inhibit_login` option is false.
|
||||||
home_server:
|
home_server:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -159,22 +159,22 @@ paths:
|
||||||
been registered.
|
been registered.
|
||||||
|
|
||||||
**Deprecated**. Clients should extract the server_name from
|
**Deprecated**. Clients should extract the server_name from
|
||||||
``user_id`` (by splitting at the first colon) if they require
|
`user_id` (by splitting at the first colon) if they require
|
||||||
it. Note also that ``homeserver`` is not spelt this way.
|
it. Note also that `homeserver` is not spelt this way.
|
||||||
device_id:
|
device_id:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
ID of the registered device. Will be the same as the
|
ID of the registered device. Will be the same as the
|
||||||
corresponding parameter in the request, if one was specified.
|
corresponding parameter in the request, if one was specified.
|
||||||
Required if the ``inhibit_login`` option is false.
|
Required if the `inhibit_login` option is false.
|
||||||
required: ['user_id']
|
required: ['user_id']
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
Part of the request was invalid. This may include one of the following error codes:
|
Part of the request was invalid. This may include one of the following error codes:
|
||||||
|
|
||||||
* ``M_USER_IN_USE`` : The desired user ID is already taken.
|
* `M_USER_IN_USE` : The desired user ID is already taken.
|
||||||
* ``M_INVALID_USERNAME`` : The desired user ID is not a valid user name.
|
* `M_INVALID_USERNAME` : The desired user ID is not a valid user name.
|
||||||
* ``M_EXCLUSIVE`` : The desired user ID is in the exclusive namespace
|
* `M_EXCLUSIVE` : The desired user ID is in the exclusive namespace
|
||||||
claimed by an application service.
|
claimed by an application service.
|
||||||
|
|
||||||
These errors may be returned at any stage of the registration process,
|
These errors may be returned at any stage of the registration process,
|
||||||
|
@ -200,7 +200,7 @@ paths:
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
The homeserver does not permit registering the account. This response
|
The homeserver does not permit registering the account. This response
|
||||||
can be used to identify that a particular ``kind`` of account is not
|
can be used to identify that a particular `kind` of account is not
|
||||||
allowed, or that registration is generally not supported by the homeserver.
|
allowed, or that registration is generally not supported by the homeserver.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -251,12 +251,12 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Part of the request was invalid. This may include one of the following error codes:
|
Part of the request was invalid. This may include one of the following error codes:
|
||||||
|
|
||||||
* ``M_THREEPID_IN_USE`` : The email address is already registered to an account on this server.
|
* `M_THREEPID_IN_USE` : The email address is already registered to an account on this server.
|
||||||
However, if the homeserver has the ability to send email, it is recommended that the server
|
However, if the homeserver has the ability to send email, it is recommended that the server
|
||||||
instead send an email to the user with instructions on how to reset their password.
|
instead send an email to the user with instructions on how to reset their password.
|
||||||
This prevents malicious parties from being able to determine if a given email address
|
This prevents malicious parties from being able to determine if a given email address
|
||||||
has an account on the homeserver in question.
|
has an account on the homeserver in question.
|
||||||
* ``M_SERVER_NOT_TRUSTED`` : The ``id_server`` parameter refers to an identity server
|
* `M_SERVER_NOT_TRUSTED` : The `id_server` parameter refers to an identity server
|
||||||
that is not trusted by this homeserver.
|
that is not trusted by this homeserver.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -301,12 +301,12 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Part of the request was invalid. This may include one of the following error codes:
|
Part of the request was invalid. This may include one of the following error codes:
|
||||||
|
|
||||||
* ``M_THREEPID_IN_USE`` : The phone number is already registered to an account on this server.
|
* `M_THREEPID_IN_USE` : The phone number is already registered to an account on this server.
|
||||||
However, if the homeserver has the ability to send SMS message, it is recommended that the server
|
However, if the homeserver has the ability to send SMS message, it is recommended that the server
|
||||||
instead send an SMS message to the user with instructions on how to reset their password.
|
instead send an SMS message to the user with instructions on how to reset their password.
|
||||||
This prevents malicious parties from being able to determine if a given phone number
|
This prevents malicious parties from being able to determine if a given phone number
|
||||||
has an account on the homeserver in question.
|
has an account on the homeserver in question.
|
||||||
* ``M_SERVER_NOT_TRUSTED`` : The ``id_server`` parameter refers to an identity server
|
* `M_SERVER_NOT_TRUSTED` : The `id_server` parameter refers to an identity server
|
||||||
that is not trusted by this homeserver.
|
that is not trusted by this homeserver.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -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 <#soft-logout>`_
|
||||||
for the user's remaining devices.
|
for the user's remaining devices.
|
||||||
example: true
|
example: true
|
||||||
auth:
|
auth:
|
||||||
|
@ -386,20 +386,20 @@ paths:
|
||||||
The homeserver must check that the given email address **is
|
The homeserver must check that the given email address **is
|
||||||
associated** with an account on this homeserver. This API should be
|
associated** with an account on this homeserver. This API should be
|
||||||
used to request validation tokens when authenticating for the
|
used to request validation tokens when authenticating for the
|
||||||
``/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|_ 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.
|
||||||
``M_THREEPID_IN_USE`` may not be returned.
|
`M_THREEPID_IN_USE` may not be returned.
|
||||||
|
|
||||||
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| replace:: `/register/email/requestToken`
|
||||||
|
|
||||||
.. _/register/email/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken
|
.. _/register/email/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken
|
||||||
operationId: requestTokenToResetPasswordEmail
|
operationId: requestTokenToResetPasswordEmail
|
||||||
|
@ -428,7 +428,7 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
The referenced third party identifier is not recognised by the
|
The referenced third party identifier is not recognised by the
|
||||||
homeserver, or the request was invalid. The error code ``M_SERVER_NOT_TRUSTED``
|
homeserver, or the request was invalid. The error code `M_SERVER_NOT_TRUSTED`
|
||||||
can be returned if the server does not trust/support the identity server
|
can be returned if the server does not trust/support the identity server
|
||||||
provided in the request.
|
provided in the request.
|
||||||
schema:
|
schema:
|
||||||
|
@ -445,19 +445,19 @@ paths:
|
||||||
The homeserver must check that the given phone number **is
|
The homeserver must check that the given phone number **is
|
||||||
associated** with an account on this homeserver. This API should be
|
associated** with an account on this homeserver. This API should be
|
||||||
used to request validation tokens when authenticating for the
|
used to request validation tokens when authenticating for the
|
||||||
``/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|_ 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.
|
||||||
``M_THREEPID_IN_USE`` may not be returned.
|
`M_THREEPID_IN_USE` may not be returned.
|
||||||
|
|
||||||
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| replace:: `/register/msisdn/requestToken`
|
||||||
|
|
||||||
.. _/register/msisdn/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken
|
.. _/register/msisdn/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken
|
||||||
operationId: requestTokenToResetPasswordMSISDN
|
operationId: requestTokenToResetPasswordMSISDN
|
||||||
|
@ -486,7 +486,7 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
The referenced third party identifier is not recognised by the
|
The referenced third party identifier is not recognised by the
|
||||||
homeserver, or the request was invalid. The error code ``M_SERVER_NOT_TRUSTED``
|
homeserver, or the request was invalid. The error code `M_SERVER_NOT_TRUSTED`
|
||||||
can be returned if the server does not trust/support the identity server
|
can be returned if the server does not trust/support the identity server
|
||||||
provided in the request.
|
provided in the request.
|
||||||
schema:
|
schema:
|
||||||
|
@ -511,7 +511,7 @@ paths:
|
||||||
The homeserver may change the flows available depending on whether a
|
The homeserver may change the flows available depending on whether a
|
||||||
valid access token is provided.
|
valid access token is provided.
|
||||||
|
|
||||||
Unlike other endpoints, this endpoint does not take an ``id_access_token``
|
Unlike other endpoints, this endpoint does not take an `id_access_token`
|
||||||
parameter because the homeserver is expected to sign the request to the
|
parameter because the homeserver is expected to sign the request to the
|
||||||
identity server instead.
|
identity server instead.
|
||||||
security:
|
security:
|
||||||
|
@ -533,11 +533,11 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The identity server to unbind all of the user's 3PIDs from.
|
The identity server to unbind all of the user's 3PIDs from.
|
||||||
If not provided, the homeserver MUST use the ``id_server``
|
If not provided, the homeserver MUST use the `id_server`
|
||||||
that was originally use to bind each identifier. If the
|
that was originally use to bind each identifier. If the
|
||||||
homeserver does not know which ``id_server`` that was,
|
homeserver does not know which `id_server` that was,
|
||||||
it must return an ``id_server_unbind_result`` of
|
it must return an `id_server_unbind_result` of
|
||||||
``no-support``.
|
`no-support`.
|
||||||
example: "example.org"
|
example: "example.org"
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -552,12 +552,12 @@ paths:
|
||||||
- "no-support"
|
- "no-support"
|
||||||
description: |-
|
description: |-
|
||||||
An indicator as to whether or not the homeserver was able to unbind
|
An indicator as to whether or not the homeserver was able to unbind
|
||||||
the user's 3PIDs from the identity server(s). ``success`` indicates
|
the user's 3PIDs from the identity server(s). `success` indicates
|
||||||
that all identifiers have been unbound from the identity server while
|
that all identifiers have been unbound from the identity server while
|
||||||
``no-support`` indicates that one or more identifiers failed to unbind
|
`no-support` indicates that one or more identifiers failed to unbind
|
||||||
due to the identity server refusing the request or the homeserver
|
due to the identity server refusing the request or the homeserver
|
||||||
being unable to determine an identity server to unbind from. This
|
being unable to determine an identity server to unbind from. This
|
||||||
must be ``success`` if the homeserver has no identifiers to unbind
|
must be `success` if the homeserver has no identifiers to unbind
|
||||||
for the user.
|
for the user.
|
||||||
example: "success"
|
example: "success"
|
||||||
required:
|
required:
|
||||||
|
@ -612,15 +612,15 @@ paths:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |-
|
description: |-
|
||||||
A flag to indicate that the username is available. This should always
|
A flag to indicate that the username is available. This should always
|
||||||
be ``true`` when the server replies with 200 OK.
|
be `true` when the server replies with 200 OK.
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
Part of the request was invalid or the username is not available. This may
|
Part of the request was invalid or the username is not available. This may
|
||||||
include one of the following error codes:
|
include one of the following error codes:
|
||||||
|
|
||||||
* ``M_USER_IN_USE`` : The desired username is already taken.
|
* `M_USER_IN_USE` : The desired username is already taken.
|
||||||
* ``M_INVALID_USERNAME`` : The desired username is not a valid user name.
|
* `M_INVALID_USERNAME` : The desired username is not a valid user name.
|
||||||
* ``M_EXCLUSIVE`` : The desired username is in the exclusive namespace
|
* `M_EXCLUSIVE` : The desired username is in the exclusive namespace
|
||||||
claimed by an application service.
|
claimed by an application service.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
|
|
@ -98,12 +98,12 @@ paths:
|
||||||
start:
|
start:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the first value in ``chunk``.
|
A token which correlates to the first value in `chunk`.
|
||||||
Used for pagination.
|
Used for pagination.
|
||||||
end:
|
end:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
A token which correlates to the last value in ``chunk``.
|
A token which correlates to the last value in `chunk`.
|
||||||
Used for pagination.
|
Used for pagination.
|
||||||
chunk:
|
chunk:
|
||||||
type: array
|
type: array
|
||||||
|
@ -112,7 +112,7 @@ paths:
|
||||||
list of the most recent messages for this room. If
|
list of the most recent messages for this room. If
|
||||||
the user has left the room this will be the
|
the user has left the room this will be the
|
||||||
messages that preceeded them leaving. This array
|
messages that preceeded them leaving. This array
|
||||||
will consist of at most ``limit`` elements.
|
will consist of at most `limit` elements.
|
||||||
items:
|
items:
|
||||||
type: object
|
type: object
|
||||||
title: RoomEvent
|
title: RoomEvent
|
||||||
|
@ -135,7 +135,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
enum: ["private", "public"]
|
enum: ["private", "public"]
|
||||||
description: |-
|
description: |-
|
||||||
Whether this room is visible to the ``/publicRooms`` API
|
Whether this room is visible to the `/publicRooms` API
|
||||||
or not."
|
or not."
|
||||||
account_data:
|
account_data:
|
||||||
type: array
|
type: array
|
||||||
|
|
|
@ -35,18 +35,18 @@ paths:
|
||||||
.. _`put-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-state-eventtype`:
|
.. _`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.
|
||||||
|
|
||||||
Requests to this endpoint **cannot use transaction IDs**
|
Requests to this endpoint **cannot use transaction IDs**
|
||||||
like other ``PUT`` paths because they cannot be differentiated from the
|
like other `PUT` paths because they cannot be differentiated from the
|
||||||
``state_key``. Furthermore, ``POST`` is unsupported on state paths.
|
`state_key`. Furthermore, `POST` is unsupported on state 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`_ 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
|
||||||
per their grammar/syntax and that they point to the room ID where the
|
per their grammar/syntax and that they point to the room ID where the
|
||||||
state event is to be sent. Servers do not validate aliases which are
|
state event is to be sent. Servers do not validate aliases which are
|
||||||
|
@ -116,10 +116,10 @@ paths:
|
||||||
|
|
||||||
Some example error codes include:
|
Some example error codes include:
|
||||||
|
|
||||||
* ``M_INVALID_PARAMETER``: One or more aliases within the ``m.room.canonical_alias``
|
* `M_INVALID_PARAMETER`: One or more aliases within the `m.room.canonical_alias`
|
||||||
event have invalid syntax.
|
event have invalid syntax.
|
||||||
|
|
||||||
* ``M_BAD_ALIAS``: One or more aliases within the ``m.room.canonical_alias`` event
|
* `M_BAD_ALIAS`: One or more aliases within the `m.room.canonical_alias` event
|
||||||
do not point to the room ID for which the state event is to be sent to.
|
do not point to the room ID for which the state event is to be sent to.
|
||||||
schema:
|
schema:
|
||||||
$ref: "definitions/errors/error.yaml"
|
$ref: "definitions/errors/error.yaml"
|
||||||
|
|
|
@ -31,7 +31,7 @@ paths:
|
||||||
get:
|
get:
|
||||||
summary: Get a single event by event ID.
|
summary: Get a single event by event ID.
|
||||||
description: |-
|
description: |-
|
||||||
Get a single event based on ``roomId/eventId``. You must have permission to
|
Get a single event based on `roomId/eventId`. You must have permission to
|
||||||
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.
|
||||||
operationId: getOneRoomEvent
|
operationId: getOneRoomEvent
|
||||||
security:
|
security:
|
||||||
|
@ -196,7 +196,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The point in time (pagination token) to return members for in the room.
|
The point in time (pagination token) to return members for in the room.
|
||||||
This token can be obtained from a ``prev_batch`` token returned for
|
This token can be obtained from a `prev_batch` token returned for
|
||||||
each room by the sync API. Defaults to the current state of the room,
|
each room by the sync API. Defaults to the current state of the room,
|
||||||
as determined by the server.
|
as determined by the server.
|
||||||
x-example: "YWxsCgpOb25lLDM1ODcwOA"
|
x-example: "YWxsCgpOb25lLDM1ODcwOA"
|
||||||
|
@ -213,9 +213,9 @@ paths:
|
||||||
- ban
|
- ban
|
||||||
description: |-
|
description: |-
|
||||||
The kind of membership to filter for. Defaults to no filtering if
|
The kind of membership to filter for. Defaults to no filtering if
|
||||||
unspecified. When specified alongside ``not_membership``, the two
|
unspecified. When specified alongside `not_membership`, the two
|
||||||
parameters create an 'or' condition: either the membership *is*
|
parameters create an 'or' condition: either the membership *is*
|
||||||
the same as ``membership`` **or** *is not* the same as ``not_membership``.
|
the same as `membership` **or** *is not* the same as `not_membership`.
|
||||||
x-example: "join"
|
x-example: "join"
|
||||||
- in: query
|
- in: query
|
||||||
name: not_membership
|
name: not_membership
|
||||||
|
@ -267,7 +267,7 @@ paths:
|
||||||
summary: Gets the list of currently joined users and their profile data.
|
summary: Gets the list of currently joined users and their profile data.
|
||||||
description:
|
description:
|
||||||
This API returns a map of MXIDs to member info objects for members of the room. The current user must be in the room for it to work, unless it is an Application Service in which case any of the AS's users must be in the room.
|
This API returns a map of MXIDs to member info objects for members of the room. The current user must be in the room for it to work, unless it is an Application Service in which case any of the AS's users must be in the room.
|
||||||
This API is primarily for Application Services and should be faster to respond than ``/members`` as it can be implemented more efficiently on the server.
|
This API is primarily for Application Services and should be faster to respond than `/members` as it can be implemented more efficiently on the server.
|
||||||
operationId: getJoinedMembersByRoom
|
operationId: getJoinedMembersByRoom
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
|
|
|
@ -41,7 +41,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The point to return events from. If given, this should be a
|
The point to return events from. If given, this should be a
|
||||||
``next_batch`` result from a previous call to this endpoint.
|
`next_batch` result from a previous call to this endpoint.
|
||||||
x-example: "YWxsCgpOb25lLDM1ODcwOA"
|
x-example: "YWxsCgpOb25lLDM1ODcwOA"
|
||||||
- in: body
|
- in: body
|
||||||
name: body
|
name: body
|
||||||
|
@ -104,7 +104,7 @@ paths:
|
||||||
enum: ["recent", "rank"]
|
enum: ["recent", "rank"]
|
||||||
description: |-
|
description: |-
|
||||||
The order in which to search for results.
|
The order in which to search for results.
|
||||||
By default, this is ``"rank"``.
|
By default, this is `"rank"`.
|
||||||
event_context:
|
event_context:
|
||||||
title: Include Event Context
|
title: Include Event Context
|
||||||
type: object
|
type: object
|
||||||
|
@ -117,13 +117,13 @@ paths:
|
||||||
title: "Before limit"
|
title: "Before limit"
|
||||||
description: |-
|
description: |-
|
||||||
How many events before the result are
|
How many events before the result are
|
||||||
returned. By default, this is ``5``.
|
returned. By default, this is `5`.
|
||||||
after_limit:
|
after_limit:
|
||||||
type: integer
|
type: integer
|
||||||
title: "After limit"
|
title: "After limit"
|
||||||
description: |-
|
description: |-
|
||||||
How many events after the result are
|
How many events after the result are
|
||||||
returned. By default, this is ``5``.
|
returned. By default, this is `5`.
|
||||||
include_profile:
|
include_profile:
|
||||||
type: boolean
|
type: boolean
|
||||||
title: "Return profile information"
|
title: "Return profile information"
|
||||||
|
@ -131,7 +131,7 @@ paths:
|
||||||
Requests that the server returns the
|
Requests that the server returns the
|
||||||
historic profile information for the users
|
historic profile information for the users
|
||||||
that sent the events that were returned.
|
that sent the events that were returned.
|
||||||
By default, this is ``false``.
|
By default, this is `false`.
|
||||||
include_state:
|
include_state:
|
||||||
type: boolean
|
type: boolean
|
||||||
title: Include current state
|
title: Include current state
|
||||||
|
@ -231,7 +231,7 @@ paths:
|
||||||
The historic profile information of the
|
The historic profile information of the
|
||||||
users that sent the events returned.
|
users that sent the events returned.
|
||||||
|
|
||||||
The ``string`` key is the user ID for which
|
The `string` key is the user ID for which
|
||||||
the profile belongs to.
|
the profile belongs to.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
|
@ -265,10 +265,10 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The current state for every room in the results.
|
The current state for every room in the results.
|
||||||
This is included if the request had the
|
This is included if the request had the
|
||||||
``include_state`` key set with a value of ``true``.
|
`include_state` key set with a value of `true`.
|
||||||
|
|
||||||
The ``string`` key is the room ID for which the ``State
|
The `string` key is the room ID for which the `State
|
||||||
Event`` array belongs to.
|
Event` array belongs to.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: array
|
type: array
|
||||||
title: Room State
|
title: Room State
|
||||||
|
@ -281,8 +281,8 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Any groups that were requested.
|
Any groups that were requested.
|
||||||
|
|
||||||
The outer ``string`` key is the group key requested (eg: ``room_id``
|
The outer `string` key is the group key requested (eg: `room_id`
|
||||||
or ``sender``). The inner ``string`` key is the grouped value (eg:
|
or `sender`). The inner `string` key is the grouped value (eg:
|
||||||
a room's ID or a user's ID).
|
a room's ID or a user's ID).
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
@ -36,20 +36,20 @@ paths:
|
||||||
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 <#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
|
||||||
full state of rooms is requested, to aid discovering the user's avatar &
|
full state of rooms is requested, to aid discovering the user's avatar &
|
||||||
displayname.
|
displayname.
|
||||||
|
|
||||||
Further, like other members, the user's own membership event is eligible
|
Further, like other members, the user's own membership event is eligible
|
||||||
for being considered redundant by the server. When a sync is ``limited``,
|
for being considered redundant by the server. When a sync is `limited`,
|
||||||
the server MUST return membership events for events in the gap
|
the server MUST return membership events for events in the gap
|
||||||
(between ``since`` and the start of the returned timeline), regardless
|
(between `since` and the start of the returned timeline), regardless
|
||||||
as to whether or not they are redundant. This ensures that joins/leaves
|
as to whether or not they are redundant. This ensures that joins/leaves
|
||||||
and profile changes which occur during the gap are not lost.
|
and profile changes which occur during the gap are not lost.
|
||||||
|
|
||||||
Note that the default behaviour of ``state`` is to include all membership
|
Note that the default behaviour of `state` is to include all membership
|
||||||
events, alongside other state, when lazy-loading is not enabled.
|
events, alongside other state, when lazy-loading is not enabled.
|
||||||
operationId: sync
|
operationId: sync
|
||||||
security:
|
security:
|
||||||
|
@ -61,7 +61,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The ID of a filter created using the filter API or a filter JSON
|
The ID of a filter created using the filter API or a filter JSON
|
||||||
object encoded as a string. The server will detect whether it is
|
object encoded as a string. The server will detect whether it is
|
||||||
an ID or a JSON object by whether the first character is a ``"{"``
|
an ID or a JSON object by whether the first character is a `"{"`
|
||||||
open brace. Passing the JSON inline is best suited to one off
|
open brace. Passing the JSON inline is best suited to one off
|
||||||
requests. Creating a filter using the filter API is recommended for
|
requests. Creating a filter using the filter API is recommended for
|
||||||
clients that reuse the same filter multiple times, for example in
|
clients that reuse the same filter multiple times, for example in
|
||||||
|
@ -82,16 +82,16 @@ paths:
|
||||||
Controls whether to include the full state for all rooms the user
|
Controls whether to include the full state for all rooms the user
|
||||||
is a member of.
|
is a member of.
|
||||||
|
|
||||||
If this is set to ``true``, then all state events will be returned,
|
If this is set to `true`, then all state events will be returned,
|
||||||
even if ``since`` is non-empty. The timeline will still be limited
|
even if `since` is non-empty. The timeline will still be limited
|
||||||
by the ``since`` parameter. In this case, the ``timeout`` parameter
|
by the `since` parameter. In this case, the `timeout` parameter
|
||||||
will be ignored and the query will return immediately, possibly with
|
will be ignored and the query will return immediately, possibly with
|
||||||
an empty timeline.
|
an empty timeline.
|
||||||
|
|
||||||
If ``false``, and ``since`` is non-empty, only state which has
|
If `false`, and `since` is non-empty, only state which has
|
||||||
changed since the point indicated by ``since`` will be returned.
|
changed since the point indicated by `since` will be returned.
|
||||||
|
|
||||||
By default, this is ``false``.
|
By default, this is `false`.
|
||||||
x-example: "false"
|
x-example: "false"
|
||||||
- in: query
|
- in: query
|
||||||
name: set_presence
|
name: set_presence
|
||||||
|
@ -113,7 +113,7 @@ paths:
|
||||||
request. If no events (or other data) become available before this
|
request. If no events (or other data) become available before this
|
||||||
time elapses, the server will return a response with empty fields.
|
time elapses, the server will return a response with empty fields.
|
||||||
|
|
||||||
By default, this is ``0``, so the server will return immediately
|
By default, this is `0`, so the server will return immediately
|
||||||
even if the response is empty.
|
even if the response is empty.
|
||||||
x-example: 30000
|
x-example: 30000
|
||||||
responses:
|
responses:
|
||||||
|
@ -127,8 +127,8 @@ paths:
|
||||||
next_batch:
|
next_batch:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The batch token to supply in the ``since`` param of the next
|
The batch token to supply in the `since` param of the next
|
||||||
``/sync`` request.
|
`/sync` request.
|
||||||
rooms:
|
rooms:
|
||||||
title: Rooms
|
title: Rooms
|
||||||
type: object
|
type: object
|
||||||
|
@ -157,7 +157,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The users which can be used to generate a room name
|
The users which can be used to generate a room name
|
||||||
if the room does not have one. Required if the room's
|
if the room does not have one. Required if the room's
|
||||||
``m.room.name`` or ``m.room.canonical_alias`` state events
|
`m.room.name` or `m.room.canonical_alias` state events
|
||||||
are unset or empty.
|
are unset or empty.
|
||||||
|
|
||||||
This should be the first 5 members of the room, ordered
|
This should be the first 5 members of the room, ordered
|
||||||
|
@ -169,7 +169,7 @@ paths:
|
||||||
when there are less than 5 members to represent.
|
when there are less than 5 members to represent.
|
||||||
|
|
||||||
When lazy-loading room members is enabled, the membership
|
When lazy-loading room members is enabled, the membership
|
||||||
events for the heroes MUST be included in the ``state``,
|
events for the heroes MUST be included in the `state`,
|
||||||
unless they are redundant. When the list of users changes,
|
unless they are redundant. When the list of users changes,
|
||||||
the server notifies the client by sending a fresh list of
|
the server notifies the client by sending a fresh list of
|
||||||
heroes. If there are no changes since the last sync, this
|
heroes. If there are no changes since the last sync, this
|
||||||
|
@ -179,14 +179,14 @@ paths:
|
||||||
"m.joined_member_count":
|
"m.joined_member_count":
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
The number of users with ``membership`` of ``join``,
|
The number of users with `membership` of `join`,
|
||||||
including the client's own user ID. If this field has
|
including the client's own user ID. If this field has
|
||||||
not changed since the last sync, it may be omitted.
|
not changed since the last sync, it may be omitted.
|
||||||
Required otherwise.
|
Required otherwise.
|
||||||
"m.invited_member_count":
|
"m.invited_member_count":
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
The number of users with ``membership`` of ``invite``.
|
The number of users with `membership` of `invite`.
|
||||||
If this field has not changed since the last sync, it
|
If this field has not changed since the last sync, it
|
||||||
may be omitted. Required otherwise.
|
may be omitted. Required otherwise.
|
||||||
state:
|
state:
|
||||||
|
@ -194,14 +194,14 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
Updates to the state, between the time indicated by
|
Updates to the state, between the time indicated by
|
||||||
the ``since`` parameter, and the start of the
|
the `since` parameter, and the start of the
|
||||||
``timeline`` (or all state up to the start of the
|
`timeline` (or all state up to the start of the
|
||||||
``timeline``, if ``since`` is not given, or
|
`timeline`, if `since` is not given, or
|
||||||
``full_state`` is true).
|
`full_state` is true).
|
||||||
|
|
||||||
N.B. state updates for ``m.room.member`` events will
|
N.B. state updates for `m.room.member` events will
|
||||||
be incomplete if ``lazy_load_members`` is enabled in
|
be incomplete if `lazy_load_members` is enabled in
|
||||||
the ``/sync`` filter, and only return the member events
|
the `/sync` filter, and only return the member events
|
||||||
required to display the senders of the timeline events
|
required to display the senders of the timeline events
|
||||||
in this response.
|
in this response.
|
||||||
allOf:
|
allOf:
|
||||||
|
@ -264,17 +264,17 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
The state of a room that the user has been invited
|
The state of a room that the user has been invited
|
||||||
to. These state events may only have the ``sender``,
|
to. These state events may only have the `sender`,
|
||||||
``type``, ``state_key`` and ``content`` keys
|
`type`, `state_key` and `content` keys
|
||||||
present. These events do not replace any state that
|
present. These events do not replace any state that
|
||||||
the client already has for the room, for example if
|
the client already has for the room, for example if
|
||||||
the client has archived the room. Instead the
|
the client has archived the room. Instead the
|
||||||
client should keep two separate copies of the
|
client should keep two separate copies of the
|
||||||
state: the one from the ``invite_state`` and one
|
state: the one from the `invite_state` and one
|
||||||
from the archived ``state``. If the client joins
|
from the archived `state`. If the client joins
|
||||||
the room then the current state will be given as a
|
the room then the current state will be given as a
|
||||||
delta against the archived ``state`` not the
|
delta against the archived `state` not the
|
||||||
``invite_state``.
|
`invite_state`.
|
||||||
properties:
|
properties:
|
||||||
events:
|
events:
|
||||||
description: The StrippedState events that form the invite state.
|
description: The StrippedState events that form the invite state.
|
||||||
|
|
|
@ -69,7 +69,7 @@ paths:
|
||||||
type: number
|
type: number
|
||||||
format: float
|
format: float
|
||||||
description: |-
|
description: |-
|
||||||
A number in a range ``[0,1]`` describing a relative
|
A number in a range `[0,1]` describing a relative
|
||||||
position of the room under the given tag.
|
position of the room under the given tag.
|
||||||
additionalProperties: true
|
additionalProperties: true
|
||||||
examples:
|
examples:
|
||||||
|
@ -125,7 +125,7 @@ paths:
|
||||||
type: number
|
type: number
|
||||||
format: float
|
format: float
|
||||||
description: |-
|
description: |-
|
||||||
A number in a range ``[0,1]`` describing a relative
|
A number in a range `[0,1]` describing a relative
|
||||||
position of the room under the given tag.
|
position of the room under the given tag.
|
||||||
additionalProperties: true
|
additionalProperties: true
|
||||||
example: {
|
example: {
|
||||||
|
|
|
@ -48,7 +48,7 @@ paths:
|
||||||
join that room.
|
join that room.
|
||||||
|
|
||||||
If the identity server did know the Matrix user identifier for the
|
If the identity server did know the Matrix user identifier for the
|
||||||
third party identifier, the homeserver will append a ``m.room.member``
|
third party identifier, the homeserver will append a `m.room.member`
|
||||||
event to the room.
|
event to the room.
|
||||||
|
|
||||||
If the identity server does not know a Matrix user identifier for the
|
If the identity server does not know a Matrix user identifier for the
|
||||||
|
@ -56,7 +56,7 @@ paths:
|
||||||
which can be accepted upon providing proof of ownership of the third
|
which can be accepted upon providing proof of ownership of the third
|
||||||
party identifier. This is achieved by the identity server generating a
|
party identifier. This is achieved by the identity server generating a
|
||||||
token, which it gives to the inviting homeserver. The homeserver will
|
token, which it gives to the inviting homeserver. The homeserver will
|
||||||
add an ``m.room.third_party_invite`` event into the graph for the room,
|
add an `m.room.third_party_invite` event into the graph for the room,
|
||||||
containing that token.
|
containing that token.
|
||||||
|
|
||||||
When the invitee binds the invited third party identifier to a Matrix
|
When the invitee binds the invited third party identifier to a Matrix
|
||||||
|
@ -72,7 +72,7 @@ paths:
|
||||||
- The matrix user ID who invited them to the room
|
- The matrix user ID who invited them to the room
|
||||||
|
|
||||||
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`_
|
.. _joining rooms section: `invite-by-user-id-endpoint`_
|
||||||
operationId: inviteBy3PID
|
operationId: inviteBy3PID
|
||||||
|
@ -109,7 +109,7 @@ paths:
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
# TODO: Link to Identity Service spec when it eixsts
|
# TODO: Link to Identity Service spec when it eixsts
|
||||||
description: The kind of address being passed in the address field, for example ``email``.
|
description: The kind of address being passed in the address field, for example `email`.
|
||||||
address:
|
address:
|
||||||
type: string
|
type: string
|
||||||
description: The invitee's third party identifier.
|
description: The invitee's third party identifier.
|
||||||
|
@ -124,7 +124,7 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
403:
|
403:
|
||||||
description: |-
|
description: |-
|
||||||
You do not have permission to invite the user to the room. A meaningful ``errcode`` and description error text will be returned. Example reasons for rejections are:
|
You do not have permission to invite the user to the room. A meaningful `errcode` and description error text will be returned. Example reasons for rejections are:
|
||||||
|
|
||||||
- The invitee has been banned from the room.
|
- The invitee has been banned from the room.
|
||||||
- The invitee is already a member of the room.
|
- The invitee is already a member of the room.
|
||||||
|
|
|
@ -32,8 +32,8 @@ paths:
|
||||||
summary: Informs the server that the user has started or stopped typing.
|
summary: Informs the server that the user has started or stopped typing.
|
||||||
description: |-
|
description: |-
|
||||||
This tells the server that the user is typing for the next N
|
This tells the server that the user is typing for the next N
|
||||||
milliseconds where N is the value specified in the ``timeout`` key.
|
milliseconds where N is the value specified in the `timeout` key.
|
||||||
Alternatively, if ``typing`` is ``false``, it tells the server that the
|
Alternatively, if `typing` is `false`, it tells the server that the
|
||||||
user has stopped typing.
|
user has stopped typing.
|
||||||
operationId: setTyping
|
operationId: setTyping
|
||||||
security:
|
security:
|
||||||
|
@ -65,7 +65,7 @@ paths:
|
||||||
typing:
|
typing:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |-
|
description: |-
|
||||||
Whether the user is typing or not. If ``false``, the ``timeout``
|
Whether the user is typing or not. If `false`, the `timeout`
|
||||||
key can be omitted.
|
key can be omitted.
|
||||||
timeout:
|
timeout:
|
||||||
type: integer
|
type: integer
|
||||||
|
|
|
@ -39,8 +39,8 @@ paths:
|
||||||
query remote users as part of the search.
|
query remote users as part of the search.
|
||||||
|
|
||||||
The search is performed case-insensitively on user IDs and display
|
The search is performed case-insensitively on user IDs and display
|
||||||
names preferably using a collation determined based upon the
|
names preferably using a collation determined based upon the
|
||||||
``Accept-Language`` header provided in the request, if present.
|
`Accept-Language` header provided in the request, if present.
|
||||||
operationId: searchUserDirectory
|
operationId: searchUserDirectory
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
|
|
@ -29,13 +29,13 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Gets the versions of the specification supported by the server.
|
Gets the versions of the specification supported by the server.
|
||||||
|
|
||||||
Values will take the form ``rX.Y.Z``.
|
Values will take the form `rX.Y.Z`.
|
||||||
|
|
||||||
Only the latest ``Z`` value will be reported for each supported ``X.Y`` value.
|
Only the latest `Z` value will be reported for each supported `X.Y` value.
|
||||||
i.e. if the server implements ``r0.0.0``, ``r0.0.1``, and ``r1.2.0``, it will report ``r0.0.1`` and ``r1.2.0``.
|
i.e. if the server implements `r0.0.0`, `r0.0.1`, and `r1.2.0`, it will report `r0.0.1` and `r1.2.0`.
|
||||||
|
|
||||||
The server may additionally advertise experimental features it supports
|
The server may additionally advertise experimental features it supports
|
||||||
through ``unstable_features``. These features should be namespaced and
|
through `unstable_features`. These features should be namespaced and
|
||||||
may optionally include version information within their name if desired.
|
may optionally include version information within their name if desired.
|
||||||
Features listed here are not for optionally toggling parts of the Matrix
|
Features listed here are not for optionally toggling parts of the Matrix
|
||||||
specification and should only be used to advertise support for a feature
|
specification and should only be used to advertise support for a feature
|
||||||
|
|
|
@ -28,7 +28,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Gets discovery information about the domain. The file may include
|
Gets discovery information about the domain. The file may include
|
||||||
additional keys, which MUST follow the Java package naming convention,
|
additional keys, which MUST follow the Java package naming convention,
|
||||||
e.g. ``com.example.myapp.property``. This ensures property names are
|
e.g. `com.example.myapp.property`. This ensures property names are
|
||||||
suitably namespaced for each application and reduces the risk of
|
suitably namespaced for each application and reduces the risk of
|
||||||
clashes.
|
clashes.
|
||||||
|
|
||||||
|
|
|
@ -29,13 +29,13 @@ paths:
|
||||||
get:
|
get:
|
||||||
summary: Gets information about the owner of an access token.
|
summary: Gets information about the owner of an access token.
|
||||||
description: |-
|
description: |-
|
||||||
Gets information about the owner of a given access token.
|
Gets information about the owner of a given access token.
|
||||||
|
|
||||||
Note that, as with the rest of the Client-Server API,
|
Note that, as with the rest of the Client-Server API,
|
||||||
Application Services may masquerade as users within their
|
Application Services may masquerade as users within their
|
||||||
namespace by giving a ``user_id`` query parameter. In this
|
namespace by giving a `user_id` query parameter. In this
|
||||||
situation, the server should verify that the given ``user_id``
|
situation, the server should verify that the given `user_id`
|
||||||
is registered by the appservice, and return it in the response
|
is registered by the appservice, and return it in the response
|
||||||
body.
|
body.
|
||||||
operationId: getTokenOwner
|
operationId: getTokenOwner
|
||||||
security:
|
security:
|
||||||
|
|
|
@ -35,13 +35,13 @@ paths:
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: sid
|
name: sid
|
||||||
description: The Session ID generated by the ``requestToken`` call.
|
description: The Session ID generated by the `requestToken` call.
|
||||||
required: true
|
required: true
|
||||||
x-example: 1234
|
x-example: 1234
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: client_secret
|
name: client_secret
|
||||||
description: The client secret passed to the ``requestToken`` call.
|
description: The client secret passed to the `requestToken` call.
|
||||||
required: true
|
required: true
|
||||||
x-example: monkeys_are_GREAT
|
x-example: monkeys_are_GREAT
|
||||||
responses:
|
responses:
|
||||||
|
@ -72,9 +72,9 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The session has not been validated.
|
The session has not been validated.
|
||||||
|
|
||||||
If the session has not been validated, then ``errcode`` will be
|
If the session has not been validated, then `errcode` will be
|
||||||
``M_SESSION_NOT_VALIDATED``. If the session has timed out, then
|
`M_SESSION_NOT_VALIDATED`. If the session has timed out, then
|
||||||
``errcode`` will be ``M_SESSION_EXPIRED``.
|
`errcode` will be `M_SESSION_EXPIRED`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_SESSION_NOT_VALIDATED",
|
"errcode": "M_SESSION_NOT_VALIDATED",
|
||||||
|
@ -97,12 +97,12 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Publish an association between a session and a Matrix user ID.
|
Publish an association between a session and a Matrix user ID.
|
||||||
|
|
||||||
Future calls to ``/lookup`` for any of the session\'s 3pids will return
|
Future calls to `/lookup` for any of the session\'s 3pids will return
|
||||||
this association.
|
this association.
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: bind
|
operationId: bind
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -119,10 +119,10 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The Session ID generated by the ``requestToken`` call.
|
description: The Session ID generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret passed to the ``requestToken`` call.
|
description: The client secret passed to the `requestToken` call.
|
||||||
mxid:
|
mxid:
|
||||||
type: string
|
type: string
|
||||||
description: The Matrix user ID to associate with the 3pids.
|
description: The Matrix user ID to associate with the 3pids.
|
||||||
|
@ -184,9 +184,9 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The association was not published.
|
The association was not published.
|
||||||
|
|
||||||
If the session has not been validated, then ``errcode`` will be
|
If the session has not been validated, then `errcode` will be
|
||||||
``M_SESSION_NOT_VALIDATED``. If the session has timed out, then
|
`M_SESSION_NOT_VALIDATED`. If the session has timed out, then
|
||||||
``errcode`` will be ``M_SESSION_EXPIRED``.
|
`errcode` will be `M_SESSION_EXPIRED`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_SESSION_NOT_VALIDATED",
|
"errcode": "M_SESSION_NOT_VALIDATED",
|
||||||
|
@ -209,15 +209,15 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Remove an association between a session and a Matrix user ID.
|
Remove an association between a session and a Matrix user ID.
|
||||||
|
|
||||||
Future calls to ``/lookup`` for any of the session's 3pids will not
|
Future calls to `/lookup` for any of the session's 3pids will not
|
||||||
return the removed association.
|
return the removed association.
|
||||||
|
|
||||||
The identity server should authenticate the request in one of two
|
The identity server should authenticate the request in one of two
|
||||||
ways:
|
ways:
|
||||||
|
|
||||||
1. The request is signed by the homeserver which controls the ``user_id``.
|
1. The request is signed by the homeserver which controls the `user_id`.
|
||||||
2. The request includes the ``sid`` and ``client_secret`` parameters,
|
2. The request includes the `sid` and `client_secret` parameters,
|
||||||
as per ``/3pid/bind``, which proves ownership of the 3PID.
|
as per `/3pid/bind`, which proves ownership of the 3PID.
|
||||||
|
|
||||||
If this endpoint returns a JSON Matrix error, that error should be passed
|
If this endpoint returns a JSON Matrix error, that error should be passed
|
||||||
through to the client requesting an unbind through a homeserver, if the
|
through to the client requesting an unbind through a homeserver, if the
|
||||||
|
@ -241,10 +241,10 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The Session ID generated by the ``requestToken`` call.
|
description: The Session ID generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret passed to the ``requestToken`` call.
|
description: The client secret passed to the `requestToken` call.
|
||||||
mxid:
|
mxid:
|
||||||
type: string
|
type: string
|
||||||
description: The Matrix user ID to remove from the 3pids.
|
description: The Matrix user ID to remove from the 3pids.
|
||||||
|
@ -253,7 +253,7 @@ paths:
|
||||||
title: 3PID
|
title: 3PID
|
||||||
description: |-
|
description: |-
|
||||||
The 3PID to remove. Must match the 3PID used to generate the session
|
The 3PID to remove. Must match the 3PID used to generate the session
|
||||||
if using ``sid`` and ``client_secret`` to authenticate this request.
|
if using `sid` and `client_secret` to authenticate this request.
|
||||||
properties:
|
properties:
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
|
|
|
@ -23,7 +23,7 @@ properties:
|
||||||
description: |
|
description: |
|
||||||
A unique string generated by the client, and used to identify the
|
A unique string generated by the client, and used to identify the
|
||||||
validation attempt. It must be a string consisting of the characters
|
validation attempt. It must be a string consisting of the characters
|
||||||
``[0-9a-zA-Z.=_-]``. Its length must not exceed 255 characters and it
|
`[0-9a-zA-Z.=_-]`. Its length must not exceed 255 characters and it
|
||||||
must not be empty.
|
must not be empty.
|
||||||
example: "monkeys_are_GREAT"
|
example: "monkeys_are_GREAT"
|
||||||
email:
|
email:
|
||||||
|
@ -33,9 +33,9 @@ properties:
|
||||||
send_attempt:
|
send_attempt:
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
The server will only send an email if the ``send_attempt``
|
The server will only send an email if the `send_attempt`
|
||||||
is a number greater than the most recent one which it has seen,
|
is a number greater than the most recent one which it has seen,
|
||||||
scoped to that ``email`` + ``client_secret`` pair. This is to
|
scoped to that `email` + `client_secret` pair. This is to
|
||||||
avoid repeatedly sending the same email in the case of request
|
avoid repeatedly sending the same email in the case of request
|
||||||
retries between the POSTing user and the identity server.
|
retries between the POSTing user and the identity server.
|
||||||
The client should increment this value if they desire a new
|
The client should increment this value if they desire a new
|
||||||
|
|
|
@ -24,14 +24,14 @@ properties:
|
||||||
description: |
|
description: |
|
||||||
A unique string generated by the client, and used to identify the
|
A unique string generated by the client, and used to identify the
|
||||||
validation attempt. It must be a string consisting of the characters
|
validation attempt. It must be a string consisting of the characters
|
||||||
``[0-9a-zA-Z.=_-]``. Its length must not exceed 255 characters and it
|
`[0-9a-zA-Z.=_-]`. Its length must not exceed 255 characters and it
|
||||||
must not be empty.
|
must not be empty.
|
||||||
example: "monkeys_are_GREAT"
|
example: "monkeys_are_GREAT"
|
||||||
country:
|
country:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The two-letter uppercase ISO-3166-1 alpha-2 country code that the
|
The two-letter uppercase ISO-3166-1 alpha-2 country code that the
|
||||||
number in ``phone_number`` should be parsed as if it were dialled from.
|
number in `phone_number` should be parsed as if it were dialled from.
|
||||||
example: "GB"
|
example: "GB"
|
||||||
phone_number:
|
phone_number:
|
||||||
type: string
|
type: string
|
||||||
|
@ -40,9 +40,9 @@ properties:
|
||||||
send_attempt:
|
send_attempt:
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
The server will only send an SMS if the ``send_attempt`` is a
|
The server will only send an SMS if the `send_attempt` is a
|
||||||
number greater than the most recent one which it has seen,
|
number greater than the most recent one which it has seen,
|
||||||
scoped to that ``country`` + ``phone_number`` + ``client_secret``
|
scoped to that `country` + `phone_number` + `client_secret`
|
||||||
triple. This is to avoid repeatedly sending the same SMS in
|
triple. This is to avoid repeatedly sending the same SMS in
|
||||||
the case of request retries between the POSTing user and the
|
the case of request retries between the POSTing user and the
|
||||||
identity server. The client should increment this value if
|
identity server. The client should increment this value if
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
accessToken:
|
accessToken:
|
||||||
type: apiKey
|
type: apiKey
|
||||||
description: The access_token returned by a call to ``/register``.
|
description: The access_token returned by a call to `/register`.
|
||||||
name: access_token
|
name: access_token
|
||||||
in: query
|
in: query
|
||||||
|
|
|
@ -18,7 +18,7 @@ properties:
|
||||||
description: |
|
description: |
|
||||||
The session ID. Session IDs are opaque strings generated by the identity
|
The session ID. Session IDs are opaque strings generated by the identity
|
||||||
server. They must consist entirely of the characters
|
server. They must consist entirely of the characters
|
||||||
``[0-9a-zA-Z.=_-]``. Their length must not exceed 255 characters and they
|
`[0-9a-zA-Z.=_-]`. Their length must not exceed 255 characters and they
|
||||||
must not be empty.
|
must not be empty.
|
||||||
example: "123abc"
|
example: "123abc"
|
||||||
required: ['sid']
|
required: ['sid']
|
||||||
|
|
|
@ -37,13 +37,13 @@ paths:
|
||||||
|
|
||||||
Note that homeservers offer APIs that proxy this API, adding
|
Note that homeservers offer APIs that proxy this API, adding
|
||||||
additional behaviour on top, for example,
|
additional behaviour on top, for example,
|
||||||
``/register/email/requestToken`` is designed specifically for use when
|
`/register/email/requestToken` is designed specifically for use when
|
||||||
registering an account and therefore will inform the user if the email
|
registering an account and therefore will inform the user if the email
|
||||||
address given is already registered on the server.
|
address given is already registered on the server.
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: emailRequestToken
|
operationId: emailRequestToken
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -61,8 +61,8 @@ paths:
|
||||||
description: |
|
description: |
|
||||||
An error ocurred. Some possible errors are:
|
An error ocurred. Some possible errors are:
|
||||||
|
|
||||||
- ``M_INVALID_EMAIL``: The email address provided was invalid.
|
- `M_INVALID_EMAIL`: The email address provided was invalid.
|
||||||
- ``M_EMAIL_SEND_ERROR``: The validation email could not be sent.
|
- `M_EMAIL_SEND_ERROR`: The validation email could not be sent.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_INVALID_EMAIL",
|
"errcode": "M_INVALID_EMAIL",
|
||||||
|
@ -77,10 +77,10 @@ paths:
|
||||||
Validate ownership of an email address.
|
Validate ownership of an email address.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the email address is considered to
|
`requestToken` call, ownership of the email address is considered to
|
||||||
have been validated. This does not publish any information publicly, or
|
have been validated. This does not publish any information publicly, or
|
||||||
associate the email address with any Matrix user ID. Specifically,
|
associate the email address with any Matrix user ID. Specifically,
|
||||||
calls to ``/lookup`` will not show a binding.
|
calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
The identity server is free to match the token case-insensitively, or
|
The identity server is free to match the token case-insensitively, or
|
||||||
carry out other mapping operations such as unicode
|
carry out other mapping operations such as unicode
|
||||||
|
@ -90,7 +90,7 @@ paths:
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: emailSubmitTokenPost
|
operationId: emailSubmitTokenPost
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -107,13 +107,13 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
token:
|
token:
|
||||||
type: string
|
type: string
|
||||||
description: The token generated by the ``requestToken`` call and emailed to the user.
|
description: The token generated by the `requestToken` call and emailed to the user.
|
||||||
required: ["sid", "client_secret", "token"]
|
required: ["sid", "client_secret", "token"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -136,10 +136,10 @@ paths:
|
||||||
Validate ownership of an email address.
|
Validate ownership of an email address.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the email address is considered to
|
`requestToken` call, ownership of the email address is considered to
|
||||||
have been validated. This does not publish any information publicly, or
|
have been validated. This does not publish any information publicly, or
|
||||||
associate the email address with any Matrix user ID. Specifically,
|
associate the email address with any Matrix user ID. Specifically,
|
||||||
calls to ``/lookup`` will not show a binding.
|
calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
Note that, in contrast with the POST version, this endpoint will be
|
Note that, in contrast with the POST version, this endpoint will be
|
||||||
used by end-users, and so the response should be human-readable.
|
used by end-users, and so the response should be human-readable.
|
||||||
|
@ -150,28 +150,28 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
name: sid
|
name: sid
|
||||||
required: true
|
required: true
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
x-example: 1234
|
x-example: 1234
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: client_secret
|
name: client_secret
|
||||||
required: true
|
required: true
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
x-example: monkeys_are_GREAT
|
x-example: monkeys_are_GREAT
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: token
|
name: token
|
||||||
required: true
|
required: true
|
||||||
description: The token generated by the ``requestToken`` call and emailed to the user.
|
description: The token generated by the `requestToken` call and emailed to the user.
|
||||||
x-example: atoken
|
x-example: atoken
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Email address is validated.
|
description: Email address is validated.
|
||||||
"3xx":
|
"3xx":
|
||||||
description: |-
|
description: |-
|
||||||
Email address is validated, and the ``next_link`` parameter was
|
Email address is validated, and the `next_link` parameter was
|
||||||
provided to the ``requestToken`` call. The user must be redirected
|
provided to the `requestToken` call. The user must be redirected
|
||||||
to the URL provided by the ``next_link`` parameter.
|
to the URL provided by the `next_link` parameter.
|
||||||
"4xx":
|
"4xx":
|
||||||
description:
|
description:
|
||||||
Validation failed.
|
Validation failed.
|
||||||
|
|
|
@ -30,8 +30,8 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Sign invitation details.
|
Sign invitation details.
|
||||||
|
|
||||||
The identity server will look up ``token`` which was stored in a call
|
The identity server will look up `token` which was stored in a call
|
||||||
to ``store-invite``, and fetch the sender of the invite.
|
to `store-invite`, and fetch the sender of the invite.
|
||||||
operationId: blindlySignStuff
|
operationId: blindlySignStuff
|
||||||
deprecated: true
|
deprecated: true
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -50,7 +50,7 @@ paths:
|
||||||
description: The Matrix user ID of the user accepting the invitation.
|
description: The Matrix user ID of the user accepting the invitation.
|
||||||
token:
|
token:
|
||||||
type: string
|
type: string
|
||||||
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`_.
|
||||||
|
|
|
@ -131,8 +131,8 @@ 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`_ 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"
|
||||||
responses:
|
responses:
|
||||||
|
@ -164,8 +164,8 @@ 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`_ 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:
|
||||||
- "threepids"
|
- "threepids"
|
||||||
|
|
|
@ -37,13 +37,13 @@ paths:
|
||||||
|
|
||||||
Note that homeservers offer APIs that proxy this API, adding
|
Note that homeservers offer APIs that proxy this API, adding
|
||||||
additional behaviour on top, for example,
|
additional behaviour on top, for example,
|
||||||
``/register/msisdn/requestToken`` is designed specifically for use when
|
`/register/msisdn/requestToken` is designed specifically for use when
|
||||||
registering an account and therefore will inform the user if the phone
|
registering an account and therefore will inform the user if the phone
|
||||||
number given is already registered on the server.
|
number given is already registered on the server.
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: msisdnRequestToken
|
operationId: msisdnRequestToken
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -61,9 +61,9 @@ paths:
|
||||||
description: |
|
description: |
|
||||||
An error ocurred. Some possible errors are:
|
An error ocurred. Some possible errors are:
|
||||||
|
|
||||||
- ``M_INVALID_ADDRESS``: The phone number provided was invalid.
|
- `M_INVALID_ADDRESS`: The phone number provided was invalid.
|
||||||
- ``M_SEND_ERROR``: The validation SMS could not be sent.
|
- `M_SEND_ERROR`: The validation SMS could not be sent.
|
||||||
- ``M_DESTINATION_REJECTED``: The identity server cannot deliver an
|
- `M_DESTINATION_REJECTED`: The identity server cannot deliver an
|
||||||
SMS to the provided country or region.
|
SMS to the provided country or region.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -79,10 +79,10 @@ paths:
|
||||||
Validate ownership of a phone number.
|
Validate ownership of a phone number.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the phone number is considered to
|
`requestToken` call, ownership of the phone number is considered to
|
||||||
have been validated. This does not publish any information publicly, or
|
have been validated. This does not publish any information publicly, or
|
||||||
associate the phone number address with any Matrix user
|
associate the phone number address with any Matrix user
|
||||||
ID. Specifically, calls to ``/lookup`` will not show a binding.
|
ID. Specifically, calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
The identity server is free to match the token case-insensitively, or
|
The identity server is free to match the token case-insensitively, or
|
||||||
carry out other mapping operations such as unicode
|
carry out other mapping operations such as unicode
|
||||||
|
@ -92,7 +92,7 @@ paths:
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: msisdnSubmitTokenPost
|
operationId: msisdnSubmitTokenPost
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
@ -109,13 +109,13 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
token:
|
token:
|
||||||
type: string
|
type: string
|
||||||
description: The token generated by the ``requestToken`` call and sent to the user.
|
description: The token generated by the `requestToken` call and sent to the user.
|
||||||
required: ["sid", "client_secret", "token"]
|
required: ["sid", "client_secret", "token"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -138,10 +138,10 @@ paths:
|
||||||
Validate ownership of a phone number.
|
Validate ownership of a phone number.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the phone number address is
|
`requestToken` call, ownership of the phone number address is
|
||||||
considered to have been validated. This does not publish any
|
considered to have been validated. This does not publish any
|
||||||
information publicly, or associate the phone number with any Matrix
|
information publicly, or associate the phone number with any Matrix
|
||||||
user ID. Specifically, calls to ``/lookup`` will not show a binding.
|
user ID. Specifically, calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
Note that, in contrast with the POST version, this endpoint will be
|
Note that, in contrast with the POST version, this endpoint will be
|
||||||
used by end-users, and so the response should be human-readable.
|
used by end-users, and so the response should be human-readable.
|
||||||
|
@ -152,28 +152,28 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
name: sid
|
name: sid
|
||||||
required: true
|
required: true
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
x-example: 1234
|
x-example: 1234
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: client_secret
|
name: client_secret
|
||||||
required: true
|
required: true
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
x-example: monkeys_are_GREAT
|
x-example: monkeys_are_GREAT
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: token
|
name: token
|
||||||
required: true
|
required: true
|
||||||
description: The token generated by the ``requestToken`` call and sent to the user.
|
description: The token generated by the `requestToken` call and sent to the user.
|
||||||
x-example: atoken
|
x-example: atoken
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Phone number is validated.
|
description: Phone number is validated.
|
||||||
"3xx":
|
"3xx":
|
||||||
description: |-
|
description: |-
|
||||||
Phone number address is validated, and the ``next_link`` parameter
|
Phone number address is validated, and the `next_link` parameter
|
||||||
was provided to the ``requestToken`` call. The user must be
|
was provided to the `requestToken` call. The user must be
|
||||||
redirected to the URL provided by the ``next_link`` parameter.
|
redirected to the URL provided by the `next_link` parameter.
|
||||||
"4xx":
|
"4xx":
|
||||||
description:
|
description:
|
||||||
Validation failed.
|
Validation failed.
|
||||||
|
|
|
@ -37,23 +37,23 @@ paths:
|
||||||
The service will generate a random token and an ephemeral key used for
|
The service will generate a random token and an ephemeral key used for
|
||||||
accepting the invite.
|
accepting the invite.
|
||||||
|
|
||||||
The service also generates a ``display_name`` for the inviter, which is
|
The service also generates a `display_name` for the inviter, which is
|
||||||
a redacted version of ``address`` which does not leak the full contents
|
a redacted version of `address` which does not leak the full contents
|
||||||
of the ``address``.
|
of the `address`.
|
||||||
|
|
||||||
The service records persistently all of the above information.
|
The service records persistently all of the above information.
|
||||||
|
|
||||||
It also generates an email containing all of this data, sent to the
|
It also generates an email containing all of this data, sent to the
|
||||||
``address`` parameter, notifying them of the invitation.
|
`address` parameter, notifying them of the invitation.
|
||||||
|
|
||||||
Also, the generated ephemeral public key will be listed as valid on
|
Also, the generated ephemeral public key will be listed as valid on
|
||||||
requests to ``/_matrix/identity/api/v1/pubkey/ephemeral/isvalid``.
|
requests to `/_matrix/identity/api/v1/pubkey/ephemeral/isvalid`.
|
||||||
|
|
||||||
Currently, invites may only be issued for 3pids of the ``email`` medium.
|
Currently, invites may only be issued for 3pids of the `email` medium.
|
||||||
|
|
||||||
Optional fields in the request should be populated to the best of the
|
Optional fields in the request should be populated to the best of the
|
||||||
server's ability. Identity servers may use these variables when notifying
|
server's ability. Identity servers may use these variables when notifying
|
||||||
the ``address`` of the pending invite for display purposes.
|
the `address` of the pending invite for display purposes.
|
||||||
operationId: storeInvite
|
operationId: storeInvite
|
||||||
deprecated: true
|
deprecated: true
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -64,7 +64,7 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
description: The literal string ``email``.
|
description: The literal string `email`.
|
||||||
example: "email"
|
example: "email"
|
||||||
address:
|
address:
|
||||||
type: string
|
type: string
|
||||||
|
@ -82,26 +82,26 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The Matrix room alias for the room to which the user is
|
The Matrix room alias for the room to which the user is
|
||||||
invited. This should be retrieved from the ``m.room.canonical_alias``
|
invited. This should be retrieved from the `m.room.canonical_alias`
|
||||||
state event.
|
state event.
|
||||||
example: "#somewhere:exmaple.org"
|
example: "#somewhere:exmaple.org"
|
||||||
room_avatar_url:
|
room_avatar_url:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The Content URI for the room to which the user is invited. This should
|
The Content URI for the room to which the user is invited. This should
|
||||||
be retrieved from the ``m.room.avatar`` state event.
|
be retrieved from the `m.room.avatar` state event.
|
||||||
example: "mxc://example.org/s0meM3dia"
|
example: "mxc://example.org/s0meM3dia"
|
||||||
room_join_rules:
|
room_join_rules:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The ``join_rule`` for the room to which the user is invited. This should
|
The `join_rule` for the room to which the user is invited. This should
|
||||||
be retrieved from the ``m.room.join_rules`` state event.
|
be retrieved from the `m.room.join_rules` state event.
|
||||||
example: "public"
|
example: "public"
|
||||||
room_name:
|
room_name:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The name of the room to which the user is invited. This should be retrieved
|
The name of the room to which the user is invited. This should be retrieved
|
||||||
from the ``m.room.name`` state event.
|
from the `m.room.name` state event.
|
||||||
example: "Bob's Emporium of Messages"
|
example: "Bob's Emporium of Messages"
|
||||||
sender_display_name:
|
sender_display_name:
|
||||||
type: string
|
type: string
|
||||||
|
@ -122,7 +122,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |
|
description: |
|
||||||
The generated token. Must be a string consisting of the
|
The generated token. Must be a string consisting of the
|
||||||
characters ``[0-9a-zA-Z.=_-]``. Its length must not exceed
|
characters `[0-9a-zA-Z.=_-]`. Its length must not exceed
|
||||||
255 characters and it must not be empty.
|
255 characters and it must not be empty.
|
||||||
public_keys:
|
public_keys:
|
||||||
type: array
|
type: array
|
||||||
|
@ -149,8 +149,8 @@ paths:
|
||||||
An error has occured.
|
An error has occured.
|
||||||
|
|
||||||
If the 3pid is already bound to a Matrix user ID, the error code
|
If the 3pid is already bound to a Matrix user ID, the error code
|
||||||
will be ``M_THREEPID_IN_USE``. If the medium is unsupported, the
|
will be `M_THREEPID_IN_USE`. If the medium is unsupported, the
|
||||||
error code will be ``M_UNRECOGNIZED``.
|
error code will be `M_UNRECOGNIZED`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_THREEPID_IN_USE",
|
"errcode": "M_THREEPID_IN_USE",
|
||||||
|
|
|
@ -39,13 +39,13 @@ paths:
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: sid
|
name: sid
|
||||||
description: The Session ID generated by the ``requestToken`` call.
|
description: The Session ID generated by the `requestToken` call.
|
||||||
required: true
|
required: true
|
||||||
x-example: 1234
|
x-example: 1234
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: client_secret
|
name: client_secret
|
||||||
description: The client secret passed to the ``requestToken`` call.
|
description: The client secret passed to the `requestToken` call.
|
||||||
required: true
|
required: true
|
||||||
x-example: monkeys_are_GREAT
|
x-example: monkeys_are_GREAT
|
||||||
responses:
|
responses:
|
||||||
|
@ -76,9 +76,9 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The session has not been validated.
|
The session has not been validated.
|
||||||
|
|
||||||
If the session has not been validated, then ``errcode`` will be
|
If the session has not been validated, then `errcode` will be
|
||||||
``M_SESSION_NOT_VALIDATED``. If the session has timed out, then
|
`M_SESSION_NOT_VALIDATED`. If the session has timed out, then
|
||||||
``errcode`` will be ``M_SESSION_EXPIRED``.
|
`errcode` will be `M_SESSION_EXPIRED`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_SESSION_NOT_VALIDATED",
|
"errcode": "M_SESSION_NOT_VALIDATED",
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
@ -112,12 +112,12 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Publish an association between a session and a Matrix user ID.
|
Publish an association between a session and a Matrix user ID.
|
||||||
|
|
||||||
Future calls to ``/lookup`` for any of the session\'s 3pids will return
|
Future calls to `/lookup` for any of the session\'s 3pids will return
|
||||||
this association.
|
this association.
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: bindV2
|
operationId: bindV2
|
||||||
security:
|
security:
|
||||||
|
@ -135,10 +135,10 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The Session ID generated by the ``requestToken`` call.
|
description: The Session ID generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret passed to the ``requestToken`` call.
|
description: The client secret passed to the `requestToken` call.
|
||||||
mxid:
|
mxid:
|
||||||
type: string
|
type: string
|
||||||
description: The Matrix user ID to associate with the 3pids.
|
description: The Matrix user ID to associate with the 3pids.
|
||||||
|
@ -200,9 +200,9 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
The association was not published.
|
The association was not published.
|
||||||
|
|
||||||
If the session has not been validated, then ``errcode`` will be
|
If the session has not been validated, then `errcode` will be
|
||||||
``M_SESSION_NOT_VALIDATED``. If the session has timed out, then
|
`M_SESSION_NOT_VALIDATED`. If the session has timed out, then
|
||||||
``errcode`` will be ``M_SESSION_EXPIRED``.
|
`errcode` will be `M_SESSION_EXPIRED`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_SESSION_NOT_VALIDATED",
|
"errcode": "M_SESSION_NOT_VALIDATED",
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
@ -236,15 +236,15 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Remove an association between a session and a Matrix user ID.
|
Remove an association between a session and a Matrix user ID.
|
||||||
|
|
||||||
Future calls to ``/lookup`` for any of the session's 3pids will not
|
Future calls to `/lookup` for any of the session's 3pids will not
|
||||||
return the removed association.
|
return the removed association.
|
||||||
|
|
||||||
The identity server should authenticate the request in one of two
|
The identity server should authenticate the request in one of two
|
||||||
ways:
|
ways:
|
||||||
|
|
||||||
1. The request is signed by the homeserver which controls the ``user_id``.
|
1. The request is signed by the homeserver which controls the `user_id`.
|
||||||
2. The request includes the ``sid`` and ``client_secret`` parameters,
|
2. The request includes the `sid` and `client_secret` parameters,
|
||||||
as per ``/3pid/bind``, which proves ownership of the 3PID.
|
as per `/3pid/bind`, which proves ownership of the 3PID.
|
||||||
|
|
||||||
If this endpoint returns a JSON Matrix error, that error should be passed
|
If this endpoint returns a JSON Matrix error, that error should be passed
|
||||||
through to the client requesting an unbind through a homeserver, if the
|
through to the client requesting an unbind through a homeserver, if the
|
||||||
|
@ -269,10 +269,10 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The Session ID generated by the ``requestToken`` call.
|
description: The Session ID generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret passed to the ``requestToken`` call.
|
description: The client secret passed to the `requestToken` call.
|
||||||
mxid:
|
mxid:
|
||||||
type: string
|
type: string
|
||||||
description: The Matrix user ID to remove from the 3pids.
|
description: The Matrix user ID to remove from the 3pids.
|
||||||
|
@ -281,7 +281,7 @@ paths:
|
||||||
title: 3PID
|
title: 3PID
|
||||||
description: |-
|
description: |-
|
||||||
The 3PID to remove. Must match the 3PID used to generate the session
|
The 3PID to remove. Must match the 3PID used to generate the session
|
||||||
if using ``sid`` and ``client_secret`` to authenticate this request.
|
if using `sid` and `client_secret` to authenticate this request.
|
||||||
properties:
|
properties:
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
|
@ -317,7 +317,7 @@ paths:
|
||||||
the chosen authentication method (such as blocking homeservers from
|
the chosen authentication method (such as blocking homeservers from
|
||||||
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`_ in order to continue.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
|
|
@ -32,7 +32,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Exchanges an OpenID token from the homeserver for an access token to
|
Exchanges an OpenID token from the homeserver for an access token to
|
||||||
access the identity server. The request body is the same as the values
|
access the identity server. The request body is the same as the values
|
||||||
returned by ``/openid/request_token`` in the Client-Server API.
|
returned by `/openid/request_token` in the Client-Server API.
|
||||||
operationId: registerAccount
|
operationId: registerAccount
|
||||||
parameters:
|
parameters:
|
||||||
- in: body
|
- in: body
|
||||||
|
@ -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`_.
|
||||||
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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
|
|
@ -40,13 +40,13 @@ paths:
|
||||||
|
|
||||||
Note that homeservers offer APIs that proxy this API, adding
|
Note that homeservers offer APIs that proxy this API, adding
|
||||||
additional behaviour on top, for example,
|
additional behaviour on top, for example,
|
||||||
``/register/email/requestToken`` is designed specifically for use when
|
`/register/email/requestToken` is designed specifically for use when
|
||||||
registering an account and therefore will inform the user if the email
|
registering an account and therefore will inform the user if the email
|
||||||
address given is already registered on the server.
|
address given is already registered on the server.
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: emailRequestTokenV2
|
operationId: emailRequestTokenV2
|
||||||
security:
|
security:
|
||||||
|
@ -65,8 +65,8 @@ paths:
|
||||||
description: |
|
description: |
|
||||||
An error ocurred. Some possible errors are:
|
An error ocurred. Some possible errors are:
|
||||||
|
|
||||||
- ``M_INVALID_EMAIL``: The email address provided was invalid.
|
- `M_INVALID_EMAIL`: The email address provided was invalid.
|
||||||
- ``M_EMAIL_SEND_ERROR``: The validation email could not be sent.
|
- `M_EMAIL_SEND_ERROR`: The validation email could not be sent.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_INVALID_EMAIL",
|
"errcode": "M_INVALID_EMAIL",
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
@ -92,10 +92,10 @@ paths:
|
||||||
Validate ownership of an email address.
|
Validate ownership of an email address.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the email address is considered to
|
`requestToken` call, ownership of the email address is considered to
|
||||||
have been validated. This does not publish any information publicly, or
|
have been validated. This does not publish any information publicly, or
|
||||||
associate the email address with any Matrix user ID. Specifically,
|
associate the email address with any Matrix user ID. Specifically,
|
||||||
calls to ``/lookup`` will not show a binding.
|
calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
The identity server is free to match the token case-insensitively, or
|
The identity server is free to match the token case-insensitively, or
|
||||||
carry out other mapping operations such as unicode
|
carry out other mapping operations such as unicode
|
||||||
|
@ -105,7 +105,7 @@ paths:
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: emailSubmitTokenPostV2
|
operationId: emailSubmitTokenPostV2
|
||||||
security:
|
security:
|
||||||
|
@ -123,13 +123,13 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
token:
|
token:
|
||||||
type: string
|
type: string
|
||||||
description: The token generated by the ``requestToken`` call and emailed to the user.
|
description: The token generated by the `requestToken` call and emailed to the user.
|
||||||
required: ["sid", "client_secret", "token"]
|
required: ["sid", "client_secret", "token"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
@ -163,10 +163,10 @@ paths:
|
||||||
Validate ownership of an email address.
|
Validate ownership of an email address.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the email address is considered to
|
`requestToken` call, ownership of the email address is considered to
|
||||||
have been validated. This does not publish any information publicly, or
|
have been validated. This does not publish any information publicly, or
|
||||||
associate the email address with any Matrix user ID. Specifically,
|
associate the email address with any Matrix user ID. Specifically,
|
||||||
calls to ``/lookup`` will not show a binding.
|
calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
Note that, in contrast with the POST version, this endpoint will be
|
Note that, in contrast with the POST version, this endpoint will be
|
||||||
used by end-users, and so the response should be human-readable.
|
used by end-users, and so the response should be human-readable.
|
||||||
|
@ -178,35 +178,35 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
name: sid
|
name: sid
|
||||||
required: true
|
required: true
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
x-example: 1234
|
x-example: 1234
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: client_secret
|
name: client_secret
|
||||||
required: true
|
required: true
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
x-example: monkeys_are_GREAT
|
x-example: monkeys_are_GREAT
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: token
|
name: token
|
||||||
required: true
|
required: true
|
||||||
description: The token generated by the ``requestToken`` call and emailed to the user.
|
description: The token generated by the `requestToken` call and emailed to the user.
|
||||||
x-example: atoken
|
x-example: atoken
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Email address is validated.
|
description: Email address is validated.
|
||||||
"3xx":
|
"3xx":
|
||||||
description: |-
|
description: |-
|
||||||
Email address is validated, and the ``next_link`` parameter was
|
Email address is validated, and the `next_link` parameter was
|
||||||
provided to the ``requestToken`` call. The user must be redirected
|
provided to the `requestToken` call. The user must be redirected
|
||||||
to the URL provided by the ``next_link`` parameter.
|
to the URL provided by the `next_link` parameter.
|
||||||
"4xx":
|
"4xx":
|
||||||
description:
|
description:
|
||||||
Validation failed.
|
Validation failed.
|
||||||
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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
|
|
@ -33,8 +33,8 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Sign invitation details.
|
Sign invitation details.
|
||||||
|
|
||||||
The identity server will look up ``token`` which was stored in a call
|
The identity server will look up `token` which was stored in a call
|
||||||
to ``store-invite``, and fetch the sender of the invite.
|
to `store-invite`, and fetch the sender of the invite.
|
||||||
operationId: blindlySignStuffV2
|
operationId: blindlySignStuffV2
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -54,7 +54,7 @@ paths:
|
||||||
description: The Matrix user ID of the user accepting the invitation.
|
description: The Matrix user ID of the user accepting the invitation.
|
||||||
token:
|
token:
|
||||||
type: string
|
type: string
|
||||||
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`_.
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
|
|
@ -55,7 +55,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The pepper the client MUST use in hashing identifiers, and MUST
|
The pepper the client MUST use in hashing identifiers, and MUST
|
||||||
supply to the ``/lookup`` endpoint when performing lookups.
|
supply to the `/lookup` endpoint when performing lookups.
|
||||||
|
|
||||||
Servers SHOULD rotate this string often.
|
Servers SHOULD rotate this string often.
|
||||||
algorithms:
|
algorithms:
|
||||||
|
@ -63,7 +63,7 @@ paths:
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The algorithms the server supports. Must contain at least ``sha256``.
|
The algorithms the server supports. Must contain at least `sha256`.
|
||||||
required: ['lookup_pepper', 'algorithms']
|
required: ['lookup_pepper', 'algorithms']
|
||||||
"/lookup":
|
"/lookup":
|
||||||
post:
|
post:
|
||||||
|
@ -84,14 +84,14 @@ paths:
|
||||||
algorithm:
|
algorithm:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The algorithm the client is using to encode the ``addresses``. This
|
The algorithm the client is using to encode the `addresses`. This
|
||||||
should be one of the available options from ``/hash_details``.
|
should be one of the available options from `/hash_details`.
|
||||||
example: "sha256"
|
example: "sha256"
|
||||||
pepper:
|
pepper:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The pepper from ``/hash_details``. This is required even when the
|
The pepper from `/hash_details`. This is required even when the
|
||||||
``algorithm`` does not make use of it.
|
`algorithm` does not make use of it.
|
||||||
example: "matrixrocks"
|
example: "matrixrocks"
|
||||||
addresses:
|
addresses:
|
||||||
type: array
|
type: array
|
||||||
|
@ -99,7 +99,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The addresses to look up. The format of the entries here depend on
|
The addresses to look up. The format of the entries here depend on
|
||||||
the ``algorithm`` used. Note that queries which have been incorrectly
|
the `algorithm` used. Note that queries which have been incorrectly
|
||||||
hashed or formatted will lead to no matches.
|
hashed or formatted will lead to no matches.
|
||||||
example: [
|
example: [
|
||||||
"4kenr7N9drpCJ4AfalmlGQVsOn3o2RHjkADUpXJWZUc",
|
"4kenr7N9drpCJ4AfalmlGQVsOn3o2RHjkADUpXJWZUc",
|
||||||
|
@ -109,7 +109,7 @@ paths:
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description:
|
description:
|
||||||
The associations for any matched ``addresses``.
|
The associations for any matched `addresses`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
|
@ -122,7 +122,7 @@ paths:
|
||||||
mappings:
|
mappings:
|
||||||
type: object
|
type: object
|
||||||
description: |-
|
description: |-
|
||||||
Any applicable mappings of ``addresses`` to Matrix User IDs. Addresses
|
Any applicable mappings of `addresses` to Matrix User IDs. Addresses
|
||||||
which do not have associations will not be included, which can make
|
which do not have associations will not be included, which can make
|
||||||
this property be an empty object.
|
this property be an empty object.
|
||||||
title: AssociatedMappings
|
title: AssociatedMappings
|
||||||
|
@ -132,13 +132,13 @@ paths:
|
||||||
400:
|
400:
|
||||||
description:
|
description:
|
||||||
The client's request was invalid in some way. One possible problem could
|
The client's request was invalid in some way. One possible problem could
|
||||||
be the ``pepper`` being invalid after the server has rotated it - this is
|
be the `pepper` being invalid after the server has rotated it - this is
|
||||||
presented with the ``M_INVALID_PEPPER`` error code. Clients SHOULD make
|
presented with the `M_INVALID_PEPPER` error code. Clients SHOULD make
|
||||||
a call to ``/hash_details`` to get a new pepper in this scenario, being
|
a call to `/hash_details` to get a new pepper in this scenario, being
|
||||||
careful to avoid retry loops.
|
careful to avoid retry loops.
|
||||||
|
|
||||||
``M_INVALID_PARAM`` can also be returned to indicate the client supplied
|
`M_INVALID_PARAM` can also be returned to indicate the client supplied
|
||||||
an ``algorithm`` that is unknown to the server.
|
an `algorithm` that is unknown to the server.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_INVALID_PEPPER",
|
"errcode": "M_INVALID_PEPPER",
|
||||||
|
|
|
@ -40,13 +40,13 @@ paths:
|
||||||
|
|
||||||
Note that homeservers offer APIs that proxy this API, adding
|
Note that homeservers offer APIs that proxy this API, adding
|
||||||
additional behaviour on top, for example,
|
additional behaviour on top, for example,
|
||||||
``/register/msisdn/requestToken`` is designed specifically for use when
|
`/register/msisdn/requestToken` is designed specifically for use when
|
||||||
registering an account and therefore will inform the user if the phone
|
registering an account and therefore will inform the user if the phone
|
||||||
number given is already registered on the server.
|
number given is already registered on the server.
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: msisdnRequestTokenV2
|
operationId: msisdnRequestTokenV2
|
||||||
security:
|
security:
|
||||||
|
@ -65,9 +65,9 @@ paths:
|
||||||
description: |
|
description: |
|
||||||
An error ocurred. Some possible errors are:
|
An error ocurred. Some possible errors are:
|
||||||
|
|
||||||
- ``M_INVALID_ADDRESS``: The phone number provided was invalid.
|
- `M_INVALID_ADDRESS`: The phone number provided was invalid.
|
||||||
- ``M_SEND_ERROR``: The validation SMS could not be sent.
|
- `M_SEND_ERROR`: The validation SMS could not be sent.
|
||||||
- ``M_DESTINATION_REJECTED``: The identity server cannot deliver an
|
- `M_DESTINATION_REJECTED`: The identity server cannot deliver an
|
||||||
SMS to the provided country or region.
|
SMS to the provided country or region.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
@ -94,10 +94,10 @@ paths:
|
||||||
Validate ownership of a phone number.
|
Validate ownership of a phone number.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the phone number is considered to
|
`requestToken` call, ownership of the phone number is considered to
|
||||||
have been validated. This does not publish any information publicly, or
|
have been validated. This does not publish any information publicly, or
|
||||||
associate the phone number address with any Matrix user
|
associate the phone number address with any Matrix user
|
||||||
ID. Specifically, calls to ``/lookup`` will not show a binding.
|
ID. Specifically, calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
The identity server is free to match the token case-insensitively, or
|
The identity server is free to match the token case-insensitively, or
|
||||||
carry out other mapping operations such as unicode
|
carry out other mapping operations such as unicode
|
||||||
|
@ -107,7 +107,7 @@ paths:
|
||||||
|
|
||||||
Note: for backwards compatibility with previous drafts of this
|
Note: for backwards compatibility with previous drafts of this
|
||||||
specification, the parameters may also be specified as
|
specification, the parameters may also be specified as
|
||||||
``application/x-form-www-urlencoded`` data. However, this usage is
|
`application/x-form-www-urlencoded` data. However, this usage is
|
||||||
deprecated.
|
deprecated.
|
||||||
operationId: msisdnSubmitTokenPostV2
|
operationId: msisdnSubmitTokenPostV2
|
||||||
security:
|
security:
|
||||||
|
@ -125,13 +125,13 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
sid:
|
sid:
|
||||||
type: string
|
type: string
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
client_secret:
|
client_secret:
|
||||||
type: string
|
type: string
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
token:
|
token:
|
||||||
type: string
|
type: string
|
||||||
description: The token generated by the ``requestToken`` call and sent to the user.
|
description: The token generated by the `requestToken` call and sent to the user.
|
||||||
required: ["sid", "client_secret", "token"]
|
required: ["sid", "client_secret", "token"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
@ -165,10 +165,10 @@ paths:
|
||||||
Validate ownership of a phone number.
|
Validate ownership of a phone number.
|
||||||
|
|
||||||
If the three parameters are consistent with a set generated by a
|
If the three parameters are consistent with a set generated by a
|
||||||
``requestToken`` call, ownership of the phone number address is
|
`requestToken` call, ownership of the phone number address is
|
||||||
considered to have been validated. This does not publish any
|
considered to have been validated. This does not publish any
|
||||||
information publicly, or associate the phone number with any Matrix
|
information publicly, or associate the phone number with any Matrix
|
||||||
user ID. Specifically, calls to ``/lookup`` will not show a binding.
|
user ID. Specifically, calls to `/lookup` will not show a binding.
|
||||||
|
|
||||||
Note that, in contrast with the POST version, this endpoint will be
|
Note that, in contrast with the POST version, this endpoint will be
|
||||||
used by end-users, and so the response should be human-readable.
|
used by end-users, and so the response should be human-readable.
|
||||||
|
@ -180,35 +180,35 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
name: sid
|
name: sid
|
||||||
required: true
|
required: true
|
||||||
description: The session ID, generated by the ``requestToken`` call.
|
description: The session ID, generated by the `requestToken` call.
|
||||||
x-example: 1234
|
x-example: 1234
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: client_secret
|
name: client_secret
|
||||||
required: true
|
required: true
|
||||||
description: The client secret that was supplied to the ``requestToken`` call.
|
description: The client secret that was supplied to the `requestToken` call.
|
||||||
x-example: monkeys_are_GREAT
|
x-example: monkeys_are_GREAT
|
||||||
- in: query
|
- in: query
|
||||||
type: string
|
type: string
|
||||||
name: token
|
name: token
|
||||||
required: true
|
required: true
|
||||||
description: The token generated by the ``requestToken`` call and sent to the user.
|
description: The token generated by the `requestToken` call and sent to the user.
|
||||||
x-example: atoken
|
x-example: atoken
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Phone number is validated.
|
description: Phone number is validated.
|
||||||
"3xx":
|
"3xx":
|
||||||
description: |-
|
description: |-
|
||||||
Phone number address is validated, and the ``next_link`` parameter
|
Phone number address is validated, and the `next_link` parameter
|
||||||
was provided to the ``requestToken`` call. The user must be
|
was provided to the `requestToken` call. The user must be
|
||||||
redirected to the URL provided by the ``next_link`` parameter.
|
redirected to the URL provided by the `next_link` parameter.
|
||||||
"4xx":
|
"4xx":
|
||||||
description:
|
description:
|
||||||
Validation failed.
|
Validation failed.
|
||||||
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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
|
|
@ -40,23 +40,23 @@ paths:
|
||||||
The service will generate a random token and an ephemeral key used for
|
The service will generate a random token and an ephemeral key used for
|
||||||
accepting the invite.
|
accepting the invite.
|
||||||
|
|
||||||
The service also generates a ``display_name`` for the inviter, which is
|
The service also generates a `display_name` for the inviter, which is
|
||||||
a redacted version of ``address`` which does not leak the full contents
|
a redacted version of `address` which does not leak the full contents
|
||||||
of the ``address``.
|
of the `address`.
|
||||||
|
|
||||||
The service records persistently all of the above information.
|
The service records persistently all of the above information.
|
||||||
|
|
||||||
It also generates an email containing all of this data, sent to the
|
It also generates an email containing all of this data, sent to the
|
||||||
``address`` parameter, notifying them of the invitation.
|
`address` parameter, notifying them of the invitation.
|
||||||
|
|
||||||
Also, the generated ephemeral public key will be listed as valid on
|
Also, the generated ephemeral public key will be listed as valid on
|
||||||
requests to ``/_matrix/identity/v2/pubkey/ephemeral/isvalid``.
|
requests to `/_matrix/identity/v2/pubkey/ephemeral/isvalid`.
|
||||||
|
|
||||||
Currently, invites may only be issued for 3pids of the ``email`` medium.
|
Currently, invites may only be issued for 3pids of the `email` medium.
|
||||||
|
|
||||||
Optional fields in the request should be populated to the best of the
|
Optional fields in the request should be populated to the best of the
|
||||||
server's ability. Identity servers may use these variables when notifying
|
server's ability. Identity servers may use these variables when notifying
|
||||||
the ``address`` of the pending invite for display purposes.
|
the `address` of the pending invite for display purposes.
|
||||||
operationId: storeInviteV2
|
operationId: storeInviteV2
|
||||||
security:
|
security:
|
||||||
- accessToken: []
|
- accessToken: []
|
||||||
|
@ -68,7 +68,7 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
medium:
|
medium:
|
||||||
type: string
|
type: string
|
||||||
description: The literal string ``email``.
|
description: The literal string `email`.
|
||||||
example: "email"
|
example: "email"
|
||||||
address:
|
address:
|
||||||
type: string
|
type: string
|
||||||
|
@ -86,26 +86,26 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The Matrix room alias for the room to which the user is
|
The Matrix room alias for the room to which the user is
|
||||||
invited. This should be retrieved from the ``m.room.canonical_alias``
|
invited. This should be retrieved from the `m.room.canonical_alias`
|
||||||
state event.
|
state event.
|
||||||
example: "#somewhere:exmaple.org"
|
example: "#somewhere:exmaple.org"
|
||||||
room_avatar_url:
|
room_avatar_url:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The Content URI for the room to which the user is invited. This should
|
The Content URI for the room to which the user is invited. This should
|
||||||
be retrieved from the ``m.room.avatar`` state event.
|
be retrieved from the `m.room.avatar` state event.
|
||||||
example: "mxc://example.org/s0meM3dia"
|
example: "mxc://example.org/s0meM3dia"
|
||||||
room_join_rules:
|
room_join_rules:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The ``join_rule`` for the room to which the user is invited. This should
|
The `join_rule` for the room to which the user is invited. This should
|
||||||
be retrieved from the ``m.room.join_rules`` state event.
|
be retrieved from the `m.room.join_rules` state event.
|
||||||
example: "public"
|
example: "public"
|
||||||
room_name:
|
room_name:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The name of the room to which the user is invited. This should be retrieved
|
The name of the room to which the user is invited. This should be retrieved
|
||||||
from the ``m.room.name`` state event.
|
from the `m.room.name` state event.
|
||||||
example: "Bob's Emporium of Messages"
|
example: "Bob's Emporium of Messages"
|
||||||
sender_display_name:
|
sender_display_name:
|
||||||
type: string
|
type: string
|
||||||
|
@ -126,7 +126,7 @@ paths:
|
||||||
type: string
|
type: string
|
||||||
description: |
|
description: |
|
||||||
The generated token. Must be a string consisting of the
|
The generated token. Must be a string consisting of the
|
||||||
characters ``[0-9a-zA-Z.=_-]``. Its length must not exceed
|
characters `[0-9a-zA-Z.=_-]`. Its length must not exceed
|
||||||
255 characters and it must not be empty.
|
255 characters and it must not be empty.
|
||||||
public_keys:
|
public_keys:
|
||||||
type: array
|
type: array
|
||||||
|
@ -153,8 +153,8 @@ paths:
|
||||||
An error has occured.
|
An error has occured.
|
||||||
|
|
||||||
If the 3pid is already bound to a Matrix user ID, the error code
|
If the 3pid is already bound to a Matrix user ID, the error code
|
||||||
will be ``M_THREEPID_IN_USE``. If the medium is unsupported, the
|
will be `M_THREEPID_IN_USE`. If the medium is unsupported, the
|
||||||
error code will be ``M_UNRECOGNIZED``.
|
error code will be `M_UNRECOGNIZED`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_THREEPID_IN_USE",
|
"errcode": "M_THREEPID_IN_USE",
|
||||||
|
@ -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`_.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_TERMS_NOT_SIGNED",
|
"errcode": "M_TERMS_NOT_SIGNED",
|
||||||
|
|
|
@ -106,7 +106,7 @@ paths:
|
||||||
all three criteria to avoid conflicts when the policy is updated
|
all three criteria to avoid conflicts when the policy is updated
|
||||||
in the future: for example, if this was "https://example.org/terms.html"
|
in the future: for example, if this was "https://example.org/terms.html"
|
||||||
then the server would be unable to update it because the client would
|
then the server would be unable to update it because the client would
|
||||||
have already added that URL to the ``m.accepted_terms`` collection.
|
have already added that URL to the `m.accepted_terms` collection.
|
||||||
required: ['name', 'url']
|
required: ['name', 'url']
|
||||||
required: ['policies']
|
required: ['policies']
|
||||||
post:
|
post:
|
||||||
|
@ -121,7 +121,7 @@ paths:
|
||||||
to the user. Servers SHOULD consider acceptance of any one language's URL as
|
to the user. Servers SHOULD consider acceptance of any one language's URL as
|
||||||
acceptance for all other languages of that policy.
|
acceptance for all other languages of that policy.
|
||||||
|
|
||||||
The server should avoid returning ``M_TERMS_NOT_SIGNED`` because the client
|
The server should avoid returning `M_TERMS_NOT_SIGNED` because the client
|
||||||
may not be accepting all terms at once.
|
may not be accepting all terms at once.
|
||||||
operationId: agreeToTerms
|
operationId: agreeToTerms
|
||||||
security:
|
security:
|
||||||
|
|
|
@ -39,7 +39,7 @@ paths:
|
||||||
|
|
||||||
Notifications about a particular event will normally cause the user to be
|
Notifications about a particular event will normally cause the user to be
|
||||||
alerted in some way. It is therefore necessary to perform duplicate
|
alerted in some way. It is therefore necessary to perform duplicate
|
||||||
suppression for such notifications using the ``event_id`` field to avoid
|
suppression for such notifications using the `event_id` field to avoid
|
||||||
retries of this HTTP API causing duplicate alerts. The operation of
|
retries of this HTTP API causing duplicate alerts. The operation of
|
||||||
updating counts of unread notifications should be idempotent and
|
updating counts of unread notifications should be idempotent and
|
||||||
therefore do not require duplicate suppression.
|
therefore do not require duplicate suppression.
|
||||||
|
@ -111,7 +111,7 @@ paths:
|
||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The type of the event as in the event's ``type`` field.
|
The type of the event as in the event's `type` field.
|
||||||
sender:
|
sender:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -131,13 +131,13 @@ paths:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |-
|
description: |-
|
||||||
This is true if the user receiving the notification is the
|
This is true if the user receiving the notification is the
|
||||||
subject of a member event (i.e. the ``state_key`` of the
|
subject of a member event (i.e. the `state_key` of the
|
||||||
member event is equal to the user's Matrix ID).
|
member event is equal to the user's Matrix ID).
|
||||||
prio:
|
prio:
|
||||||
type: string
|
type: string
|
||||||
enum: ["high", "low"]
|
enum: ["high", "low"]
|
||||||
description: |-
|
description: |-
|
||||||
The priority of the notification. If omitted, ``high`` is
|
The priority of the notification. If omitted, `high` is
|
||||||
assumed. This may be used by push gateways to deliver less
|
assumed. This may be used by push gateways to deliver less
|
||||||
time-sensitive notifications in a way that will preserve
|
time-sensitive notifications in a way that will preserve
|
||||||
battery power on mobile devices.
|
battery power on mobile devices.
|
||||||
|
@ -145,7 +145,7 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
title: EventContent
|
title: EventContent
|
||||||
description: |-
|
description: |-
|
||||||
The ``content`` field from the event, if present. The pusher
|
The `content` field from the event, if present. The pusher
|
||||||
may omit this if the event had no content or for any other
|
may omit this if the event had no content or for any other
|
||||||
reason.
|
reason.
|
||||||
counts:
|
counts:
|
||||||
|
@ -178,10 +178,10 @@ paths:
|
||||||
app_id:
|
app_id:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The ``app_id`` given when the pusher was created.
|
The `app_id` given when the pusher was created.
|
||||||
pushkey:
|
pushkey:
|
||||||
type: string
|
type: string
|
||||||
description: The ``pushkey`` given when the pusher was created.
|
description: The `pushkey` given when the pusher was created.
|
||||||
pushkey_ts:
|
pushkey_ts:
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -193,7 +193,7 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
A dictionary of additional pusher-specific data. For
|
A dictionary of additional pusher-specific data. For
|
||||||
'http' pushers, this is the data dictionary passed in at
|
'http' pushers, this is the data dictionary passed in at
|
||||||
pusher creation minus the ``url`` key.
|
pusher creation minus the `url` key.
|
||||||
tweaks:
|
tweaks:
|
||||||
type: object
|
type: object
|
||||||
title: Tweaks
|
title: Tweaks
|
||||||
|
|
|
@ -32,8 +32,8 @@ paths:
|
||||||
summary: Retrieves the events which precede the given event
|
summary: Retrieves the events which precede the given event
|
||||||
description: |-
|
description: |-
|
||||||
Retrieves a sliding-window history of previous PDUs that occurred in the given room.
|
Retrieves a sliding-window history of previous PDUs that occurred in the given room.
|
||||||
Starting from the PDU ID(s) given in the ``v`` argument, the PDUs given in ``v`` and
|
Starting from the PDU ID(s) given in the `v` argument, the PDUs given in `v` and
|
||||||
the PDUs that preceded them are retrieved, up to the total number given by the ``limit``.
|
the PDUs that preceded them are retrieved, up to the total number given by the `limit`.
|
||||||
operationId: backfillRoom
|
operationId: backfillRoom
|
||||||
security:
|
security:
|
||||||
- signedRequest: []
|
- signedRequest: []
|
||||||
|
@ -65,12 +65,12 @@ paths:
|
||||||
event(s), up to the given limit.
|
event(s), up to the given limit.
|
||||||
|
|
||||||
**Note:**
|
**Note:**
|
||||||
Though the PDU definitions require that ``prev_events`` and ``auth_events`` be limited
|
Though the PDU definitions require that `prev_events` and `auth_events` be limited
|
||||||
in number, the response of backfill MUST NOT be validated on these specific restrictions.
|
in number, the response of backfill MUST NOT be validated on these specific restrictions.
|
||||||
|
|
||||||
Due to historical reasons, it is possible that events which were previously accepted
|
Due to historical reasons, it is possible that events which were previously accepted
|
||||||
would now be rejected by these limitations. The events should be rejected per usual by
|
would now be rejected by these limitations. The events should be rejected per usual by
|
||||||
the ``/send``, ``/get_missing_events``, and remaining endpoints.
|
the `/send`, `/get_missing_events`, and remaining endpoints.
|
||||||
schema:
|
schema:
|
||||||
$ref: "definitions/unlimited_pdu_transaction.yaml"
|
$ref: "definitions/unlimited_pdu_transaction.yaml"
|
||||||
"/get_missing_events/{roomId}":
|
"/get_missing_events/{roomId}":
|
||||||
|
@ -78,8 +78,8 @@ paths:
|
||||||
summary: Retrieves events that the sender is missing
|
summary: Retrieves events that the sender is missing
|
||||||
description: |-
|
description: |-
|
||||||
Retrieves previous events that the sender is missing. This is done by doing a breadth-first
|
Retrieves previous events that the sender is missing. This is done by doing a breadth-first
|
||||||
walk of the ``prev_events`` for the ``latest_events``, ignoring any events in ``earliest_events``
|
walk of the `prev_events` for the `latest_events`, ignoring any events in `earliest_events`
|
||||||
and stopping at the ``limit``.
|
and stopping at the `limit`.
|
||||||
operationId: getMissingPreviousEvents
|
operationId: getMissingPreviousEvents
|
||||||
security:
|
security:
|
||||||
- signedRequest: []
|
- signedRequest: []
|
||||||
|
@ -107,7 +107,7 @@ paths:
|
||||||
type: array
|
type: array
|
||||||
description: |-
|
description: |-
|
||||||
The latest event IDs that the sender already has. These are skipped when retrieving
|
The latest event IDs that the sender already has. These are skipped when retrieving
|
||||||
the previous events of ``latest_events``.
|
the previous events of `latest_events`.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
example: ["$missing_event:example.org"]
|
example: ["$missing_event:example.org"]
|
||||||
|
@ -121,8 +121,8 @@ paths:
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: |-
|
description: |-
|
||||||
The previous events for ``latest_events``, excluding any ``earliest_events``, up to the
|
The previous events for `latest_events`, excluding any `earliest_events`, up to the
|
||||||
provided ``limit``.
|
provided `limit`.
|
||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -32,7 +32,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: enum
|
type: enum
|
||||||
enum: ['m.device_list_update']
|
enum: ['m.device_list_update']
|
||||||
description: The string ``m.device_list_update``.
|
description: The string `m.device_list_update`.
|
||||||
example: "m.device_list_update"
|
example: "m.device_list_update"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
@ -57,7 +57,7 @@ allOf:
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
An ID sent by the server for this update, unique for a given
|
An ID sent by the server for this update, unique for a given
|
||||||
user_id. Used to identify any gaps in the sequence of ``m.device_list_update``
|
user_id. Used to identify any gaps in the sequence of `m.device_list_update`
|
||||||
EDUs broadcast by a server.
|
EDUs broadcast by a server.
|
||||||
example: 6
|
example: 6
|
||||||
prev_id:
|
prev_id:
|
||||||
|
@ -67,7 +67,7 @@ allOf:
|
||||||
which have not been referred to already in an EDU's prev_id field. If the
|
which have not been referred to already in an EDU's prev_id field. If the
|
||||||
receiving server does not recognise any of the prev_ids, it means an EDU
|
receiving server does not recognise any of the prev_ids, it means an EDU
|
||||||
has been lost and the server should query a snapshot of the device list
|
has been lost and the server should query a snapshot of the device list
|
||||||
via ``/user/keys/query`` in order to correctly interpret future ``m.device_list_update``
|
via `/user/keys/query` in order to correctly interpret future `m.device_list_update`
|
||||||
EDUs. May be missing or empty for the first EDU in a sequence.
|
EDUs. May be missing or empty for the first EDU in a sequence.
|
||||||
items:
|
items:
|
||||||
type: integer
|
type: integer
|
||||||
|
|
|
@ -25,7 +25,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: enum
|
type: enum
|
||||||
enum: ['m.direct_to_device']
|
enum: ['m.direct_to_device']
|
||||||
description: The string ``m.direct_to_device``.
|
description: The string `m.direct_to_device`.
|
||||||
example: "m.direct_to_device"
|
example: "m.direct_to_device"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
@ -50,7 +50,7 @@ allOf:
|
||||||
description: |-
|
description: |-
|
||||||
The contents of the messages to be sent. These are arranged in
|
The contents of the messages to be sent. These are arranged in
|
||||||
a map of user IDs to a map of device IDs to message bodies.
|
a map of user IDs to a map of device IDs to message bodies.
|
||||||
The device ID may also be ``*``, meaning all known devices for the user.
|
The device ID may also be `*`, meaning all known devices for the user.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
title: User Devices
|
title: User Devices
|
||||||
|
|
|
@ -23,7 +23,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: enum
|
type: enum
|
||||||
enum: ['m.presence']
|
enum: ['m.presence']
|
||||||
description: The string ``m.presence``
|
description: The string `m.presence`
|
||||||
example: "m.presence"
|
example: "m.presence"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
@ -63,8 +63,8 @@ allOf:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |-
|
description: |-
|
||||||
True if the user is likely to be interacting with their
|
True if the user is likely to be interacting with their
|
||||||
client. This may be indicated by the user having a
|
client. This may be indicated by the user having a
|
||||||
``last_active_ago`` within the last few minutes. Defaults
|
`last_active_ago` within the last few minutes. Defaults
|
||||||
to false.
|
to false.
|
||||||
example: true
|
example: true
|
||||||
required: ['user_id', 'presence', 'last_active_ago']
|
required: ['user_id', 'presence', 'last_active_ago']
|
||||||
|
|
|
@ -26,7 +26,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: enum
|
type: enum
|
||||||
enum: ['m.receipt']
|
enum: ['m.receipt']
|
||||||
description: The string ``m.receipt``
|
description: The string `m.receipt`
|
||||||
example: "m.receipt"
|
example: "m.receipt"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
@ -24,7 +24,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: enum
|
type: enum
|
||||||
enum: ['m.signing_key_update']
|
enum: ['m.signing_key_update']
|
||||||
description: The string ``m.signing_update``.
|
description: The string `m.signing_update`.
|
||||||
example: "m.signing_key_update"
|
example: "m.signing_key_update"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
@ -22,7 +22,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: enum
|
type: enum
|
||||||
enum: ['m.typing']
|
enum: ['m.typing']
|
||||||
description: The string ``m.typing``
|
description: The string `m.typing`
|
||||||
example: "m.typing"
|
example: "m.typing"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
@ -22,7 +22,7 @@ allOf:
|
||||||
sender:
|
sender:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The matrix ID of the user who sent the original ``m.room.third_party_invite``.
|
The matrix ID of the user who sent the original `m.room.third_party_invite`.
|
||||||
example: "@someone:example.org"
|
example: "@someone:example.org"
|
||||||
origin:
|
origin:
|
||||||
type: string
|
type: string
|
||||||
|
@ -35,7 +35,7 @@ allOf:
|
||||||
example: 1234567890
|
example: 1234567890
|
||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``m.room.member``.
|
description: The value `m.room.member`.
|
||||||
example: "m.room.member"
|
example: "m.room.member"
|
||||||
state_key:
|
state_key:
|
||||||
type: string
|
type: string
|
||||||
|
@ -46,12 +46,12 @@ 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`_. Must include a `membership` of `invite`.
|
||||||
example: {"membership": "invite"}
|
example: {"membership": "invite"}
|
||||||
properties:
|
properties:
|
||||||
membership:
|
membership:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``invite``.
|
description: The value `invite`.
|
||||||
example: "invite"
|
example: "invite"
|
||||||
required: ['membership']
|
required: ['membership']
|
||||||
required:
|
required:
|
||||||
|
|
|
@ -26,10 +26,10 @@ properties:
|
||||||
description: |-
|
description: |-
|
||||||
Public keys of the homeserver for verifying digital signatures.
|
Public keys of the homeserver for verifying digital signatures.
|
||||||
|
|
||||||
The object's key is the algorithm and version combined (``ed25519`` being the
|
The object's key is the algorithm and version combined (`ed25519` being the
|
||||||
algorithm and ``abc123`` being the version in the example below). Together,
|
algorithm and `abc123` being the version in the example below). Together,
|
||||||
this forms the Key ID. The version must have characters matching the regular
|
this forms the Key ID. The version must have characters matching the regular
|
||||||
expression ``[a-zA-Z0-9_]``.
|
expression `[a-zA-Z0-9_]`.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
title: Verify Key
|
title: Verify Key
|
||||||
|
@ -49,10 +49,10 @@ properties:
|
||||||
description: |-
|
description: |-
|
||||||
The public keys that the server used to use and when it stopped using them.
|
The public keys that the server used to use and when it stopped using them.
|
||||||
|
|
||||||
The object's key is the algorithm and version combined (``ed25519`` being the
|
The object's key is the algorithm and version combined (`ed25519` being the
|
||||||
algorithm and ``0ldK3y`` being the version in the example below). Together,
|
algorithm and `0ldK3y` being the version in the example below). Together,
|
||||||
this forms the Key ID. The version must have characters matching the regular
|
this forms the Key ID. The version must have characters matching the regular
|
||||||
expression ``[a-zA-Z0-9_]``.
|
expression `[a-zA-Z0-9_]`.
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: object
|
type: object
|
||||||
title: Old Verify Key
|
title: Old Verify Key
|
||||||
|
@ -76,7 +76,7 @@ properties:
|
||||||
signatures:
|
signatures:
|
||||||
type: object
|
type: object
|
||||||
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`_.
|
JSON`_.
|
||||||
|
|
|
@ -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`_ section.
|
||||||
name: Authorization
|
name: Authorization
|
||||||
in: header
|
in: header
|
||||||
|
|
|
@ -20,7 +20,7 @@ properties:
|
||||||
origin:
|
origin:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The ``server_name`` of the homeserver sending this transaction.
|
The `server_name` of the homeserver sending this transaction.
|
||||||
example: "example.org"
|
example: "example.org"
|
||||||
origin_server_ts:
|
origin_server_ts:
|
||||||
type: integer
|
type: integer
|
||||||
|
|
|
@ -27,7 +27,7 @@ properties:
|
||||||
example: "@someone:matrix.org"
|
example: "@someone:matrix.org"
|
||||||
origin:
|
origin:
|
||||||
type: string
|
type: string
|
||||||
description: The ``server_name`` of the homeserver that created this event.
|
description: The `server_name` of the homeserver that created this event.
|
||||||
example: "matrix.org"
|
example: "matrix.org"
|
||||||
origin_server_ts:
|
origin_server_ts:
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -42,7 +42,7 @@ properties:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
If this key is present, the event is a state event, and it will replace previous events
|
If this key is present, the event is a state event, and it will replace previous events
|
||||||
with the same ``type`` and ``state_key`` in the room state.
|
with the same `type` and `state_key` in the room state.
|
||||||
example: "my_key"
|
example: "my_key"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
@ -77,7 +77,7 @@ properties:
|
||||||
depth:
|
depth:
|
||||||
type: integer
|
type: integer
|
||||||
description: |-
|
description: |-
|
||||||
The maximum depth of the ``prev_events``, plus one. Must be less than the
|
The maximum depth of the `prev_events`, plus one. Must be less than the
|
||||||
maximum value for an integer (2^63 - 1). If the room's depth is already at
|
maximum value for an integer (2^63 - 1). If the room's depth is already at
|
||||||
the limit, the depth must be set to the limit.
|
the limit, the depth must be set to the limit.
|
||||||
example: 12
|
example: 12
|
||||||
|
@ -117,7 +117,7 @@ properties:
|
||||||
type: object
|
type: object
|
||||||
title: UnsignedData
|
title: UnsignedData
|
||||||
description: |-
|
description: |-
|
||||||
Additional data added by the origin server but not covered by the ``signatures``. More
|
Additional data added by the origin server but not covered by the `signatures`. More
|
||||||
keys than those defined here may be used.
|
keys than those defined here may be used.
|
||||||
example: {"key": "value"}
|
example: {"key": "value"}
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -94,7 +94,7 @@ paths:
|
||||||
summary: Get all the state event IDs of a given room
|
summary: Get all the state event IDs of a given room
|
||||||
description: |-
|
description: |-
|
||||||
Retrieves a snapshot of a room's state at a given event, in the form of
|
Retrieves a snapshot of a room's state at a given event, in the form of
|
||||||
event IDs. This performs the same function as calling ``/state/{roomId}``,
|
event IDs. This performs the same function as calling `/state/{roomId}`,
|
||||||
however this returns just the event IDs rather than the full events.
|
however this returns just the event IDs rather than the full events.
|
||||||
operationId: getRoomStateIds
|
operationId: getRoomStateIds
|
||||||
security:
|
security:
|
||||||
|
|
|
@ -36,8 +36,8 @@ paths:
|
||||||
room by the inviting homeserver.
|
room by the inviting homeserver.
|
||||||
|
|
||||||
Servers should prefer to use the v2 API for invites instead of the v1 API. Servers
|
Servers should prefer to use the v2 API for invites instead of the v1 API. Servers
|
||||||
which receive a v1 invite request must assume that the room version is either ``"1"``
|
which receive a v1 invite request must assume that the room version is either `"1"`
|
||||||
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`_ for precise event formats. **The request and response
|
||||||
|
@ -113,7 +113,7 @@ paths:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
items:
|
items:
|
||||||
- type: integer
|
- type: integer
|
||||||
description: The value ``200``.
|
description: The value `200`.
|
||||||
example: 200
|
example: 200
|
||||||
- type: object
|
- type: object
|
||||||
description: An object containing the signed invite event.
|
description: An object containing the signed invite event.
|
||||||
|
|
|
@ -164,7 +164,7 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
The request is invalid or the room the server is attempting
|
The request is invalid or the room the server is attempting
|
||||||
to join has a version that is not listed in the ``ver``
|
to join has a version that is not listed in the `ver`
|
||||||
parameters.
|
parameters.
|
||||||
|
|
||||||
The error should be passed through to clients so that they
|
The error should be passed through to clients so that they
|
||||||
|
@ -177,8 +177,8 @@ paths:
|
||||||
room_version:
|
room_version:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The version of the room. Required if the ``errcode``
|
The version of the room. Required if the `errcode`
|
||||||
is ``M_INCOMPATIBLE_ROOM_VERSION``.
|
is `M_INCOMPATIBLE_ROOM_VERSION`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_INCOMPATIBLE_ROOM_VERSION",
|
"errcode": "M_INCOMPATIBLE_ROOM_VERSION",
|
||||||
|
|
|
@ -57,7 +57,7 @@ paths:
|
||||||
name: ver
|
name: ver
|
||||||
description: |-
|
description: |-
|
||||||
The room versions the sending server has support for. Defaults
|
The room versions the sending server has support for. Defaults
|
||||||
to ``[1]``.
|
to `[1]`.
|
||||||
x-example: ["1", "2"]
|
x-example: ["1", "2"]
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
|
@ -99,7 +99,7 @@ paths:
|
||||||
example: 1234567890
|
example: 1234567890
|
||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``m.room.member``.
|
description: The value `m.room.member`.
|
||||||
example: "m.room.member"
|
example: "m.room.member"
|
||||||
state_key:
|
state_key:
|
||||||
type: string
|
type: string
|
||||||
|
@ -113,7 +113,7 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
membership:
|
membership:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``join``.
|
description: The value `join`.
|
||||||
example: "join"
|
example: "join"
|
||||||
required: ['membership']
|
required: ['membership']
|
||||||
required:
|
required:
|
||||||
|
@ -141,7 +141,7 @@ paths:
|
||||||
400:
|
400:
|
||||||
description: |-
|
description: |-
|
||||||
The request is invalid or the room the server is attempting
|
The request is invalid or the room the server is attempting
|
||||||
to join has a version that is not listed in the ``ver``
|
to join has a version that is not listed in the `ver`
|
||||||
parameters.
|
parameters.
|
||||||
|
|
||||||
The error should be passed through to clients so that they
|
The error should be passed through to clients so that they
|
||||||
|
@ -154,8 +154,8 @@ paths:
|
||||||
room_version:
|
room_version:
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
The version of the room. Required if the ``errcode``
|
The version of the room. Required if the `errcode`
|
||||||
is ``M_INCOMPATIBLE_ROOM_VERSION``.
|
is `M_INCOMPATIBLE_ROOM_VERSION`.
|
||||||
examples:
|
examples:
|
||||||
application/json: {
|
application/json: {
|
||||||
"errcode": "M_INCOMPATIBLE_ROOM_VERSION",
|
"errcode": "M_INCOMPATIBLE_ROOM_VERSION",
|
||||||
|
@ -177,7 +177,7 @@ paths:
|
||||||
summary: Submit a signed join event to a resident server
|
summary: Submit a signed join event to a resident server
|
||||||
description: |-
|
description: |-
|
||||||
**Note:**
|
**Note:**
|
||||||
Servers should instead prefer to use the v2 ``/send_join`` endpoint.
|
Servers should instead prefer to use the v2 `/send_join` endpoint.
|
||||||
|
|
||||||
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
|
||||||
|
@ -224,7 +224,7 @@ paths:
|
||||||
example: 1234567890
|
example: 1234567890
|
||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``m.room.member``.
|
description: The value `m.room.member`.
|
||||||
example: "m.room.member"
|
example: "m.room.member"
|
||||||
state_key:
|
state_key:
|
||||||
type: string
|
type: string
|
||||||
|
@ -238,7 +238,7 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
membership:
|
membership:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``join``.
|
description: The value `join`.
|
||||||
example: "join"
|
example: "join"
|
||||||
required: ['membership']
|
required: ['membership']
|
||||||
required:
|
required:
|
||||||
|
@ -269,7 +269,7 @@ paths:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
items:
|
items:
|
||||||
- type: integer
|
- type: integer
|
||||||
description: The value ``200``.
|
description: The value `200`.
|
||||||
example: 200
|
example: 200
|
||||||
- $ref: "./definitions/send_join_response.yaml"
|
- $ref: "./definitions/send_join_response.yaml"
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -87,7 +87,7 @@ paths:
|
||||||
example: 1234567890
|
example: 1234567890
|
||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``m.room.member``.
|
description: The value `m.room.member`.
|
||||||
example: "m.room.member"
|
example: "m.room.member"
|
||||||
state_key:
|
state_key:
|
||||||
type: string
|
type: string
|
||||||
|
@ -101,7 +101,7 @@ paths:
|
||||||
properties:
|
properties:
|
||||||
membership:
|
membership:
|
||||||
type: string
|
type: string
|
||||||
description: The value ``join``.
|
description: The value `join`.
|
||||||
example: "join"
|
example: "join"
|
||||||
required: ['membership']
|
required: ['membership']
|
||||||
required:
|
required:
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue