{ "swagger": "2.0", "info": { "description": "This is a sample server for History API.", "title": "History API", "termsOfService": "http://swagger.io/terms/", "contact": { "name": "API Support", "url": "http://www.swagger.io/support", "email": "support@swagger.io" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "1.0" }, "host": "localhost:3344", "basePath": "/", "paths": { "/auth/refresh": { "post": { "security": [ { "BearerAuth": [] } ], "description": "Get a new access token using the user's current session/refresh token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Refresh access token", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } } } } }, "/auth/signin": { "post": { "description": "Authenticate user and return token data", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Sign in an existing user", "parameters": [ { "description": "Sign In request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/history-api_internal_dtos_request.SignInDto" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } } } } }, "/auth/signup": { "post": { "description": "Create a new user account", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Sign up a new user", "parameters": [ { "description": "Sign Up request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/history-api_internal_dtos_request.SignUpDto" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } } } } }, "/tiles/metadata": { "get": { "description": "Retrieve map metadata", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tile" ], "summary": "Get tile metadata", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } } } } }, "/tiles/{z}/{x}/{y}": { "get": { "description": "Fetch vector or raster map tile data by Z, X, Y coordinates", "produces": [ "application/octet-stream" ], "tags": [ "Tile" ], "summary": "Get a map tile", "parameters": [ { "type": "integer", "description": "Zoom level (0-22)", "name": "z", "in": "path", "required": true }, { "type": "integer", "description": "X coordinate", "name": "x", "in": "path", "required": true }, { "type": "integer", "description": "Y coordinate", "name": "y", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "file" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse" } } } } } }, "definitions": { "history-api_internal_dtos_request.SignInDto": { "type": "object", "required": [ "email", "password" ], "properties": { "email": { "type": "string", "maxLength": 255, "minLength": 5 }, "password": { "type": "string", "maxLength": 64, "minLength": 8 } } }, "history-api_internal_dtos_request.SignUpDto": { "type": "object", "required": [ "display_name", "email", "password" ], "properties": { "display_name": { "type": "string", "maxLength": 50, "minLength": 2 }, "email": { "type": "string", "maxLength": 255, "minLength": 5 }, "password": { "type": "string", "maxLength": 64, "minLength": 8 } } }, "history-api_internal_dtos_response.CommonResponse": { "type": "object", "properties": { "data": {}, "message": { "type": "string" }, "status": { "type": "boolean" } } } }, "securityDefinitions": { "BearerAuth": { "description": "Type \"Bearer \" followed by a space and JWT token.", "type": "apiKey", "name": "Authorization", "in": "header" } } }