Compare commits

..

3 commits

Author SHA1 Message Date
famfo 6af44320ce
Merge 8424acd0e1 into 156d1b878a 2026-04-03 21:24:46 +00:00
famfo 8424acd0e1
f 2026-04-03 23:24:39 +02:00
Hugh Nimmo-Smith 156d1b878a
Fix ordering of CS API common error codes (#2348)
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
Spec / Create release (push) Has been cancelled
I suspect that I forgot to rebase https://github.com/matrix-org/matrix-spec/pull/2315 after https://github.com/matrix-org/matrix-spec/pull/2336 was merged (or vice versa).

This PR restores the alphabetical ordering.
2026-03-31 23:27:39 +01:00
4 changed files with 37 additions and 32 deletions

View file

@ -0,0 +1 @@
Fix ordering of common error codes.

View file

@ -1 +1 @@
Clarify the s2s profile query behaviour and responses.
Clarify the behaviour and response format of `GET /_matrix/federation/v1/query/profile`.

View file

@ -126,6 +126,25 @@ state (e.g.: sending messages, account data, etc) and not routes which
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
`M_UNKNOWN`
: An unknown error has occurred.
`M_UNKNOWN_DEVICE`
: {{% added-in v="1.17" %}} The device ID supplied by the application service does
not belong to the user ID during [identity assertion](/application-service-api/#identity-assertion).
`M_UNKNOWN_TOKEN`
: The access or refresh token specified was not recognised.
: An additional response parameter, `soft_logout`, might be present on the
response for 401 HTTP status codes. See [the soft logout
section](#soft-logout) for more information.
`M_UNRECOGNIZED`
: The server did not understand the request. This is expected to be returned with
a 404 HTTP status code if the endpoint is not implemented or a 405 HTTP status
code if the endpoint is implemented, but the incorrect HTTP method is used.
`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
@ -157,25 +176,6 @@ limit is a hard limit that cannot be increased.
}
```
`M_UNKNOWN`
: An unknown error has occurred.
`M_UNKNOWN_DEVICE`
: {{% added-in v="1.17" %}} The device ID supplied by the application service does
not belong to the user ID during [identity assertion](/application-service-api/#identity-assertion).
`M_UNKNOWN_TOKEN`
: The access or refresh token specified was not recognised.
: An additional response parameter, `soft_logout`, might be present on the
response for 401 HTTP status codes. See [the soft logout
section](#soft-logout) for more information.
`M_UNRECOGNIZED`
: The server did not understand the request. This is expected to be returned with
a 404 HTTP status code if the endpoint is not implemented or a 405 HTTP status
code if the endpoint is implemented, but the incorrect HTTP method is used.
`M_USER_LOCKED`
: The account has been [locked](#account-locking) and cannot be used at this time.

View file

@ -115,12 +115,12 @@ paths:
to the target server (identified by the [server name](/appendices/#server-name)
in the user ID).
Responding servers MAY
- allow users to set arbitrary key/value pairs in their profile in addition to the
specified pairs
- deny profile look-up over federation by responding with 403 and an error code of
`M_FORBIDDEN`
- omit certain key/value pairs in the response
Responding servers MAY:
- Allow users to set arbitrary key/value pairs in their profile in addition to the
specified pairs.
- Deny profile look-up over federation by responding with 403 and an error code of
`M_FORBIDDEN`.
- Omit certain key/value pairs in the response.
Requesting servers MAY wish to cache the response to this query to avoid requesting the
information too often.
@ -149,10 +149,12 @@ paths:
responses:
"200":
description: |-
The profile for the user. If a `field` is specified in the request, only the
matching field MUST included in the response. If no `field` was specified,
the response MUST include the fields of the user's profile that can be made
public, such as the display name and avatar.
The profile for the user. If a `field` is specified in the request, the response
MUST only included the specified `field`. If no `field` was specified, the response
SHOULD include all of the fields of the user's profile, which can be made public.
If a field in the user's profile can't be made public over the federation, the
responding server MAY choose to exclude it in the response.
If the user does not have a particular field set on their profile, the server
MUST either exclude it from the response body or give it the value `null`.
@ -175,8 +177,10 @@ paths:
example: mxc://example.org/MyC00lAvatar
m.tz:
type: string
description: The name of the user's time zone. The name MUST be registered in
the [IANA Time Zone Database](https://www.iana.org/time-zones).
description: The name of the user's time zone. The name SHOULD be registered in
the [IANA Time Zone Database](https://www.iana.org/time-zones), requesting
servers MUST tolerate invalid or unknown values.
x-addedInMatrixVersion: "1.16"
additionalProperties:
description: Additional profile fields.
examples: