Merge pull request #1414 from matrix-org/anoa/third_party_cleanup
Clarification on third party fields
This commit is contained in:
commit
54a88eebf0
5 changed files with 48 additions and 9 deletions
|
@ -214,7 +214,7 @@ paths:
|
|||
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
|
||||
operationId: getProtocolMetadata
|
||||
parameters:
|
||||
- in: path
|
||||
name: protocol
|
||||
|
@ -270,7 +270,7 @@ paths:
|
|||
required: true
|
||||
x-example: irc
|
||||
- in: query
|
||||
name: field1, field2...
|
||||
name: fields...
|
||||
type: string
|
||||
description: |-
|
||||
One or more custom fields that are passed to the application
|
||||
|
@ -321,7 +321,7 @@ paths:
|
|||
required: true
|
||||
x-example: irc
|
||||
- in: query
|
||||
name: field1, field2...
|
||||
name: fields...
|
||||
type: string
|
||||
description: |-
|
||||
One or more custom fields that are passed to the application
|
||||
|
@ -446,4 +446,4 @@ paths:
|
|||
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
|
||||
}
|
||||
schema:
|
||||
$ref: ../client-server/definitions/errors/error.yaml
|
||||
$ref: ../client-server/definitions/errors/error.yaml
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
# limitations under the License.
|
||||
type: object
|
||||
description: Dictionary of supported third party protocols.
|
||||
additionalProperties:
|
||||
$ref: protocol.yaml
|
||||
example: {
|
||||
"irc": {
|
||||
"user_fields": ["network", "nickname"],
|
||||
|
|
|
@ -27,5 +27,5 @@ properties:
|
|||
type: object
|
||||
example:
|
||||
"user": "jim"
|
||||
title: Location
|
||||
title: User
|
||||
type: object
|
|
@ -34,7 +34,9 @@ paths:
|
|||
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
|
||||
operationId: getProtocols
|
||||
security:
|
||||
- accessToken: []
|
||||
responses:
|
||||
200:
|
||||
description: The protocols supported by the homeserver.
|
||||
|
@ -45,7 +47,9 @@ paths:
|
|||
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
|
||||
operationId: getProtocolMetadata
|
||||
security:
|
||||
- accessToken: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: protocol
|
||||
|
@ -80,6 +84,8 @@ paths:
|
|||
identifier. It should attempt to canonicalise the identifier as much
|
||||
as reasonably possible given the network type.
|
||||
operationId: queryLocationByProtocol
|
||||
security:
|
||||
- accessToken: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: protocol
|
||||
|
@ -113,6 +119,8 @@ paths:
|
|||
Retrieve a Matrix User ID linked to a user on the third party service, given
|
||||
a set of user parameters.
|
||||
operationId: queryUserByProtocol
|
||||
security:
|
||||
- accessToken: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: protocol
|
||||
|
@ -122,7 +130,7 @@ paths:
|
|||
required: true
|
||||
x-example: irc
|
||||
- in: query
|
||||
name: field1, field2...
|
||||
name: fields...
|
||||
type: string
|
||||
description: |-
|
||||
One or more custom fields that are passed to the AS to help identify the user.
|
||||
|
@ -146,12 +154,15 @@ paths:
|
|||
Retreive an array of third party network locations from a Matrix room
|
||||
alias.
|
||||
operationId: queryLocationByAlias
|
||||
security:
|
||||
- accessToken: []
|
||||
parameters:
|
||||
- in: query
|
||||
name: alias
|
||||
type: string
|
||||
description: The Matrix room alias to look up.
|
||||
required: true
|
||||
x-example: "#matrix:matrix.org"
|
||||
responses:
|
||||
200:
|
||||
description: |-
|
||||
|
@ -172,12 +183,15 @@ paths:
|
|||
description: |-
|
||||
Retreive an array of third party users from a Matrix User ID.
|
||||
operationId: queryUserByID
|
||||
security:
|
||||
- accessToken: []
|
||||
parameters:
|
||||
- in: query
|
||||
name: userid
|
||||
type: string
|
||||
description: The Matrix User ID to look up.
|
||||
required: true
|
||||
x-example: "@bob:matrix.org"
|
||||
responses:
|
||||
200:
|
||||
description: |-
|
||||
|
@ -191,4 +205,4 @@ paths:
|
|||
"errcode": "M_NOT_FOUND"
|
||||
}
|
||||
schema:
|
||||
$ref: definitions/errors/error.yaml
|
||||
$ref: definitions/errors/error.yaml
|
||||
|
|
23
api/openapi_extensions.md
Normal file
23
api/openapi_extensions.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
# OpenAPI Extensions
|
||||
|
||||
For some functionality that is not directly provided by the OpenAPI v2
|
||||
specification, some extensions have been added that are to be consistent
|
||||
across the specification. The defined extensions are listed below. Extensions
|
||||
should not break parsers, however if extra functionality is required, aware
|
||||
parsers should be able to take advantage of the added syntax.
|
||||
|
||||
## Extensible Query Parameters
|
||||
|
||||
<!-- TODO: Remove and change instances to 'explode' after OpenAPI/Swagger v3 update -->
|
||||
|
||||
If a unknown amount of query parameters can be added to a request, the `name`
|
||||
must be `fields...`, with the trailing ellipses representing the possibility
|
||||
of more fields.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
- in: query
|
||||
name: fields...
|
||||
type: string
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue