swagger: '2.0' info: title: "Matrix Client-Server Directory API" version: "1.0.0" host: localhost:8008 schemes: - https - http basePath: /_matrix/client/%CLIENT_MAJOR_VERSION%/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 tags: - Room directory 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." } tags: - Room directory 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 tags: - Room directory