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
|
This API is called by the homeserver when it wants to present clients
|
||||||
with specific information about the various third party networks that
|
with specific information about the various third party networks that
|
||||||
an application service supports.
|
an application service supports.
|
||||||
operationId: queryMetadata
|
operationId: getProtocolMetadata
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
name: protocol
|
name: protocol
|
||||||
|
@ -270,7 +270,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: irc
|
x-example: irc
|
||||||
- in: query
|
- in: query
|
||||||
name: field1, field2...
|
name: fields...
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
One or more custom fields that are passed to the application
|
One or more custom fields that are passed to the application
|
||||||
|
@ -321,7 +321,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: irc
|
x-example: irc
|
||||||
- in: query
|
- in: query
|
||||||
name: field1, field2...
|
name: fields...
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
description: |-
|
||||||
One or more custom fields that are passed to the application
|
One or more custom fields that are passed to the application
|
||||||
|
@ -446,4 +446,4 @@ paths:
|
||||||
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
|
"errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND"
|
||||||
}
|
}
|
||||||
schema:
|
schema:
|
||||||
$ref: ../client-server/definitions/errors/error.yaml
|
$ref: ../client-server/definitions/errors/error.yaml
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
type: object
|
type: object
|
||||||
description: Dictionary of supported third party protocols.
|
description: Dictionary of supported third party protocols.
|
||||||
|
additionalProperties:
|
||||||
|
$ref: protocol.yaml
|
||||||
example: {
|
example: {
|
||||||
"irc": {
|
"irc": {
|
||||||
"user_fields": ["network", "nickname"],
|
"user_fields": ["network", "nickname"],
|
||||||
|
|
|
@ -27,5 +27,5 @@ properties:
|
||||||
type: object
|
type: object
|
||||||
example:
|
example:
|
||||||
"user": "jim"
|
"user": "jim"
|
||||||
title: Location
|
title: User
|
||||||
type: object
|
type: object
|
|
@ -34,7 +34,9 @@ paths:
|
||||||
Fetches the overall metadata about protocols supported by the
|
Fetches the overall metadata about protocols supported by the
|
||||||
homeserver. Includes both the available protocols and all fields
|
homeserver. Includes both the available protocols and all fields
|
||||||
required for queries against each protocol.
|
required for queries against each protocol.
|
||||||
operationId: queryMetadata
|
operationId: getProtocols
|
||||||
|
security:
|
||||||
|
- accessToken: []
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: The protocols supported by the homeserver.
|
description: The protocols supported by the homeserver.
|
||||||
|
@ -45,7 +47,9 @@ paths:
|
||||||
summary: Retrieve metadata about a specific protocol that the homeserver supports.
|
summary: Retrieve metadata about a specific protocol that the homeserver supports.
|
||||||
description: |-
|
description: |-
|
||||||
Fetches the metadata from the homeserver about a particular third party protocol.
|
Fetches the metadata from the homeserver about a particular third party protocol.
|
||||||
operationId: queryMetadata
|
operationId: getProtocolMetadata
|
||||||
|
security:
|
||||||
|
- accessToken: []
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
name: protocol
|
name: protocol
|
||||||
|
@ -80,6 +84,8 @@ paths:
|
||||||
identifier. It should attempt to canonicalise the identifier as much
|
identifier. It should attempt to canonicalise the identifier as much
|
||||||
as reasonably possible given the network type.
|
as reasonably possible given the network type.
|
||||||
operationId: queryLocationByProtocol
|
operationId: queryLocationByProtocol
|
||||||
|
security:
|
||||||
|
- accessToken: []
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
name: protocol
|
name: protocol
|
||||||
|
@ -113,6 +119,8 @@ paths:
|
||||||
Retrieve a Matrix User ID linked to a user on the third party service, given
|
Retrieve a Matrix User ID linked to a user on the third party service, given
|
||||||
a set of user parameters.
|
a set of user parameters.
|
||||||
operationId: queryUserByProtocol
|
operationId: queryUserByProtocol
|
||||||
|
security:
|
||||||
|
- accessToken: []
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
name: protocol
|
name: protocol
|
||||||
|
@ -122,7 +130,7 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
x-example: irc
|
x-example: irc
|
||||||
- in: query
|
- in: query
|
||||||
name: field1, field2...
|
name: fields...
|
||||||
type: string
|
type: string
|
||||||
description: |-
|
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 AS to help identify the user.
|
||||||
|
@ -146,12 +154,15 @@ paths:
|
||||||
Retreive an array of third party network locations from a Matrix room
|
Retreive an array of third party network locations from a Matrix room
|
||||||
alias.
|
alias.
|
||||||
operationId: queryLocationByAlias
|
operationId: queryLocationByAlias
|
||||||
|
security:
|
||||||
|
- accessToken: []
|
||||||
parameters:
|
parameters:
|
||||||
- in: query
|
- in: query
|
||||||
name: alias
|
name: alias
|
||||||
type: string
|
type: string
|
||||||
description: The Matrix room alias to look up.
|
description: The Matrix room alias to look up.
|
||||||
required: true
|
required: true
|
||||||
|
x-example: "#matrix:matrix.org"
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -172,12 +183,15 @@ paths:
|
||||||
description: |-
|
description: |-
|
||||||
Retreive an array of third party users from a Matrix User ID.
|
Retreive an array of third party users from a Matrix User ID.
|
||||||
operationId: queryUserByID
|
operationId: queryUserByID
|
||||||
|
security:
|
||||||
|
- accessToken: []
|
||||||
parameters:
|
parameters:
|
||||||
- in: query
|
- in: query
|
||||||
name: userid
|
name: userid
|
||||||
type: string
|
type: string
|
||||||
description: The Matrix User ID to look up.
|
description: The Matrix User ID to look up.
|
||||||
required: true
|
required: true
|
||||||
|
x-example: "@bob:matrix.org"
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -191,4 +205,4 @@ paths:
|
||||||
"errcode": "M_NOT_FOUND"
|
"errcode": "M_NOT_FOUND"
|
||||||
}
|
}
|
||||||
schema:
|
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