mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-04-24 03:34:14 +02:00
Compare commits
9 commits
9ac0b07b48
...
16e5d72675
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16e5d72675 | ||
|
|
5d8bfd35be | ||
|
|
e9f219d53b | ||
|
|
f95dcfb0e7 | ||
|
|
c98c03b32c | ||
|
|
19bf443d0e | ||
|
|
147f8703d4 | ||
|
|
bcd5f6bcfb | ||
|
|
05b0d0602d |
1
changelogs/client_server/newsfragments/2278.feature
Normal file
1
changelogs/client_server/newsfragments/2278.feature
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add endpoints to lock and suspend server-local users for administrations and add the `m.account_management` capability, as per [MSC4323](https://github.com/matrix-org/matrix-spec-proposals/pull/4323).
|
||||
1
changelogs/client_server/newsfragments/2278.new.1
Normal file
1
changelogs/client_server/newsfragments/2278.new.1
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add `GET /_matrix/client/v1/admin/suspend/{userId}`, as per [MSC4323](https://github.com/matrix-org/matrix-spec-proposals/pull/4323).
|
||||
1
changelogs/client_server/newsfragments/2278.new.2
Normal file
1
changelogs/client_server/newsfragments/2278.new.2
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add `PUT /_matrix/client/v1/admin/suspend/{userId}`, as per [MSC4323](https://github.com/matrix-org/matrix-spec-proposals/pull/4323).
|
||||
1
changelogs/client_server/newsfragments/2278.new.3
Normal file
1
changelogs/client_server/newsfragments/2278.new.3
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add `GET /_matrix/client/v1/admin/lock/{userId}`, as per [MSC4323](https://github.com/matrix-org/matrix-spec-proposals/pull/4323).
|
||||
1
changelogs/client_server/newsfragments/2278.new.4
Normal file
1
changelogs/client_server/newsfragments/2278.new.4
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add `PUT /_matrix/client/v1/admin/lock/{userId}`, as per [MSC4323](https://github.com/matrix-org/matrix-spec-proposals/pull/4323).
|
||||
1
changelogs/client_server/newsfragments/2292.feature
Normal file
1
changelogs/client_server/newsfragments/2292.feature
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add `m.forget_forced_upon_leave` capability for servers to transparently auto-forget rooms that the user leaves as per [MSC4267](https://github.com/matrix-org/matrix-spec-proposals/pull/4267).
|
||||
1
changelogs/client_server/newsfragments/2298.feature
Normal file
1
changelogs/client_server/newsfragments/2298.feature
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add support for `m.room.redaction` events at the `PUT /rooms/{roomId}/send/{eventType}/{txnId}` endpoint, as per [MSC4169](https://github.com/matrix-org/matrix-spec-proposals/pull/4169).
|
||||
|
|
@ -2394,9 +2394,12 @@ where feasible. The Matrix-specific actions are:
|
|||
Server administrators may apply locks to prevent users from usefully
|
||||
using their accounts, for instance, due to safety or security concerns.
|
||||
In contrast to account deactivation, locking is a non-destructive action
|
||||
that can be reversed. This specification describes the behaviour of clients
|
||||
and servers when an account is locked. It deliberately leaves the methods
|
||||
for locking and unlocking accounts as a server implementation detail.
|
||||
that can be reversed.
|
||||
|
||||
{{% added-in v="1.18" %}} To lock or unlock an account, the administrators
|
||||
SHOULD use the [`PUT /admin/lock/{userId}`](#put_matrixclientv1adminlockuserid)
|
||||
endpoint. They MAY also use [`GET /admin/lock/{userId}`](#get_matrixclientv1adminlockuserid)
|
||||
to check whether a user's account is locked.
|
||||
|
||||
When an account is locked, servers MUST return a `401 Unauthorized` error
|
||||
response with an `M_USER_LOCKED` error code and [`soft_logout`](#soft-logout)
|
||||
|
|
@ -2445,6 +2448,11 @@ from that account. The effect is similar to [locking](#account-locking), though
|
|||
without risk of the client losing state from a logout. Suspensions are reversible,
|
||||
like locks and unlike deactivations.
|
||||
|
||||
{{% added-in v="1.18" %}} To suspend or unsuspend an account, the administrators
|
||||
SHOULD use the [`PUT /admin/suspend/{userId}`](#put_matrixclientv1adminsuspenduserid)
|
||||
endpoint. They MAY also use [`GET /admin/suspend/{userId}`](#get_matrixclientv1adminsuspenduserid)
|
||||
to check whether a user's account is suspended.
|
||||
|
||||
The actions a user can perform while suspended is deliberately left as an
|
||||
implementation detail. Servers SHOULD permit the user to perform at least the
|
||||
following, however:
|
||||
|
|
@ -2500,9 +2508,6 @@ Content-Type: application/json
|
|||
}
|
||||
```
|
||||
|
||||
APIs for initiating suspension or unsuspension are not included in this version
|
||||
of the specification, and left as an implementation detail.
|
||||
|
||||
### Adding Account Administrative Contact Information
|
||||
|
||||
A homeserver may keep some contact information for administrative use.
|
||||
|
|
@ -2619,6 +2624,40 @@ An example of the capability API's response for this capability is:
|
|||
}
|
||||
```
|
||||
|
||||
### `m.forget_forced_upon_leave` capability
|
||||
|
||||
{{% added-in v="1.18" %}}
|
||||
|
||||
This capability has a single flag, `enabled`, which indicates whether or
|
||||
not the server automatically forgets rooms which the user has left.
|
||||
|
||||
When `enabled` is `true` and the user leaves a room, the server will automatically
|
||||
forget the room — just as if the user had called [`/forget`](#post_matrixclientv3roomsroomidforget)
|
||||
themselves. This behavior applies irrespective of whether the user has left the
|
||||
room on their own (through [`/leave`](#post_matrixclientv3roomsroomidleave)) or
|
||||
has been kicked or banned from the room by another user.
|
||||
|
||||
When `enabled` is `false`, the server does not automatically forget rooms
|
||||
upon leave. In this case, clients MAY distinguish the actions of leaving
|
||||
and forgetting a room in their UI. Similarly, clients MAY retrieve and
|
||||
visualize left but unforgotten rooms using a [filter](#filtering) with
|
||||
`include_leave = true`.
|
||||
|
||||
When the capability or the `enabled` property are not present, clients SHOULD
|
||||
assume that the server does not automatically forget rooms.
|
||||
|
||||
An example of the capability API's response for this capability is:
|
||||
|
||||
```json
|
||||
{
|
||||
"capabilities": {
|
||||
"m.forget_forced_upon_leave": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `m.room_versions` capability
|
||||
|
||||
This capability describes the default and available room versions a
|
||||
|
|
@ -3315,6 +3354,14 @@ the topic to be removed from the room.
|
|||
|
||||
#### Client behaviour
|
||||
|
||||
{{% changed-in v="1.18" %}}
|
||||
|
||||
If the server advertises support for a spec version that supports it, clients
|
||||
MAY use the [`PUT /rooms/{roomId}/send/{eventType}/{txnId}`](#put_matrixclientv3roomsroomidsendeventtypetxnid)
|
||||
endpoint to send `m.room.redaction` events in all room versions.
|
||||
|
||||
They can also use the following endpoint.
|
||||
|
||||
{{% http-api spec="client-server" api="redaction" %}}
|
||||
|
||||
### Forming relationships between events
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ info:
|
|||
title: Matrix Client-Server Administration API
|
||||
version: 1.0.0
|
||||
paths:
|
||||
"/admin/whois/{userId}":
|
||||
"/v3/admin/whois/{userId}":
|
||||
get:
|
||||
summary: Gets information about a particular user.
|
||||
description: |-
|
||||
|
|
@ -107,6 +107,391 @@ paths:
|
|||
}
|
||||
tags:
|
||||
- Server administration
|
||||
"/v1/admin/suspend/{userId}":
|
||||
get:
|
||||
summary: Gets information about the suspended status of a particular user.
|
||||
x-addedInMatrixVersion: "1.18"
|
||||
description: |-
|
||||
Gets information about the suspended status of a particular server-local user.
|
||||
|
||||
The user calling this endpoint MUST be a server admin.
|
||||
|
||||
In order to prevent user enumeration, servers MUST ensure that authorization is checked
|
||||
prior to trying to do account lookups.
|
||||
operationId: getAdminSuspendUser
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
- accessTokenBearer: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: userId
|
||||
description: The user to look up.
|
||||
required: true
|
||||
example: "@peter:rabbit.rocks"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
|
||||
responses:
|
||||
"200":
|
||||
description: The lookup was successful.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
suspended:
|
||||
type: boolean
|
||||
description: Whether the target account is suspended.
|
||||
example: true
|
||||
required:
|
||||
- suspended
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"suspended": true,
|
||||
}
|
||||
"400":
|
||||
description: |-
|
||||
The user ID does not belong to the local server. The errcode is `M_INVALID_PARAM`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_INVALID_PARAM",
|
||||
"error": "User does not belong to the local server."
|
||||
}
|
||||
"403":
|
||||
description: |-
|
||||
The requesting user is not a server administrator, or the target user is another
|
||||
administrator. The errcode is `M_FORBIDDEN`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_FORBIDDEN",
|
||||
"error": "Requesting user is not a server administrator."
|
||||
}
|
||||
"404":
|
||||
description: |-
|
||||
The user ID is not found, or is deactivated. The errcode is `M_NOT_FOUND`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_NOT_FOUND",
|
||||
"error": "User not found."
|
||||
}
|
||||
tags:
|
||||
- Server administration
|
||||
put:
|
||||
summary: Set the suspended status of a particular user.
|
||||
x-addedInMatrixVersion: "1.18"
|
||||
description: |-
|
||||
Sets the suspended status of a particular server-local user.
|
||||
|
||||
The user calling this endpoint MUST be a server admin. The client SHOULD check that the user
|
||||
is allowed to suspend other users at the [`GET /capabilities`](/client-server-api/#get_matrixclientv3capabilities)
|
||||
endpoint prior to using this endpoint.
|
||||
|
||||
In order to prevent user enumeration, servers MUST ensure that authorization is checked
|
||||
prior to trying to do account lookups.
|
||||
operationId: setAdminSuspendUser
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
- accessTokenBearer: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: userId
|
||||
description: The user to change the suspended status of.
|
||||
required: true
|
||||
example: "@peter:rabbit.rocks"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
suspended:
|
||||
type: boolean
|
||||
description: Whether to suspend the target account.
|
||||
example: true
|
||||
required:
|
||||
- suspended
|
||||
examples:
|
||||
request:
|
||||
value: {
|
||||
"suspended": true,
|
||||
}
|
||||
required: true
|
||||
|
||||
responses:
|
||||
"200":
|
||||
description: The action was successful.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
suspended:
|
||||
type: boolean
|
||||
description: Whether the target account is suspended.
|
||||
example: true
|
||||
required:
|
||||
- suspended
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"suspended": true,
|
||||
}
|
||||
"400":
|
||||
description: |-
|
||||
The user ID does not belong to the local server. The errcode is `M_INVALID_PARAM`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_INVALID_PARAM",
|
||||
"error": "User does not belong to the local server."
|
||||
}
|
||||
"403":
|
||||
description: |-
|
||||
The requesting user is not a server administrator, is trying to suspend their own
|
||||
account, or the target user is another administrator. The errcode is `M_FORBIDDEN`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_FORBIDDEN",
|
||||
"error": "Requesting user is not a server administrator."
|
||||
}
|
||||
"404":
|
||||
description: |-
|
||||
The user ID is not found, or is deactivated. The errcode is `M_NOT_FOUND`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_NOT_FOUND",
|
||||
"error": "User not found."
|
||||
}
|
||||
tags:
|
||||
- Server administration
|
||||
"/v1/admin/lock/{userId}":
|
||||
get:
|
||||
summary: Gets information about the locked status of a particular user.
|
||||
x-addedInMatrixVersion: "1.18"
|
||||
description: |-
|
||||
Gets information about the locked status of a particular server-local user.
|
||||
|
||||
The user calling this endpoint MUST be a server admin.
|
||||
|
||||
In order to prevent user enumeration, servers MUST ensure that authorization is checked
|
||||
prior to trying to do account lookups.
|
||||
operationId: getAdminLockUser
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
- accessTokenBearer: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: userId
|
||||
description: The user to look up.
|
||||
required: true
|
||||
example: "@peter:rabbit.rocks"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
|
||||
responses:
|
||||
"200":
|
||||
description: The lookup was successful.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
locked:
|
||||
type: boolean
|
||||
description: Whether the target account is locked.
|
||||
required:
|
||||
- locked
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"locked": true,
|
||||
}
|
||||
"400":
|
||||
description: |-
|
||||
The user ID does not belong to the local server. The errcode is `M_INVALID_PARAM`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_INVALID_PARAM",
|
||||
"error": "User does not belong to the local server."
|
||||
}
|
||||
"403":
|
||||
description: |-
|
||||
The requesting user is not a server administrator, or the target user is another
|
||||
administrator. The errcode is `M_FORBIDDEN`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_FORBIDDEN",
|
||||
"error": "Requesting user is not a server administrator."
|
||||
}
|
||||
"404":
|
||||
description: |-
|
||||
The user ID is not found, or is deactivated. The errcode is `M_NOT_FOUND`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_NOT_FOUND",
|
||||
"error": "User not found."
|
||||
}
|
||||
tags:
|
||||
- Server administration
|
||||
put:
|
||||
summary: Set the locked status of a particular user.
|
||||
x-addedInMatrixVersion: "1.18"
|
||||
description: |-
|
||||
Sets the locked status of a particular server-local user.
|
||||
|
||||
The user calling this endpoint MUST be a server admin. The client SHOULD check that the user
|
||||
is allowed to lock other users at the [`GET /capabilities`](/client-server-api/#get_matrixclientv3capabilities)
|
||||
endpoint prior to using this endpoint.
|
||||
|
||||
In order to prevent user enumeration, servers MUST ensure that authorization is checked
|
||||
prior to trying to do account lookups.
|
||||
operationId: setAdminLockUser
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
- accessTokenBearer: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: userId
|
||||
description: The user to change the locked status of.
|
||||
required: true
|
||||
example: "@peter:rabbit.rocks"
|
||||
schema:
|
||||
type: string
|
||||
format: mx-user-id
|
||||
pattern: "^@"
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
locked:
|
||||
type: boolean
|
||||
description: Whether to lock the target account.
|
||||
example: true
|
||||
required:
|
||||
- locked
|
||||
examples:
|
||||
request:
|
||||
value: {
|
||||
"locked": true,
|
||||
}
|
||||
required: true
|
||||
|
||||
responses:
|
||||
"200":
|
||||
description: The action was successful.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
locked:
|
||||
type: boolean
|
||||
description: Whether the target account is locked.
|
||||
example: true
|
||||
required:
|
||||
- locked
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"locked": true,
|
||||
}
|
||||
"400":
|
||||
description: |-
|
||||
The user ID does not belong to the local server. The errcode is `M_INVALID_PARAM`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_INVALID_PARAM",
|
||||
"error": "User does not belong to the local server."
|
||||
}
|
||||
"403":
|
||||
description: |-
|
||||
The requesting user is not a server administrator, is trying to lock their own
|
||||
account, or the target user is another administrator. The errcode is `M_FORBIDDEN`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_FORBIDDEN",
|
||||
"error": "Requesting user is not a server administrator."
|
||||
}
|
||||
"404":
|
||||
description: |-
|
||||
The user ID is not found, or is deactivated. The errcode is `M_NOT_FOUND`.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
"errcode": "M_NOT_FOUND",
|
||||
"error": "User not found."
|
||||
}
|
||||
tags:
|
||||
- Server administration
|
||||
servers:
|
||||
- url: "{protocol}://{hostname}{basePath}"
|
||||
variables:
|
||||
|
|
@ -118,7 +503,7 @@ servers:
|
|||
hostname:
|
||||
default: localhost:8008
|
||||
basePath:
|
||||
default: /_matrix/client/v3
|
||||
default: /_matrix/client
|
||||
components:
|
||||
securitySchemes:
|
||||
accessTokenQuery:
|
||||
|
|
|
|||
|
|
@ -50,6 +50,12 @@ paths:
|
|||
m.change_password:
|
||||
$ref: '#/components/schemas/booleanCapability'
|
||||
description: Capability to indicate if the user can change their password.
|
||||
m.forget_forced_upon_leave:
|
||||
x-addedInMatrixVersion: "1.18"
|
||||
$ref: '#/components/schemas/booleanCapability'
|
||||
description: |-
|
||||
Capability to indicate if the server automatically forgets rooms once the user
|
||||
leaves.
|
||||
m.room_versions:
|
||||
type: object
|
||||
description: The room versions the server supports.
|
||||
|
|
@ -78,7 +84,7 @@ paths:
|
|||
description: |
|
||||
**Deprecated:** Capability to indicate if the user can change their display name.
|
||||
Refer to `m.profile_fields` for extended profile management.
|
||||
|
||||
|
||||
For backwards compatibility, servers that directly or indirectly include the
|
||||
`displayname` profile field in the `m.profile_fields` capability MUST also
|
||||
set this capability accordingly.
|
||||
|
|
@ -115,7 +121,7 @@ paths:
|
|||
description: |
|
||||
If present, a list of profile fields that clients are allowed to create, modify or delete,
|
||||
provided `enabled` is `true`; no other profile fields may be changed.
|
||||
|
||||
|
||||
If absent, clients may set all profile fields except those forbidden by the `disallowed`
|
||||
list, where present.
|
||||
items:
|
||||
|
|
@ -127,7 +133,7 @@ paths:
|
|||
type: array
|
||||
description: |
|
||||
This property has no meaning if `allowed` is also specified.
|
||||
|
||||
|
||||
Otherwise, if present, a list of profile fields that clients are _not_ allowed to create, modify or delete.
|
||||
Provided `enabled` is `true`, clients MAY assume that they can set any profile field which is not
|
||||
included in this list.
|
||||
|
|
@ -141,6 +147,34 @@ paths:
|
|||
example: true
|
||||
required:
|
||||
- enabled
|
||||
m.account_moderation:
|
||||
x-addedInMatrixVersion: "1.18"
|
||||
type: object
|
||||
title: AccountModerationCapability
|
||||
description: |-
|
||||
Capability to indicate if the user can perform account moderation actions
|
||||
via [server administration](/client-server-api/#server-administration)
|
||||
endpoints.
|
||||
|
||||
This property should be omitted altogether if `suspend` and `lock` would
|
||||
be `false`.
|
||||
properties:
|
||||
suspend:
|
||||
type: boolean
|
||||
description: |-
|
||||
`true` if the user can suspend a user via [`PUT /admin/suspend/{userId}`](/client-server-api/#put_matrixclientv1adminsuspenduserid),
|
||||
`false` otherwise.
|
||||
|
||||
Defaults to `false`.
|
||||
example: true
|
||||
lock:
|
||||
type: boolean
|
||||
description: |-
|
||||
`true` if the user can lock a user via [`PUT /admin/lock/{userId}`](/client-server-api/#put_matrixclientv1adminlockuserid),
|
||||
`false` otherwise.
|
||||
|
||||
Defaults to `false`.
|
||||
example: true
|
||||
examples:
|
||||
response:
|
||||
value: {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,10 @@ paths:
|
|||
"/rooms/{roomId}/leave":
|
||||
post:
|
||||
summary: Stop the requesting user participating in a particular room.
|
||||
x-changedInMatrixVersion:
|
||||
"1.18": |-
|
||||
Servers may additionally forget the room provided that they make this behavior
|
||||
transparent.
|
||||
description: |-
|
||||
This API stops a user participating in a particular room.
|
||||
|
||||
|
|
@ -29,8 +33,15 @@ paths:
|
|||
If the user was invited to the room, but had not joined, this call
|
||||
serves to reject the invite.
|
||||
|
||||
The user will still be allowed to retrieve history from the room which
|
||||
they were previously allowed to see.
|
||||
Servers MAY additionally forget the room when this endpoint is called –
|
||||
just as if the user had also invoked [`/forget`](/client-server-api/#post_matrixclientv3roomsroomidforget).
|
||||
Servers that do this, MUST inform clients about this behavior using the
|
||||
[`m.forget_forced_upon_leave`](/client-server-api/#mforget_forced_upon_leave-capability)
|
||||
capability.
|
||||
|
||||
If the server doesn't automatically forget the room, the user will still be
|
||||
allowed to retrieve history from the room which they were previously allowed
|
||||
to see.
|
||||
operationId: leaveRoom
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
|
|
|
|||
|
|
@ -20,6 +20,10 @@ paths:
|
|||
"/rooms/{roomId}/send/{eventType}/{txnId}":
|
||||
put:
|
||||
summary: Send a message event to the given room.
|
||||
x-changedInMatrixVersion:
|
||||
"1.18": |-
|
||||
Homeservers must support sending `m.room.redaction` events with this endpoint
|
||||
for all room versions.
|
||||
description: |-
|
||||
This endpoint is used to send a message event to a room. Message events
|
||||
allow access to historical events and pagination, making them suited
|
||||
|
|
@ -28,6 +32,11 @@ paths:
|
|||
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
|
||||
[Room Events](/client-server-api/#room-events) for the m. event specification.
|
||||
|
||||
Homeservers MUST allow clients to send `m.room.redaction` events with this
|
||||
endpoint for all room versions. In rooms with a version older than 11 they
|
||||
MUST move the `redacts` property inside the `content` to the top level of
|
||||
the event.
|
||||
operationId: sendMessage
|
||||
security:
|
||||
- accessTokenQuery: []
|
||||
|
|
|
|||
Loading…
Reference in a new issue