mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-03-04 10:44:10 +01:00
Merge 9726841e01 into 28d6707d5d
This commit is contained in:
commit
bd496a6c80
1
changelogs/client_server/newsfragments/2315.feature
Normal file
1
changelogs/client_server/newsfragments/2315.feature
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Add `M_USER_LIMIT_EXCEEDED` common error code, as per [MSC4335](https://github.com/matrix-org/matrix-spec-proposals/pull/4335).
|
||||||
|
|
@ -147,6 +147,37 @@ state (e.g.: sending messages, account data, etc) and not routes which
|
||||||
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
|
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
|
||||||
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
|
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
|
||||||
|
|
||||||
|
`M_USER_LIMIT_EXCEEDED`
|
||||||
|
{{% added-in v="1.18" %}} The request cannot be completed because the user has
|
||||||
|
exceeded (or the request would cause them to exceed) a limit associated with
|
||||||
|
their account. For example, a user may have reached their allocated storage
|
||||||
|
quota, reached a maximum number of allowed rooms, devices, or other
|
||||||
|
account-scoped resources, or exceeded usage limits for specific features.
|
||||||
|
|
||||||
|
The error response MUST have an `info_uri` field (string), which is a URI
|
||||||
|
that the client can present to the user to provide more context on the
|
||||||
|
encountered limit and, if applicable, guidance on how to increase the limit.
|
||||||
|
The homeserver MAY return different values for `info_uri` depending on the type
|
||||||
|
of limit reached.
|
||||||
|
|
||||||
|
The error response MAY include a `can_upgrade` field (boolean, default `false`).
|
||||||
|
If `true`, it indicates that the specific limit encountered can be increased,
|
||||||
|
for example by upgrading the user's account tier. If absent or `false`, the
|
||||||
|
limit is a hard limit that cannot be increased.
|
||||||
|
|
||||||
|
The HTTP status code will depend on depend on the particular endpoint.
|
||||||
|
|
||||||
|
Example response:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"errcode": "M_USER_LIMIT_EXCEEDED",
|
||||||
|
"error": "You have exceeded your storage quota of 10GB",
|
||||||
|
"info_uri": "https://example.com/homeserver/about?limit_type=quota",
|
||||||
|
"can_upgrade": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
`M_UNKNOWN`
|
`M_UNKNOWN`
|
||||||
: An unknown error has occurred.
|
: An unknown error has occurred.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue