You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec/api/identity/lookup.yaml

143 lines
5.1 KiB
YAML

# Copyright 2016 OpenMarket Ltd
# Copyright 2017 Kamax.io
# Copyright 2017 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 Identity Service Lookup API"
version: "1.0.0"
host: localhost:8090
schemes:
- https
- http
basePath: /_matrix/identity/api/%IDENTITY_MAJOR_VERSION%
produces:
- application/json
paths:
"/lookup":
get:
summary: Look up the Matrix user ID for a 3pid.
description: Look up the Matrix user ID for a 3pid.
operationId: lookupUser
parameters:
- in: query
type: string
name: medium
required: true
description: The medium type of the 3pid. See the `3PID Types`_ Appendix.
x-example: "email"
- in: query
type: string
name: address
required: true
description: The address of the 3pid being looked up. See the `3PID Types`_ Appendix.
x-example: "louise@bobs.burgers"
responses:
200:
description:
The association for that 3pid, or the empty object if no association is known.
examples:
application/json: {
"address": "louise@bobs.burgers",
"medium": "email",
"mxid": "@ears:matrix.org",
"not_before": 1428825849161,
"not_after": 4582425849161,
"ts": 1428825849161,
"signatures": {
"matrix.org": {
"ed25519:0": "ENiU2YORYUJgE6WBMitU0mppbQjidDLanAusj8XS2nVRHPu+0t42OKA/r6zV6i2MzUbNQ3c3MiLScJuSsOiVDQ"
}
}
}
schema:
type: object
properties:
address:
type: string
description: The 3pid address of the user being looked up.
medium:
type: string
description: The literal string "email".
mxid:
type: string
description: The Matrix user ID associated with the 3pid.
not_before:
type: integer
description: A unix timestamp before which the association is not known to be valid.
not_after:
type: integer
description: A unix timestamp after which the association is not known to be valid.
ts:
type: integer
description: The unix timestamp at which the association was verified.
signatures:
type: object
description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services.
"/bulk_lookup":
post:
summary: Lookup Matrix user IDs for a list of 3pids.
description: Lookup Matrix user IDs for a list of 3pids.
operationId: lookupUsers
parameters:
- in: body
name: body
schema:
type: object
example: {
"threepids":
[
["email","user@example.org"],
["msisdn", "123456789"],
["email","user2@example.org"]
]
}
properties:
threepids:
type: array
items:
type: array
title: 3PID mappings
items:
type: string
title: 3PID medium or address
description: an array of arrays containing the `3PID Types`_ with the ``medium`` in first position and the ``address`` in second position.
required:
- "threepids"
responses:
200:
description: A list of known 3PID mappings for the supplied 3PIDs.
examples:
application/json: {
"threepids": [
["email","user@example.org", "@bla:example.org"],
["msisdn", "123456789", "@blah2:example.com"]
]
}
schema:
type: object
properties:
threepids:
type: array
items:
type: array
title: 3PID mappings
items:
type: string
title: 3PID medium or address or the Matrix ID
description: an array of array containing the `3PID Types`_ with the ``medium`` in first position, the ``address`` in second position and Matrix ID in third position.
required:
- "threepids"