mirror of
https://github.com/matrix-org/matrix-spec
synced 2025-12-24 09:58:38 +01:00
As a side effect, I got rid of all of the horrible symlinks and just put in all of the proper relative paths. Because the horrible symlinks were horrible.
128 lines
3.7 KiB
YAML
128 lines
3.7 KiB
YAML
swagger: '2.0'
|
|
info:
|
|
title: "Matrix Client-Server v1 Directory API"
|
|
version: "1.0.0"
|
|
host: localhost:8008
|
|
schemes:
|
|
- https
|
|
- http
|
|
basePath: /_matrix/client/api/v1/directory
|
|
consumes:
|
|
- application/json
|
|
produces:
|
|
- application/json
|
|
securityDefinitions:
|
|
accessToken:
|
|
type: apiKey
|
|
description: The user_id or application service access_token
|
|
name: access_token
|
|
in: query
|
|
paths:
|
|
"/room/{roomAlias}":
|
|
put:
|
|
summary: Create a new mapping from room alias to room ID.
|
|
security:
|
|
- accessToken: []
|
|
parameters:
|
|
- in: path
|
|
type: string
|
|
name: roomAlias
|
|
description: The room alias to set.
|
|
required: true
|
|
x-example: "#monkeys:matrix.org"
|
|
- in: body
|
|
name: roomInfo
|
|
description: Information about this room alias.
|
|
required: true
|
|
schema:
|
|
type: object
|
|
properties:
|
|
room_id:
|
|
type: string
|
|
description: The room ID to set.
|
|
example: |-
|
|
{
|
|
"room_id": "!abnjk1jdasj98:capuchins.com"
|
|
}
|
|
responses:
|
|
200:
|
|
description: The mapping was created.
|
|
examples:
|
|
application/json: |-
|
|
{}
|
|
schema:
|
|
type: object
|
|
get:
|
|
summary: Get the room ID corresponding to this room alias.
|
|
parameters:
|
|
- in: path
|
|
type: string
|
|
name: roomAlias
|
|
description: The room alias.
|
|
required: true
|
|
x-example: "#monkeys:matrix.org"
|
|
responses:
|
|
200:
|
|
description: The room ID and other information for this alias.
|
|
schema:
|
|
type: object
|
|
properties:
|
|
room_id:
|
|
type: string
|
|
description: The room ID for this room alias.
|
|
servers:
|
|
type: array
|
|
description: A list of servers that are aware of this room ID.
|
|
items:
|
|
type: string
|
|
description: A server which is aware of this room ID.
|
|
examples:
|
|
application/json: |-
|
|
{
|
|
"room_id": "!abnjk1jdasj98:capuchins.com",
|
|
"servers": [
|
|
"capuchins.com",
|
|
"matrix.org",
|
|
"another.com"
|
|
]
|
|
}
|
|
404:
|
|
description: There is no mapped room ID for this room alias.
|
|
examples:
|
|
application/json: |-
|
|
{
|
|
"errcode": "M_NOT_FOUND",
|
|
"error": "Room ID !abnjk1jdasj98:capuchins.com not found."
|
|
}
|
|
409:
|
|
description: A room alias with that name already exists.
|
|
examples:
|
|
application/json: |-
|
|
{
|
|
"errcode": "M_UNKNOWN",
|
|
"error": "Room alias #monkeys:matrix.org already exists."
|
|
}
|
|
delete:
|
|
summary: Remove a mapping of room alias to room ID.
|
|
description: |-
|
|
Remove a mapping of room alias to room ID.
|
|
|
|
Servers may choose to implement additional access control checks here, for instance that room aliases can only be deleted by their creator or a server administrator.
|
|
security:
|
|
- accessToken: []
|
|
parameters:
|
|
- in: path
|
|
type: string
|
|
name: roomAlias
|
|
description: The room alias to remove.
|
|
required: true
|
|
x-example: "#monkeys:matrix.org"
|
|
responses:
|
|
200:
|
|
description: The mapping was deleted.
|
|
examples:
|
|
application/json: |-
|
|
{}
|
|
schema:
|
|
type: object
|