{ "swagger": "2.0", "info": { "description": "This is harakat backend server.", "title": "Harakat Rest-API", "termsOfService": "TODO", "contact": { "name": "TODO", "url": "TODO", "email": "TODO" }, "license": { "name": "TODO", "url": "TODO" }, "version": "0.1" }, "host": "localhost:8080", "basePath": "/api/v0", "paths": { "/user/login": { "post": { "description": "Login user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Login user", "parameters": [ { "description": "user data", "name": "user", "in": "body", "required": true, "schema": { "$ref": "#/definitions/controllers.LoginRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/controllers.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httputil.HTTPError" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/httputil.HTTPError" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httputil.HTTPError" } } } } }, "/user/register/{token}": { "post": { "description": "register user with invite token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "Register user with invite token", "parameters": [ { "type": "string", "description": "invite token", "name": "token", "in": "path" }, { "description": "user data", "name": "user", "in": "body", "required": true, "schema": { "$ref": "#/definitions/controllers.RegisterRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/controllers.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httputil.HTTPError" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/httputil.HTTPError" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httputil.HTTPError" } } } } }, "/user/status": { "get": { "description": "Get user status of current session", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "User Status", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/controllers.EmptyResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/httputil.HTTPError" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/httputil.HTTPError" } } } } } }, "definitions": { "controllers.EmptyResponse": { "type": "object" }, "controllers.LoginRequest": { "type": "object", "required": [ "email", "password" ], "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "controllers.RegisterRequest": { "type": "object", "required": [ "email", "name", "password" ], "properties": { "email": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" } } }, "httputil.HTTPError": { "type": "object", "properties": { "code": { "type": "integer", "example": 400 }, "message": { "type": "string", "example": "status bad request" } } } }, "securityDefinitions": { "BasicAuth": { "type": "basic" } }, "externalDocs": { "description": "OpenAPI", "url": "https://swagger.io/resources/open-api/" } }