fix indentation, error messages. add rest of PR

pull/977/head
Andrew Morgan 6 years ago
parent d73b247688
commit cc3724b54a

@ -30,8 +30,8 @@ paths:
put:
summary: Send some events to the application service.
description: |-
This API is called by the HS when the HS wants to push an event (or
batch of events) to the AS.
This API is called by the homeserver when it wants to push an event
(or batch of events) to the application service.
operationId: sendTransaction
parameters:
- in: path
@ -48,33 +48,33 @@ paths:
schema:
type: object
example: {
"events": [
{
"age": 32,
"content": {
"body": "incoming message",
"msgtype": "m.text"
},
"event_id": "$14328055551tzaee:localhost",
"origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message",
"user_id": "@bob:localhost"
"events": [
{
"age": 32,
"content": {
"body": "incoming message",
"msgtype": "m.text"
},
{
"age": 1984,
"content": {
"body": "another incoming message",
"msgtype": "m.text"
},
"event_id": "$1228055551ffsef:localhost",
"origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message",
"user_id": "@bob:localhost"
}
]
}
"event_id": "$14328055551tzaee:localhost",
"origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message",
"user_id": "@bob:localhost"
},
{
"age": 1984,
"content": {
"body": "another incoming message",
"msgtype": "m.text"
},
"event_id": "$1228055551ffsef:localhost",
"origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message",
"user_id": "@bob:localhost"
}
]
}
description: "Transaction informations"
properties:
events:
@ -89,14 +89,14 @@ paths:
description: The transaction was processed successfully.
examples:
application/json: {
}
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/rooms/{roomAlias}":
@ -126,7 +126,7 @@ paths:
before responding.
examples:
application/json: {
}
}
schema:
type: object
401:
@ -135,8 +135,8 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -144,8 +144,8 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
404:
@ -154,15 +154,15 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/users/{userId}":
@ -189,7 +189,7 @@ paths:
service MUST create the user using the client-server API.
examples:
application/json: {
}
}
schema:
type: object
401:
@ -198,8 +198,8 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -207,8 +207,8 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
404:
@ -217,24 +217,24 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/_matrix/app/unstable/thirdparty/{protocol}":
get:
summary: Retrieve metadata about a specific protocol that the application service supports.
description: |-
This API is called by the HS when it wants to present clients with
specific information about the various thirdparty networks that an AS
supports.
This API is called by the homeserver when it wants to present clients
with specific information about the various third party networks that
an application service supports.
operationId: queryMetadata
parameters:
- in: path
@ -249,33 +249,33 @@ paths:
description: The protocol was found and metadata returned.
examples:
application/json: {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s]+",
"placeholder": "username"
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
]
}
}
]
}
schema:
type: object
401:
@ -284,8 +284,8 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -293,30 +293,30 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
404:
description: No protocol was found with the given path.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/_matrix/app/unstable/thirdparty/user/{protocol}":
get:
summary: Retrieve the Matrix ID of a corresponding thirdparty user.
summary: Retrieve the Matrix ID of a corresponding third party user.
description: |-
This API is called by the HS in order to retrieve a Matrix ID linked
This API is called by the homeserver in order to retrieve a Matrix ID linked
to a user on the external service, given a set of user parameters.
operationId: queryUserByProtocol
parameters:
@ -331,32 +331,47 @@ paths:
name: field1, field2...
type: string
description: |-
One or more custom fields that are passed to the AS to help identify the user.
One or more custom fields that are passed to the application
service to help identify the user.
responses:
200:
description: The Matrix IDs found with the given parameters.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched users.
items:
type: object
title: User
properties:
userid:
type: string
description: The Matrix ID of the matched user.
protocol:
type: string
description: The third party protocol.
fields:
type: object
description: The third party network fields used to identify this user.
properties:
user:
type: string
description: An example field, in this case the username for a Gitter user.
401:
description: |-
The homeserver has not supplied credentials to the application service.
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -364,67 +379,67 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
404:
description: No users were found with the given parameters.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/_matrix/app/unstable/thirdparty/location/{protocol}":
get:
summary: Retreive Matrix-side portals rooms leading to a thirdparty location.
summary: Retreive Matrix-side portal rooms leading to a third party location.
description: |-
Requesting this endpoint with a valid protocol name results in a list
of successful mapping results in a JSON array. Each result contains
objects to represent the Matrix room or rooms that represent a portal
to this 3PN. Each has the Matrix room alias string, an identifier for
the particular 3PN protocol, and an object containing the
network-specific fields that comprise this identifier. It should
attempt to canonicalise the identifier as much as reasonably possible
given the network type.
to this third party network. Each has the Matrix room alias string,
an identifier for the particular third party network protocol, and an
object containing the network-specific fields that comprise this
identifier. It should attempt to canonicalise the identifier as much
as reasonably possible given the network type.
operationId: queryLocationByProtocol
parameters:
- in: path
name: protocol
type: string
description: The protocol used to communicate to the thirdparty network.
description: The protocol used to communicate to the third party network.
required: true
x-example: "irc"
- in: query
name: field1, field2...
type: string
description: |-
One or more custom fields that are passed to the AS to help
identify the thirdparty location.
One or more custom fields that are passed to the application
service to help identify the third party location.
responses:
200:
description: At least one portal room was found.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
schema:
type: array
description: |-
Array of portal rooms leading to the requested thirdparty
Array of portal rooms leading to the requested third party
location.
items:
type: object
@ -435,8 +450,8 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -444,54 +459,54 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
404:
description: No mappings were found with the given parameters.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/_matrix/app/unstable/thirdparty/location":
get:
summary: Reverse-lookup thirdparty locations given a Matrix room alias.
summary: Reverse-lookup third party locations given a Matrix room alias.
description: |-
Retreive an array of thirdparty network locations from a Matrix room
Retreive an array of third party network locations from a Matrix room
alias.
operationId: queryLocationByAlias
parameters:
- in: path
- in: query
name: alias
type: string
description: The Matrix room alias to look up.
responses:
200:
description: |-
All found thirdparty locations. Same response format as the
All found third party locations. Same response format as the
forward lookup response.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
schema:
type: array
description: Matched thirdparty locations.
description: Matched third party locations.
items:
type: object
title: Location
@ -501,8 +516,8 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -510,51 +525,51 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN"
}
schema:
type: object
404:
description: No mappings were found with the given parameters.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object
"/_matrix/app/unstable/thirdparty/user":
get:
summary: Reverse-lookup thirdparty users given a Matrix ID.
summary: Reverse-lookup third party users given a Matrix ID.
description: |-
Retreive an array of thirdparty users from a Matrix ID.
Retreive an array of third party users from a Matrix ID.
operationId: queryUserByID
paramters:
- in: path
- in: query
name: userid
type: string
description: The Matrix ID to look up.
responses:
200:
description: |-
An array of thirdparty users.
An array of third party users.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched thirdparty users
description: Matched third party users
items:
type: object
title: User
@ -564,8 +579,8 @@ paths:
Optional error information can be included in the body of this response.
examples:
application/json: {
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
403:
@ -573,22 +588,22 @@ paths:
The credentials supplied by the homeserver were rejected.
examples:
application/json: {
"errcode": "M_FORBIDDEN"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED"
}
schema:
type: object
404:
description: No mappings were found with the given parameters.
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
}
schema:
type: object
500:
description: There was a problem completing the request.
examples:
application/json: {
}
}
schema:
type: object

@ -0,0 +1,338 @@
# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
swagger: '2.0'
info:
title: "Matrix Client-Server Third Party Lookup API"
version: "1.0.0"
host: localhost:8008
schemes:
- https
- http
basePath: /_matrix/client/%CLIENT_MAJOR_VERSION%
consumes:
- application/json
produces:
- application/json
paths:
"/thirdparty/protocols":
get:
summary: Retrieve metadata about all protocols that a homeserver supports.
description: |-
Fetches the overall metadata about protocols supported by the
homeserver. Includes both the available protocols and all fields
required for queries against each protocol.
operationId: queryMetadata
responses:
200:
description: The protocols supported by the homeserver.
examples:
application/json: {
"irc": {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
]
},
"gitter": {
"user_fields": ["username"],
"location_fields": ["room"],
"field_types": {
"username": {
"regexp": "@[^\\s]+",
"placeholder": "@username"
},
"room": {
"regexp": "[^\\s]+\\/[^\\s]+",
"placeholder": "matrix-org/matrix-doc"
}
},
"instances": [
{
"desc": "Gitter",
"icon": "mxc://example.org/zXyWvUt",
"fields": {}
}
]
}
}
schema:
type: object
"/thirdparty/protocol/{protocol}":
get:
summary: Retrieve metadata about a specific protocol that the homeserver supports.
description: |-
Fetches the metadata from the homeserver about a particular third party protocol.
operationId: queryMetadata
parameters:
- in: path
name: protocol
type: string
description: |-
The name of the protocol.
required: true
x-example: "irc"
responses:
200:
description: The protocol was found and metadata returned.
examples:
application/json: {
"user_fields": ["network", "nickname"],
"location_fields": ["network", "channel"],
"icon": "mxc://example.org/aBcDeFgH",
"field_types": {
"network": {
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
"placeholder": "irc.example.org"
},
"nickname": {
"regexp": "[^\\s#]+",
"placeholder": "username"
},
"channel": {
"regexp": "#[^\\s]+",
"placeholder": "#foobar"
}
},
"instances": [
{
"desc": "Freenode",
"icon": "mxc://example.org/JkLmNoPq",
"fields": {
"network": "freenode.net",
}
}
]
}
schema:
type: object
404:
description: The protocol is unknown
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
"/thirdparty/location/{protocol}":
get:
summary: Retreive Matrix-side portals rooms leading to a third party location.
description: |-
Requesting this endpoint with a valid protocol name results in a list
of successful mapping results in a JSON array. Each result contains
objects to represent the Matrix room or rooms that represent a portal
to this third party network. Each has the Matrix room alias string,
an identifier for the particular third party network protocol, and an
object containing the network-specific fields that comprise this
identifier. It should attempt to canonicalise the identifier as much
as reasonably possible given the network type.
operationId: queryLocationByProtocol
parameters:
- in: path
name: protocol
type: string
description: The protocol used to communicate to the third party network.
required: true
x-example: "irc"
- in: query
name: field1, field2...
type: string
description: |-
One or more custom fields to help identify the third party
location.
responses:
200:
description: At least one portal room was found.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
schema:
type: array
description: |-
Array of portal rooms leading to the requested third party
location.
items:
type: object
title: Portal Room
404:
description: The Matrix room alias was not found
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
"/thirdparty/user/{protocol}":
get:
summary: Retrieve the Matrix ID of a corresponding third party user.
description: |-
Retrieve a Matrix ID linked to a user on the third party service, given
a set of user parameters.
operationId: queryUserByProtocol
parameters:
- in: path
name: protocol
type: string
description: |-
The name of the protocol.
required: true
x-example: irc
- in: query
name: field1, field2...
type: string
description: |-
One or more custom fields that are passed to the AS to help identify the user.
responses:
200:
description: The Matrix IDs found with the given parameters.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched users.
items:
type: object
title: User
properties:
userid:
type: string
description: The Matrix ID of the matched user.
protocol:
type: string
description: The third party protocol.
fields:
type: object
description: The third party network fields used to identify this user.
properties:
user:
type: string
description: An example field, in this case the username for a Gitter user.
404:
description: The Matrix ID was not found
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
"/thirdparty/location":
get:
summary: Reverse-lookup third party locations given a Matrix room alias.
description: |-
Retreive an array of third party network locations from a Matrix room
alias.
operationId: queryLocationByAlias
parameters:
- in: path
name: alias
type: string
description: The Matrix room alias to look up.
responses:
200:
description: |-
All found third party locations. Same response format as the
forward lookup response.
examples:
application/json: [{
"alias": "#freenode_#matrix:matrix.org",
"protocol": "irc",
"fields": {
"network": "freenode",
"channel": "#matrix"
}
}]
schema:
type: array
description: Matched third party locations.
items:
type: object
title: Location
404:
description: The Matrix room alias was not found
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object
"/thirdparty/user":
get:
summary: Reverse-lookup third party users given a Matrix ID.
description: |-
Retreive an array of third party users from a Matrix ID.
operationId: queryUserByID
paramters:
- in: path
name: userid
type: string
description: The Matrix ID to look up.
responses:
200:
description: |-
An array of third party users.
examples:
application/json: [{
"userid": "@_gitter_jim:matrix.org",
"protocol": "gitter",
"fields": {
"user": "jim"
}
}]
schema:
type: array
description: Matched third party users
items:
type: object
title: User
404:
description: The Matrix ID was not found
examples:
application/json: {
"errcode": "M_NOT_FOUND"
}
schema:
type: object

@ -11,8 +11,6 @@ Unreleased changes
(`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_).
- ``POST /delete_devices``
(`#1239 <https://github.com/matrix-org/matrix-doc/pull/1239>`_).
- ``GET /thirdparty/protocols``
(`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_).
- ``GET /thirdparty/protocol/{protocol}``
(`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_).
- ``GET /thirdparty/location/{protocol}``

@ -1,6 +1,772 @@
Tables of Tracked Proposals
---------------------------
This file is autogenerated by a jenkins build process
proposal-wip
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
View the current live version `at https://matrix.org/docs/spec/proposals <https://matrix.org/docs/spec/proposals>`_
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_
- Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5)
- 2014-09-15
- 2018-05-15
- `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_
- `@KitsuneRal`_
- None
-
* - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_
- Federation API for canonicalising MXIDs
- 2014-10-27
- 2018-05-15
- `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_
- `@ara4n`_
- None
-
* - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_
- Extensible Profiles. (SPEC-93)
- 2015-01-19
- 2018-05-15
- `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_
- `@erikjohnston`_
- None
-
* - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_
- Matrix Escape Hatch (Versioned Rooms)
- 2015-10-22
- 2018-05-15
- `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_
- `@leonerd`_
- None
-
* - `MSC1148 <https://github.com/matrix-org/matrix-doc/issues/1148>`_
- Support for websockets
- 2015-11-16
- 2018-06-04
- `1148-1 <https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst>`_, `1148-2 <https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g/edit>`_
- `@richvdh`_, `@krombel`_
- None
-
* - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_
- Push to Talk
- 2016-04-13
- 2018-05-15
- `1238-1 <TBD>`_
- `@aviraldg`_
- None
- `PR#310`_
* - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_
- Threading API
- 2016-05-23
- 2018-05-15
- `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_
- `@Half-Shot`_
- None
-
* - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_
- Publishing Room Lists for 3rd party networks
- 2016-10-21
- 2018-05-31
- `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_
- Support for Reactions / Aggregations
- 2016-12-25
- 2018-05-15
- `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_
- `@pik`_
- `@ara4n`_
-
* - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_
- Improving m.location with GeoJSON and accuracy
- 2017-05-19
- 2018-05-15
- `1237-1 <TBD>`_
- `@Half-Shot`_
- None
- `PR#919`_
* - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_
- Add groups stuff to spec
- 2017-08-10
- 2018-05-20
- `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_
- Groups as Rooms
- 2017-10-17
- 2018-05-15
- `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_
- `@ara4n`_
- None
-
* - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_
- Visibility of groups to group members and their non-members
- 2017-10-30
- 2018-05-15
- `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_
- `@lampholder`_
- None
-
* - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_
- Bridging group membership with 3rd party group sources
- 2017-11-15
- 2018-05-15
- `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_
- `@lukebarnard1`_
- None
-
* - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_
- Proposal for storing megolm keys serverside
- 2017-11-23
- 2018-05-15
- `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_
- `@ara4n`_
- None
-
* - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_
- Improving Presence
- 2017-12-26
- 2018-05-24
- `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_
- `@ara4n`_
- None
-
* - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_
- Pushing updates about Groups (Communities) to clients
- 2018-01-02
- 2018-05-24
- `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_
- `@ara4n`_
- None
-
* - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_
- Extensible event types & fallback in Matrix
- 2018-02-18
- 2018-05-15
- `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_
- `@ara4n`_
- None
-
* - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_
- Proposal for improved bot support
- 2018-03-14
- 2018-06-08
- `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_
- `@turt2live`_
- None
-
* - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_
- Removing MXIDs from events
- 2018-04-19
- 2018-05-15
- `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_
- `@richvdh`_
- None
-
* - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_
- Handling Consent for Privacy Policy
- 2018-05-02
- 2018-05-15
- `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_
- `@neilisfragile`_
- None
-
* - `MSC1267 <https://github.com/matrix-org/matrix-doc/issues/1267>`_
- Interactive Key Verification
- 2018-05-28
- 2018-05-28
- `1267-1 <https://docs.google.com/document/d/1SXmyjyNqClJ5bTHtwvp8tT1Db4pjlGVxfPQNdlQILqU/edit#>`_
- `@uhoreg`_
- None
-
* - `MSC1280 <https://github.com/matrix-org/matrix-doc/issues/1280>`_
- Mechanisms for communicating erasure requests to bots and federated homeservers
- 2018-06-05
- 2018-06-05
- `1280-1 <https://docs.google.com/document/d/17ssplT4pX80ebmyaFIYcXtINV88lBT83ddW9ZhjsDnI>`_
- `@richvdh`_
- None
-
* - `MSC688 <https://github.com/matrix-org/matrix-doc/issues/688>`_
- Calculate room names server-side
- 2018-06-10
- 2018-06-15
- `688-1 <https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs/edit#>`_
- `@ara4n`_
- None
-
* - `MSC1324 <https://github.com/matrix-org/matrix-doc/issues/1324>`_
- Custom protocol definitions for application services
- 2018-06-20
- 2018-06-20
- `1324-1 <https://docs.google.com/document/d/1nCAGu9ZDqum39yj1-pun-sldCCHgeDA0tPqC94R4Qcg/edit?usp=sharing>`_
- `@anoadragon453`_
- None
-
* - `MSC1323 <https://github.com/matrix-org/matrix-doc/issues/1323>`_
- AS traffic rate-limiting
- 2018-06-20
- 2018-07-03
- `1323-1 <https://docs.google.com/document/d/14ygfhAMUrAa04YMHHl2P8_mxV3H2ntNq_-crmZizED0/edit?usp=sharing>`_
- `@anoadragon453`_
- None
-
* - `MSC1322 <https://github.com/matrix-org/matrix-doc/issues/1322>`_
- Mechanism to communicate 3PID binding updates or deletions to homeservers
- 2018-06-20
- 2018-06-20
- `1322-1 <https://docs.google.com/document/d/1LPHBfJQ6x5iOkm2_ZYPNHNjyAzJ4hWNdOGcPGpnEb14>`_
- `@babolivier`_
- None
-
proposal-ready-for-review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_
- Proposal for lazy-loading room members to improve initial sync speed and client RAM usage
- 2018-03-05
- 2018-06-10
- `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_
- `@ara4n`_
- None
-
* - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_
- Proposal for improved bot support
- 2018-03-14
- 2018-06-08
- `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_
- `@turt2live`_
- None
-
* - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_
- Custom emoji and sticker packs in matrix
- 2018-05-23
- 2018-05-24
- `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_
- `@turt2live`_
- None
-
* - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_
- Proposal Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS
- 2018-05-31
- 2018-06-19
- `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_
- `@oivoodoo`_
- None
-
* - `MSC701 <https://github.com/matrix-org/matrix-doc/issues/701>`_
- Auth for content repo (and enforcing GDPR erasure)
- 2018-06-04
- 2018-06-07
- `701-1 <https://docs.google.com/document/d/1ERHpmthZyspnZtE3tQzxKTkcxar6JANeyNXgz2_djhA/edit#>`_
- `@ara4n`_
- None
-
* - `MSC1304 <https://github.com/matrix-org/matrix-doc/issues/1304>`_
- Proposal to simplify the auth rules of m.room.power_level events.
- 2018-06-13
- 2018-06-14
- `1304-1 <https://docs.google.com/document/d/1YuaCFH3RzBUIAjJWFMzKROMDlttoP94KIsyV_F_kfNs/edit#heading=h.8b2tmd2n0vhz>`_
- `@richvdh`_, `@ara4n`_
- None
-
* - `MSC1301 <https://github.com/matrix-org/matrix-doc/issues/1301>`_
- Proposal for improving authorization for the matrix profile API
- 2018-06-13
- 2018-06-13
- `1301-1 <https://docs.google.com/document/d/1G7JjyTuJlZHieuAflGFWmdKyNViGGLRTWON7AMl0wrM/edit#>`_
- `@turt2live`_
- None
-
* - `MSC1309 <https://github.com/matrix-org/matrix-doc/issues/1309>`_
- Proposal for an application service management API
- 2018-06-14
- 2018-06-15
- `1309-1 <https://docs.google.com/document/d/1Y6bWdejrOiwL5UjnJ5VnOKoK6OfK6kX-pYbWT7f5czA/edit>`_
- `@turt2live`_
- None
-
* - `MSC1308 <https://github.com/matrix-org/matrix-doc/issues/1308>`_
- Proposal for speeding up review of simple spec changes
- 2018-06-14
- 2018-06-24
-
- `@ara4n`_
- None
-
* - `MSC1306 <https://github.com/matrix-org/matrix-doc/issues/1306>`_
- Proposal to filter out traffic to Appservices based on filters
- 2018-06-14
- 2018-06-14
- `1306-1 <https://docs.google.com/document/d/1YhjKWTjIijdM40_4xePtU6LliDJT068IE0i09Yl1w6g/edit?usp=sharing>`_
- `@Half-Shot`_
- None
-
proposal-in-review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_
- A way for HSes to remove bindings from ISes (aka unbind)
- 2018-05-09
- 2018-06-05
- `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_
- `@dbkr`_
- None
-
proposal-passed-review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_
- Support for discovering API endpoints via .well-known URIs (SPEC-121)
- 2015-03-08
- 2018-07-01
- `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_
- `@maxidor`_, `others`_
- `@uhoreg`_
-
* - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_
- State Reset mitigation proposal
- 2018-02-20
- 2018-05-15
- `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_
- `@richvdh`_
- None
-
* - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_
- Mitigating abuse of the event depth parameter over federation
- 2018-04-30
- 2018-05-15
- `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_
- `@ara4n`_
- None
-
* - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_
- Media limits API
- 2018-05-04
- 2018-06-21
- `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_
- `@Half-Shot`_
- None
- `PR#1189`_
* - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_
- Matrix Widget API v2
- 2018-05-13
- 2018-05-15
- `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_
- `@rxl881`_
- None
-
spec-pr-missing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_
- Configuration of E2E encryption in a room
- 2016-06-16
- 2018-05-31
- `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_
- `@richvdh`_
- None
-
* - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_
- Device Management API
- 2016-07-14
- 2018-05-15
- `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_
- `@richvdh`_
- None
-
* - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_
- 3rd Party Entity lookup API
- 2016-07-21
- 2018-07-02
- `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_
- `@leonerd`_
- None
-
* - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_
- Encrypted attachment format
- 2016-10-26
- 2018-05-15
- `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_
- `@NegativeMjark`_
- None
-
* - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_
- Reporting inappropriate content in Matrix
- 2016-11-21
- 2018-05-31
- `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_
- `@ara4n`_
- None
-
* - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_
- Megolm session export format
- 2017-01-03
- 2018-05-15
- `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_
- `@richvdh`_
- None
-
* - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_
- Device List Update Stream
- 2017-01-18
- 2018-05-15
- `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_
- `@richvdh`_
- None
-
* - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_
- Need to spec msisdn login API
- 2017-03-08
- 2018-05-15
- `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_
- `@dbkr`_
- None
-
* - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_
- spec m.login.msisdn UI auth type
- 2017-03-24
- 2018-05-15
- `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_
- `@dbkr`_
- None
-
* - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_
- Add new Read Marker API to docs
- 2017-05-08
- 2018-05-15
-
- `@lukebarnard1`_
- None
-
* - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_
- Spec @mentions
- 2017-07-14
- 2018-05-15
- `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_
- `@lukebarnard1`_
- None
-
* - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_
- Related Groups (i.e. flair)
- 2017-10-03
- 2018-05-15
- `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_
- `@lukebarnard1`_
- None
-
* - `MSC1033 <https://github.com/matrix-org/matrix-doc/issues/1033>`_
- Doc @room notifications
- 2017-10-23
- 2018-05-31
-
- `@dbkr`_
- None
-
* - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_
- Document key-share requests
- 2018-04-30
- 2018-05-31
- `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_
- `@richvdh`_
- None
-
* - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_
- Temporary mitigation for depth parameter abuse
- 2018-05-01
- 2018-05-15
- `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_
- `@ara4n`_
- None
-
* - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_
- Rich Replies format
- 2018-05-12
- 2018-05-18
- `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_
- `@t3chguy`_
- None
-
merged
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_
- Ignoring Users
- 2016-05-03
- 2018-05-18
- `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_
- `@erikjohnston`_
- None
- `PR#1142`_
* - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_
- Notifications API
- 2016-05-23
- 2018-06-25
- `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_
- `@dbkr`_
- None
-
* - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_
- Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition
- 2016-09-29
- 2018-06-25
- `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_
- `@richvdh`_
- None
-
* - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_
- Proposal for multi-device deletion API
- 2016-10-12
- 2018-06-25
- `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_
- `@richvdh`_
- None
- `PR#1239`_
* - `MSC953 <https://github.com/matrix-org/matrix-doc/issues/953>`_
- Add /user_directory/search API
- 2017-05-31
- 2018-05-10
- `953-1 <https://docs.google.com/document/d/1Xc9lAM-FiIC66Z5pnaI4D5zqAqcFcZ5uHr3bYT-DWVk/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_
- A proposal for organising spec proposals
- 2018-05-10
- 2018-06-25
- `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_
- `@ara4n`_
- None
- `PR#1240`_
abandoned
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_
- Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206)
- 2015-07-25
- 2018-05-15
- `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_
- `@Kegsay`_
- None
-
* - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_
- Profile Personae
- 2016-07-15
- 2018-05-15
- `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_
- `@erikjohnston`_
- None
-
* - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_
- Server Side Profile API
- 2016-11-01
- 2018-05-15
- `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_
- `@erikjohnston`_
- None
-
* - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_
- Set defaults for m.federate
- 2017-04-10
- 2018-05-18
- `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_
- `@psaavedra`_
- None
-
obsolete
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
:widths: auto
:stub-columns: 1
* - MSC
- Proposal Title
- Creation Date
- Update Date
- Documentation
- Author
- Shepherd
- PRs
* - `MSC1223 <https://github.com/matrix-org/matrix-doc/issues/1223>`_
- Replies event format
- 2018-02-01
- 2018-05-15
- `1223-1 <https://docs.google.com/document/d/1KLdKtuZBbFoWDSfN4KM3p7LnIvFBQfSORICBo8zRHaE/edit>`_
- `@t3chguy`_
- None
-
* - `MSC1224 <https://github.com/matrix-org/matrix-doc/issues/1224>`_
- Replies - next steps
- 2018-02-03
- 2018-05-15
- `1224-1 <https://docs.google.com/document/d/1FZsvodn2C0iKJDtn-8y8IPwOa96ixoJejK3gMLVOXHM/edit>`_
- `@t3chguy`_
- None
-
* - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_
- Proposal for Calendar Events
- 2018-02-06
- 2018-05-15
- `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_
- `@Half-Shot`_
- None
-
* - `MSC1220 <https://github.com/matrix-org/matrix-doc/issues/1220>`_
- Rich quoting proposal
- 2018-05-10
- 2018-05-15
- `1220-1 <https://docs.google.com/document/d/146zJr4h6odczMeGUH99dxDZk0i_iVtDiVMy510G25jI/edit>`_
- `@t3chguy`_
- None
-
.. _@rxl881: https://github.com/rxl881
.. _@turt2live: https://github.com/turt2live
.. _@erikjohnston: https://github.com/erikjohnston
.. _@anoadragon453: https://github.com/anoadragon453
.. _@t3chguy: https://github.com/t3chguy
.. _@Kegsay: https://github.com/Kegsay
.. _@KitsuneRal: https://github.com/KitsuneRal
.. _@leonerd: https://github.com/leonerd
.. _@psaavedra: https://github.com/psaavedra
.. _@ara4n: https://github.com/ara4n
.. _@krombel: https://github.com/krombel
.. _@maxidor: https://github.com/maxidor
.. _@uhoreg: https://github.com/uhoreg
.. _@pik: https://github.com/pik
.. _@neilisfragile: https://github.com/neilisfragile
.. _@babolivier: https://github.com/babolivier
.. _@lukebarnard1: https://github.com/lukebarnard1
.. _others: https://github.com/thers
.. _@Half-Shot: https://github.com/Half-Shot
.. _@aviraldg: https://github.com/aviraldg
.. _@oivoodoo: https://github.com/oivoodoo
.. _@richvdh: https://github.com/richvdh
.. _@NegativeMjark: https://github.com/NegativeMjark
.. _@lampholder: https://github.com/lampholder
.. _@dbkr: https://github.com/dbkr
.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189
.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310
.. _PR#1142: https://github.com/matrix-org/matrix-doc/pull/1142
.. _PR#1239: https://github.com/matrix-org/matrix-doc/pull/1239
.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240
.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919

@ -12,7 +12,7 @@ targets:
- { 1: modules.rst }
- { 2: feature_profiles.rst }
- { 2: "group:modules" } # reference a group of files
- { 1: thirdparty_lookup.rst }
- { 1: third_party_lookup.rst }
version_label: "%CLIENT_RELEASE_LABEL%"
application_service:
files:

@ -0,0 +1,26 @@
Application Services
====================
An application service is a separate program that interacts with a homeserver
and provides various bits of functionality that would otherwise not make
sense to include directly in the homeserver. This ranges from bots, which can
often be interacted with, to bridges, which allow Matrix users to communicate
with users on third party networks. The following describes endpoints that a
Matrix client can use to interact with an application service through the
facilitation of the homeserver.
Third Party Lookups
------------------
Application services can provide access to third party networks via bridging.
This allows Matrix users to communicate with users on other communication
platforms, with messages ferried back and forth by the application service. A
single application service may bridge multiple third party networks, and many
individual locations within those networks. A single third party network
location may be bridged to multiple Matrix rooms.
In order for a client to join one of these bridged rooms, or communicate
directly with a user on a third party network, the following endpoints can be
used.
{{third_party_lookup_cs_http_api}}
Loading…
Cancel
Save