{ "apiVersion": "1.0.0", "apis": [ { "operations": [ { "method": "GET", "nickname": "get_login_info", "notes": "All login stages MUST be mentioned if there is >1 login type.", "summary": "Get the login mechanism to use when logging in.", "type": "LoginFlows" }, { "method": "POST", "nickname": "submit_login", "notes": "If this is part of a multi-stage login, there MUST be a 'session' key.", "parameters": [ { "description": "A login submission", "name": "body", "paramType": "body", "required": true, "type": "LoginSubmission" } ], "responseMessages": [ { "code": 400, "message": "Bad login type" }, { "code": 400, "message": "Missing JSON keys" } ], "summary": "Submit a login action.", "type": "LoginResult" } ], "path": "/login" } ], "basePath": "http://localhost:8008/_matrix/client/api/v1", "consumes": [ "application/json" ], "models": { "LoginFlows": { "id": "LoginFlows", "properties": { "flows": { "description": "A list of valid login flows.", "type": "array", "items": { "$ref": "LoginInfo" } } } }, "LoginInfo": { "id": "LoginInfo", "properties": { "stages": { "description": "Multi-stage login only: An array of all the login types required to login.", "items": { "$ref": "string" }, "type": "array" }, "type": { "description": "The login type that must be used when logging in.", "type": "string" } } }, "LoginResult": { "id": "LoginResult", "properties": { "access_token": { "description": "The access token for this user's login if this is the final stage of the login process.", "type": "string" }, "user_id": { "description": "The user's fully-qualified user ID.", "type": "string" }, "next": { "description": "Multi-stage login only: The next login type to submit.", "type": "string" }, "session": { "description": "Multi-stage login only: The session token to send when submitting the next login type.", "type": "string" } } }, "LoginSubmission": { "id": "LoginSubmission", "properties": { "type": { "description": "The type of login being submitted.", "type": "string" }, "session": { "description": "Multi-stage login only: The session token from an earlier login stage.", "type": "string" }, "_login_type_defined_keys_": { "description": "Keys as defined by the specified login type, e.g. \"user\", \"password\"" } } } }, "produces": [ "application/json" ], "resourcePath": "/login", "swaggerVersion": "1.2" }