Richard van der Hoff
2260c89af4
Update content/client-server-api/_index.md
2025-06-20 15:48:53 +01:00
Richard van der Hoff
bfc06034bd
Update content/client-server-api/_index.md
2025-06-20 11:52:44 +01:00
Richard van der Hoff
254b67307f
Merge branch 'main' into authentication-apis
2025-06-20 10:53:02 +01:00
Kévin Commaille
ccd9e50eb1
Add OAuth 2.0 token revocation ( #2151 )
...
As per MSC4254
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-20 10:51:17 +01:00
Kévin Commaille
e4740e36e8
Add OAuth 2.0 authorization code and refresh token grant types ( #2150 )
...
As per MSC2964
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-20 10:45:17 +01:00
Kévin Commaille
ed1b3d7d57
Apply review suggestions
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-18 12:06:00 +02:00
Kévin Commaille
9244c84a32
Add OAuth 2.0 dynamic client registration ( #2148 )
...
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
As per MSC2966
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-18 10:12:48 +01:00
Richard van der Hoff
c63282839d
Merge branch 'main' into authentication-apis
2025-06-17 19:13:29 +01:00
Kévin Commaille
51ccbbd240
Add the OAuth 2.0 server metadata discovery endpoint ( #2147 )
...
As per MSC2965.
2025-06-17 17:47:30 +01:00
Kévin Commaille
a2a9a02efa
Add OAuth 2.0 scopes ( #2149 )
...
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
As per MSC2967
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-11 09:40:17 +01:00
Kévin Commaille
d40d781cfd
Clarify differences between both authentication APIs
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-08 13:01:44 +02:00
Kévin Commaille
3971252184
Add introduction for the legacy API
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-08 11:09:51 +02:00
Kévin Commaille
22bfe79ea6
Add introduction to OAuth 2.0 API
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-08 10:48:57 +02:00
Johannes Marbach
7bcc3ecb81
Spec PR - MSC3266: Room Summary API ( #2125 )
...
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
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-06-04 07:43:06 -04:00
Kévin Commaille
866c05f487
Reorganize client authentication section to separate the legacy API and the new OAuth 2.0 API ( #2141 )
...
Spec / 🔎 Validate OpenAPI specifications (push) Waiting to run
Spec / 🔎 Check Event schema examples (push) Waiting to run
Spec / 🔎 Check OpenAPI definitions examples (push) Waiting to run
Spec / 🔎 Check JSON Schemas inline examples (push) Waiting to run
Spec / ⚙️ Calculate baseURL for later jobs (push) Waiting to run
Spec / 🐍 Build OpenAPI definitions (push) Blocked by required conditions
Spec / 📢 Run towncrier for changelog (push) Waiting to run
Spec / 📖 Build the spec (push) Blocked by required conditions
Spec / 🔎 Validate generated HTML (push) Blocked by required conditions
Spec / 📖 Build the historical backup spec (push) Blocked by required conditions
Spell Check / Spell Check with Typos (push) Waiting to run
Since account locking and suspension are authentication API agnostic,
this is a pre-requisite to adding the new OAuth 2.0-based API.
This also splits the endpoints that where all included in the
registration OpenAPI data, to separate them cleanly in the spec, and
avoid having deactivation show before registration.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-06-03 19:05:24 +01:00
Johannes Marbach
2c734c3c5b
Clarify the meaning of "public rooms" in the room directory ( #2104 )
...
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
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2025-05-21 16:43:02 +01:00
Johannes Marbach
c74befd111
Clarify the meaning of "public rooms" for profile look-ups ( #2101 )
2025-05-13 14:34:39 +01:00
Kim Brose
ca9c376076
Clarify Well-Known URIs ( #2140 )
...
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
* Clarify Well-Known URIs
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
* Fix section link
---------
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
2025-05-08 13:55:51 +02:00
Johannes Marbach
ad17652fce
Clarify that applying redactions is a SHOULD for clients ( #2055 )
2025-01-15 10:07:37 +00:00
Johannes Marbach
b9f46d1d85
Add missing preposition ( #2048 )
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-01-14 18:52:10 +00:00
Travis Ralston
2fd5bf10bb
Specify account suspension ( #2014 )
...
* Specify account suspension
* changelog
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Add some links
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-12-11 18:12:26 -07:00
Kévin Commaille
846cc49eb2
Clarify allowed HTTP methods in CORS responses (take 2) ( #2011 )
...
* Clarify allowed HTTP methods in CORS responses (take 2)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Update previous changelog an add duplicate changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
---------
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-12-11 10:21:49 -07:00
David Baker
9198182f1a
Add error codes from MSC4178 ( #1944 )
...
* Add error codes from MSC4178
* changelog
* Put changelog in the right place
* Move newsfile
* Add the codes to the right endpoint
* Also add M_THREEPID_IN_USE
which was always used and is specified in the IS API, but not in the
C/S API. We decided this was well-specced enough that it didn't need
its own MSC.
2024-12-11 09:48:26 +00:00
Richard van der Hoff
075a98d619
Add hyperlinks to endpoints ( #2016 )
...
... because there's nothing more infuriating than someone talking about an
endpoint, then having to search through 150 pages of spec for it.
2024-12-09 11:03:53 +00:00
Richard van der Hoff
f8119f5336
Remove distinction between StateFilter and RoomEventFilter ( #2015 )
...
They are exactly the same type, so let's combine their tables together.
2024-11-27 17:11:39 +01:00
Kévin Commaille
9882d95775
Improve the quality of the rendered diagrams ( #1999 )
...
The first commit allows to lazy-load the diagrams, which should improve the loading time of the CS API on mobile. In the process it also improves the alt text of the images.
The second commit serves the diagrams as high-resolution WebPs. Encoding a high resolution diagram as WebP gives a file of approximately the same size as the lower resolution PNG. For maximum compatibility we also serve them as a lower resolution WebP and a fallback PNG. WebP was chosen because it is one of the export formats of draw.io/diagrams.net, and it is widely available in modern browsers.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-11-19 21:41:45 +00:00
Kévin Commaille
c5d7eb7a2d
Add PATCH and HEAD to the allowed HTTP methods in CORS responses ( #1995 )
2024-11-14 11:51:06 +00:00
Kévin Commaille
611d6c3e7e
Always use % delimiter for added-in and changed-in shortcodes ( #1975 )
...
The `<>` delimiters are not necessary for the shortcode to be rendered inline, and in some cases they break some expectations: a shortcode that is separated from other text to be in its own paragraph is not actually wrapped by a `p` element, breaking the spacing between paragraphs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-10-30 10:09:38 +00:00
Johannes Marbach
871c10577e
MSC4170: 403 error responses for profile APIs ( #1867 )
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-10-07 10:45:17 +01:00
Johannes Marbach
ace2712719
MSC3939: Account locking ( #1934 )
2024-09-26 14:19:45 +01:00
Johannes Marbach
d9c447e194
Document m.get_login_token capability ( #1908 )
2024-07-19 11:13:10 +01:00
Matthias Ahouansou
149d5d2a95
remove confusing description of restricted rooms with no valid conditions ( #1903 )
2024-07-17 14:26:28 +00:00
Johannes Marbach
cbe8092d8a
Spec for MSC2867 (Marking rooms as unread) ( #1895 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2024-07-15 14:38:57 +01:00
Johannes Marbach
5abc31111f
Clarify arguments of window.matrixLogin.onLogin ( #1905 )
2024-07-08 07:51:27 -04:00
Johannes Marbach
e53e6ea876
Fix callback function for fallback login ( #1899 )
2024-07-05 06:54:42 -04:00
Johannes Marbach
d7299b5a32
Rename and sort the modules in the feature profiles table for easier skimming ( #1855 )
...
* Rename modules to match section titles.
* Sort the table by requiredness, then alphabetically by module name.
2024-06-26 11:53:28 -04:00
Johannes Marbach
7eda6ad299
Improve recommendation for how to form transaction IDs ( #1888 )
...
Fixes : #1706
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-06-25 15:55:46 +01:00
Hugh Nimmo-Smith
5f47b96240
Clarify when server name is used and link to definition ( #1862 )
...
* Clarify when server name is used and link to definition
* Changelog
2024-06-14 13:34:35 +02:00
Travis Ralston
7a51ae879c
Add authenticated media (MSC3916) ( #1858 )
...
* C2S: Deprecate now-legacy endpoints
* C2S: Fix MXC URI code block while we're here
* C2S: Describe the authentication and deprecation requirements
* C2S: Intro the upload/download endpoints differently
* C2S: Literally copy/paste the `content-repo.yaml` spec
* C2S: Drop `/upload` and `/create` because we aren't replacing them today
* C2S: Fix notes while we're here
* C2S: Update metadata for new endpoints
* C2S: Add authentication to new endpoints
* C2S: Drop `allow_remote` and `allow_redirect` on new endpoints
* C2S: Append backwards compatibility notes
* C2S: Decorate old media endpoints with pointers to the new ones
The server-server spec might have a harder time linking to these, but that can be fixed with verbiage.
* C2S: Annotate IdP icon spec with media auth implications
* S2S: Modernize section text
* S2S: Create content repository API
This is largely a copy/paste of the new authed content repo API in the Client-Server API, though some keywords (like "client") have been changed. Paths and response formats have also been changed to support the federation-specific requirements.
* C2S & S2S: Add plethora of changelogs
* Reference RFC 1341
* Upgrade keywords in changed text
* Mention caching
* Cross-reference IdP icons
* Update content/client-server-api/modules/content_repo.md
2024-06-13 18:08:27 +00:00
Johannes Marbach
7916032a78
Move size limits for user, room and event IDs into the appendix and clarify that the length is to be measured in bytes ( #1850 )
...
Fixes : #1826
Relates to: #1001
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-06-12 09:11:07 +01:00
Johannes Marbach
3517846916
Add missing modules to feature profiles ( #1860 )
...
* Add missing modules to feature profiles
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
* Add changelog
---------
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-06-11 21:38:33 -04:00
Johannes Marbach
520b8398d8
Add missing word header ( #1852 )
...
* Add missing word header
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
* Add changelog
---------
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-06-11 17:36:24 -04:00
Kévin Commaille
784b8984f3
Generate ToC with Hugo rather than JavaScript ( #1851 )
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-06-11 22:24:23 +01:00
reivilibre
2f528029c9
Note that /logout doesn't take a body ( #1644 )
2024-06-11 15:22:12 +01:00
Johannes Marbach
1b40a7789b
Fix typos around relations recursion ( #1853 )
2024-06-10 07:26:50 -04:00
Richard van der Hoff
df1e799c51
Spec terms of service at registration (MSC1692) ( #1812 )
...
Spec for matrix-org/matrix-spec-proposals#1692
Co-authored-by: Hubert Chathi <hubertc@matrix.org>
2024-05-08 13:51:18 +00:00
Kévin Commaille
625999a039
Deprecate authentication via a query string ( #1808 )
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-04-30 17:07:59 +01:00
Richard van der Hoff
073ce659df
Define opaque identifier grammar ( #1791 )
...
Since we already have three of these, and I'm about to add a fourth, let's pull
it out to a common definition.
We could, of course, keep defining the grammar each time it's used, but
defining it in an appendix helps us be consistent for future API design.
2024-04-17 09:22:06 +01:00
Will Hunt
e5aa5235fe
MSC4041 - Add Retry-After header notice. ( #1737 )
2024-03-20 09:44:47 +00:00
Kévin Commaille
44c16918fd
Add server support discovery endpoint ( #1733 )
...
* Add server support discovery endpoint
As per MSC1929.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Fix example indentation
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Apply suggestions from code review
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Fix line length
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Add link to definiton of Matrix User ID
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Fix copyright
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
* Remove HTTP from supported protocols
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
---------
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Travis Ralston <travpc@gmail.com>
2024-03-19 15:32:17 -06:00