// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "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": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/api/proxy/{path}": {
            "get": {
                "description": "Transparent proxy for Goong APIs to forward body, params, headers and inject API key automatically.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json",
                    "application/x-protobuf"
                ],
                "tags": [
                    "Goong"
                ],
                "summary": "Proxy Goong APIs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Target URL to proxy, e.g., 'tiles.goong.io/assets/goong_map_web.json'",
                        "name": "path",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Resource content",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/auth/forgot-password": {
            "post": {
                "description": "Initiate password recovery process for a user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Handle forgotten password",
                "parameters": [
                    {
                        "description": "Forgot Password request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.ForgotPasswordDto"
                        }
                    }
                ],
                "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/google/callback": {
            "get": {
                "description": "Receives the auth code from Google, exchanges it for tokens, creates/logs in the user, and redirects back to the frontend with application tokens.",
                "tags": [
                    "Auth"
                ],
                "summary": "Handle Google OAuth2 callback",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Security state string",
                        "name": "state",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Authorization code from Google",
                        "name": "code",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "302": {
                        "description": "Redirect to Frontend with JWTs",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Invalid state",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/auth/google/login": {
            "get": {
                "description": "Generates a state string, sets it in a cookie, and redirects the user to Google's consent page.",
                "tags": [
                    "Auth"
                ],
                "summary": "Initiate Google OAuth2 login",
                "responses": {
                    "302": {
                        "description": "Redirect to Google",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/auth/logout": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Logout current user and revoke tokens",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Logout user",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/auth/refresh": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Generate a new access token using a valid refresh token from context",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Refresh session tokens",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized or expired refresh token",
                        "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 credentials and return access/refresh tokens",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Sign in a user",
                "parameters": [
                    {
                        "description": "Sign In credentials",
                        "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"
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "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 in the system",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Register a new user",
                "parameters": [
                    {
                        "description": "Sign Up details",
                        "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"
                        }
                    }
                }
            }
        },
        "/auth/token/create": {
            "post": {
                "description": "Request a new token for specific actions like email confirmation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Generate a new verification token",
                "parameters": [
                    {
                        "description": "Token creation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.CreateTokenDto"
                        }
                    }
                ],
                "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/token/verify": {
            "post": {
                "description": "Validate an OTP or email verification token",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Verify a security token",
                "parameters": [
                    {
                        "description": "Token verification data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.VerifyTokenDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/battle-replays/geometries": {
            "get": {
                "description": "Get battle replays grouped by geometry IDs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BattleReplays"
                ],
                "summary": "Get battle replays by geometry IDs",
                "parameters": [
                    {
                        "minItems": 1,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "geometry_ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/battle-replays/geometry/{geometryId}": {
            "get": {
                "description": "Get all battle replays associated with a specific geometry",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BattleReplays"
                ],
                "summary": "Get battle replays by geometry ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Geometry ID",
                        "name": "geometryId",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/battle-replays/{id}": {
            "get": {
                "description": "Get detailed information about a specific battle replay",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "BattleReplays"
                ],
                "summary": "Get battle replay by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Battle Replay ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/chatbot/chat": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Ask a history question based on project context or global knowledge using RAG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Chatbot"
                ],
                "summary": "Ask the AI chatbot",
                "parameters": [
                    {
                        "description": "Chatbot query",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.ChatbotDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response with AI answer",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/chatbot/history": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Get chatbot history for the current user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Chatbot"
                ],
                "summary": "Get chatbot history",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Cursor ID for pagination",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Limit number of items returned, default 10",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/history-api_internal_dtos_response.GetChatbotHistoryResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/entities": {
            "get": {
                "description": "Search entities with cursor pagination",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Entities"
                ],
                "summary": "Search entities",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "maxLength": 255,
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "project_id",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/entities/slug/exists": {
            "get": {
                "description": "Check if a given slug already exists for entities",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Entities"
                ],
                "summary": "Check entity slug existence",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Slug to check",
                        "name": "slug",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/entities/slug/{slug}": {
            "get": {
                "description": "Get detailed information about a specific entity by its unique slug",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Entities"
                ],
                "summary": "Get entity by slug",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Entity Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/entities/{id}": {
            "get": {
                "description": "Get detailed information about a specific entity",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Entities"
                ],
                "summary": "Get entity by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Entity ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/geometries": {
            "get": {
                "description": "Search geometries with cursor pagination and spatial filtering",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Geometries"
                ],
                "summary": "Search geometries",
                "parameters": [
                    {
                        "type": "string",
                        "name": "entity_id",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "has_bound",
                        "in": "query"
                    },
                    {
                        "maximum": 90,
                        "minimum": -90,
                        "type": "number",
                        "name": "max_lat",
                        "in": "query",
                        "required": true
                    },
                    {
                        "maximum": 180,
                        "minimum": -180,
                        "type": "number",
                        "name": "max_lng",
                        "in": "query",
                        "required": true
                    },
                    {
                        "maximum": 90,
                        "minimum": -90,
                        "type": "number",
                        "name": "min_lat",
                        "in": "query",
                        "required": true
                    },
                    {
                        "maximum": 180,
                        "minimum": -180,
                        "type": "number",
                        "name": "min_lng",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "project_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "time_range",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/geometries/bound-with/{bound_with}": {
            "get": {
                "description": "Get a list of geometries that are bound to the specified geometry ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Geometries"
                ],
                "summary": "Get geometries by bound_with ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Bound-with Geometry ID",
                        "name": "bound_with",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/geometries/entity": {
            "get": {
                "description": "Search entities by name (cursor pagination) and return their linked geometries",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Geometries"
                ],
                "summary": "Search geometries by entity name",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "maxLength": 255,
                        "type": "string",
                        "name": "name",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/geometries/{id}": {
            "get": {
                "description": "Get detailed information about a specific geometry",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Geometries"
                ],
                "summary": "Get geometry by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Geometry ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/historian/application": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Get list of historian applications with filters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historian Application"
                ],
                "summary": "Search historian applications",
                "parameters": [
                    {
                        "type": "string",
                        "name": "created_from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "created_to",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "minimum": 1,
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "reviewed_by",
                        "in": "query"
                    },
                    {
                        "maxLength": 200,
                        "minLength": 2,
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "id",
                            "created_at",
                            "reviewed_at",
                            "status"
                        ],
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statuses",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "user_ids",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "verify_types",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Submit application to become historian",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historian Application"
                ],
                "summary": "Create historian application",
                "parameters": [
                    {
                        "description": "Application data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.CreateUserVerificationDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/historian/application/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Get historian application detail",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historian Application"
                ],
                "summary": "Get application by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Verification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Delete historian application",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historian Application"
                ],
                "summary": "Delete application",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Verification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/historian/application/{id}/status": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Approve or reject historian application",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historian Application"
                ],
                "summary": "Update application status",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Verification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Status update",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.UpdateVerificationStatusDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/map/proxy/{path}": {
            "get": {
                "description": "Transparent proxy for Goong APIs to forward body, params, headers and inject API key automatically.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json",
                    "application/x-protobuf"
                ],
                "tags": [
                    "Goong"
                ],
                "summary": "Proxy Goong APIs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Target URL to proxy, e.g., 'tiles.goong.io/assets/goong_map_web.json'",
                        "name": "path",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Resource content",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/media": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Search media with filters, pagination",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Search media",
                "parameters": [
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "minimum": 0,
                        "type": "integer",
                        "name": "max_size",
                        "in": "query"
                    },
                    {
                        "maxLength": 100,
                        "type": "string",
                        "name": "mime_type",
                        "in": "query"
                    },
                    {
                        "minimum": 0,
                        "type": "integer",
                        "name": "min_size",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "minimum": 1,
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "maxLength": 200,
                        "minLength": 2,
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "id",
                            "created_at",
                            "updated_at",
                            "size",
                            "original_name",
                            "storage_key",
                            "mime_type"
                        ],
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "user_ids",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.PaginatedResponse"
                        }
                    },
                    "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"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Delete multiple media files by IDs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Delete media",
                "parameters": [
                    {
                        "description": "Media IDs to delete",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.MediaBulkDeleteDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/media/presigned": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Generate a presigned URL for direct upload to storage",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Generate presigned URL",
                "parameters": [
                    {
                        "type": "string",
                        "name": "content_type",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "fileName",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "size",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/media/presigned/complete": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Confirm that upload via presigned URL is completed",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Confirm presigned upload",
                "parameters": [
                    {
                        "description": "Request body",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.PreSignedCompleteDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/media/upload": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Upload media file through server",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Upload media (server-side)",
                "parameters": [
                    {
                        "type": "file",
                        "description": "Upload file",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/media/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve a media file by its ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Get media by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Media ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Delete a media file by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Media"
                ],
                "summary": "Delete media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Media ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/projects": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Search and filter projects with pagination",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Search projects",
                "parameters": [
                    {
                        "type": "string",
                        "name": "created_from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "created_to",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "minimum": 1,
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "maxLength": 200,
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "created_at",
                            "updated_at",
                            "title"
                        ],
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statuses",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "user_ids",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.PaginatedResponse"
                        }
                    },
                    "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"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Create a project for the current authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Create a new project",
                "parameters": [
                    {
                        "description": "Project Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.CreateProjectDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "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"
                        }
                    }
                }
            }
        },
        "/projects/commits/{commitId}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve a specific commit by its ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Commits"
                ],
                "summary": "Get commit by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Commit ID",
                        "name": "commitId",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve project details by specific ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Get project by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Update project properties (Title, Description, Status)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Update a project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Project Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.UpdateProjectDto"
                        }
                    }
                ],
                "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"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Delete project by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Delete a project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/change-owner": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Transfer project ownership to an existing member. Only the current owner can do this.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Transfer project ownership",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "New Owner Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.ChangeOwnerDto"
                        }
                    }
                ],
                "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"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/commits": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve all commits for a specific project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Commits"
                ],
                "summary": "Get project commits",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Create a new commit and update project's latest commit ID. Only owner/editor allowed.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Commits"
                ],
                "summary": "Create a new commit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Commit Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.CreateCommitDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/commits/restore": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Update project's latest commit ID to an older commit. Only owner/editor allowed.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Commits"
                ],
                "summary": "Restore project to a commit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Restore Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.RestoreCommitDto"
                        }
                    }
                ],
                "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"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/heartbeat": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Refresh the TTL of the exclusive editing lock on a project for another 15 minutes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Heartbeat to refresh project lock",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/lock": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Acquire an exclusive editing lock on a project for 15 minutes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Lock a project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/members": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Invite a user to the project with a specific role (EDITOR or VIEWER). Only project owner can do this.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Add a member to project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Member Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.AddProjectMemberDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/members/{userId}": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Change a member's role in the project. Only project owner can do this.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Update member role",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Member User ID",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Role Data",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.UpdateProjectMemberDto"
                        }
                    }
                ],
                "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"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Remove a user from the project. Only project owner can do this.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Remove a member from project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Member User ID",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/projects/{id}/unlock": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Release the exclusive editing lock on a project",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Projects"
                ],
                "summary": "Unlock a project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Project ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/raster-tiles/metadata": {
            "get": {
                "description": "Retrieve map metadata",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tile"
                ],
                "summary": "Get raster 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"
                        }
                    }
                }
            }
        },
        "/raster-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 raster 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"
                        }
                    }
                }
            }
        },
        "/relations/entities-by-geometries": {
            "get": {
                "description": "Get entities grouped by geometry IDs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Relations"
                ],
                "summary": "Get entities by geometry IDs",
                "parameters": [
                    {
                        "minItems": 1,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "geometry_ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/relations/wiki-contents/preview": {
            "get": {
                "description": "Get previews of specific wiki contents by a list of their IDs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Relations"
                ],
                "summary": "Get wiki content previews by IDs",
                "parameters": [
                    {
                        "minItems": 1,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/relations/wikis-by-entities": {
            "get": {
                "description": "Get wikis grouped by entity IDs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Relations"
                ],
                "summary": "Get wikis by entity IDs",
                "parameters": [
                    {
                        "minItems": 1,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "entity_ids",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/roles": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get a list of all roles in the system",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Roles"
                ],
                "summary": "Get all roles",
                "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"
                        }
                    }
                }
            }
        },
        "/roles/{id}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get detailed information about a specific role",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Roles"
                ],
                "summary": "Get role by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Role ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/statistics": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Fetch daily system statistics with optional date range filtering",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Statistics"
                ],
                "summary": "Search system statistics",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Start date in YYYY-MM-DD format",
                        "name": "start_date",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "End date in YYYY-MM-DD format",
                        "name": "end_date",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/history-api_internal_dtos_response.StatisticResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/statistics/{date}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Fetch system statistics for a specific date",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Statistics"
                ],
                "summary": "Get system statistics by date",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Date in YYYY-MM-DD format",
                        "name": "date",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/history-api_internal_dtos_response.StatisticResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/submissions": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Get a list of submissions with filters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Submission"
                ],
                "summary": "Search submissions",
                "parameters": [
                    {
                        "type": "string",
                        "name": "created_from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "created_to",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "minimum": 1,
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "project_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "reviewed_by",
                        "in": "query"
                    },
                    {
                        "maxLength": 200,
                        "minLength": 2,
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "id",
                            "created_at",
                            "reviewed_at",
                            "status"
                        ],
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "statuses",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "user_ids",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Submit a new submission for a project commit",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Submission"
                ],
                "summary": "Create submission",
                "parameters": [
                    {
                        "description": "Submission data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.CreateSubmissionDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/submissions/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Get detailed information of a submission",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Submission"
                ],
                "summary": "Get submission by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Submission ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Delete a submission by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Submission"
                ],
                "summary": "Delete submission",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Submission ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/submissions/{id}/status": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Approve or reject a submission",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Submission"
                ],
                "summary": "Update submission status",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Submission ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Status update data",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.UpdateSubmissionStatusDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Search and filter users with pagination (Admin/Mod only)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Search users",
                "parameters": [
                    {
                        "enum": [
                            "local",
                            "google",
                            "facebook",
                            "github"
                        ],
                        "type": "string",
                        "name": "auth_provider",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "created_from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "created_to",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "is_deleted",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "type": "string",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "minimum": 1,
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "role_ids",
                        "in": "query"
                    },
                    {
                        "maxLength": 200,
                        "minLength": 2,
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "id",
                            "created_at",
                            "updated_at",
                            "email",
                            "is_deleted",
                            "auth_provider"
                        ],
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.PaginatedResponse"
                        }
                    },
                    "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"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Create a new user account with specified roles",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Create a new user (Admin only)",
                "parameters": [
                    {
                        "description": "Create User request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.CreateUserDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/current": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve the profile information of the currently authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get current user profile",
                "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"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Update the profile details of the currently authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Update user profile",
                "parameters": [
                    {
                        "description": "Update Profile request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.UpdateProfileDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/current/application": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve application list of the currently authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get current user's application",
                "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"
                        }
                    }
                }
            }
        },
        "/users/current/media": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve media list of the currently authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get current user's media",
                "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"
                        }
                    }
                }
            }
        },
        "/users/current/password": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Update the password for the currently authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Change user password",
                "parameters": [
                    {
                        "description": "Change Password request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.ChangePasswordDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/current/project": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve project list of the currently authenticated user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get current user's projects",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cursor_id",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Retrieve details of a specific user (Admin/Mod only)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get user by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Update the profile details of any user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Update user profile (Admin/Mod only)",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update Profile request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.UpdateProfileDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Soft delete a user account (Admin/Mod only)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Delete a user",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}/application": {
            "get": {
                "description": "Retrieve application list by specific user ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get user's application by user ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}/media": {
            "get": {
                "description": "Retrieve media list by specific user ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get user's media by user ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}/password": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Reset the password for any user without requiring the old password",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Reset user password (Admin/Mod only)",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Reset Password request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.ResetPasswordDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}/project": {
            "get": {
                "description": "Retrieve project list by specific user ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get user's projects by user ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "cursor_id",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}/restore": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Restore a soft-deleted user account (Admin/Mod only)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Restore a deleted user",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/users/{id}/role": {
            "patch": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "Update the role of a user (Admin only)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Change user role",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Change Role request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_request.ChangeRoleDto"
                        }
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/wikis": {
            "get": {
                "description": "Search wikis with cursor pagination",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Wikis"
                ],
                "summary": "Search wikis",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "entity_id",
                        "in": "query"
                    },
                    {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "project_id",
                        "in": "query"
                    },
                    {
                        "maxLength": 1000,
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/wikis/content/{id}": {
            "get": {
                "description": "Get detailed information about a specific wiki content version",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Wikis"
                ],
                "summary": "Get wiki content by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Wiki Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/wikis/slug/exists": {
            "get": {
                "description": "Check if a given slug already exists for wikis",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Wikis"
                ],
                "summary": "Check wiki slug existence",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Slug to check",
                        "name": "slug",
                        "in": "query",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/wikis/slug/{slug}": {
            "get": {
                "description": "Get detailed information about a specific wiki by its unique slug",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Wikis"
                ],
                "summary": "Get wiki by slug",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Wiki Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/history-api_internal_dtos_response.CommonResponse"
                        }
                    }
                }
            }
        },
        "/wikis/{id}": {
            "get": {
                "description": "Get detailed information about a specific wiki",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Wikis"
                ],
                "summary": "Get wiki by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Wiki ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "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"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "history-api_internal_dtos_request.AddProjectMemberDto": {
            "type": "object",
            "required": [
                "role",
                "user_id"
            ],
            "properties": {
                "role": {
                    "type": "string",
                    "enum": [
                        "EDITOR",
                        "VIEWER"
                    ]
                },
                "user_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.BBox": {
            "type": "object",
            "required": [
                "max_lat",
                "max_lng",
                "min_lat",
                "min_lng"
            ],
            "properties": {
                "max_lat": {
                    "type": "number"
                },
                "max_lng": {
                    "type": "number"
                },
                "min_lat": {
                    "type": "number"
                },
                "min_lng": {
                    "type": "number"
                }
            }
        },
        "history-api_internal_dtos_request.BattleReplaySnapshot": {
            "type": "object",
            "required": [
                "geometry_id",
                "id"
            ],
            "properties": {
                "detail": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "geometry_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "target_geometry_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "history-api_internal_dtos_request.ChangeOwnerDto": {
            "type": "object",
            "required": [
                "new_owner_id"
            ],
            "properties": {
                "new_owner_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.ChangePasswordDto": {
            "type": "object",
            "required": [
                "new_password"
            ],
            "properties": {
                "new_password": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 8
                },
                "old_password": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 8
                }
            }
        },
        "history-api_internal_dtos_request.ChangeRoleDto": {
            "type": "object",
            "required": [
                "role_ids"
            ],
            "properties": {
                "role_ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "history-api_internal_dtos_request.ChatbotDto": {
            "type": "object",
            "required": [
                "question"
            ],
            "properties": {
                "project_id": {
                    "type": "string"
                },
                "question": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.CommitSnapshot": {
            "type": "object",
            "properties": {
                "editor_feature_collection": {
                    "$ref": "#/definitions/history-api_internal_dtos_request.FeatureCollection"
                },
                "entities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.EntitySnapshot"
                    }
                },
                "entity_wiki": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.EntityWikiLinkSnapshot"
                    }
                },
                "geometries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.GeometrySnapshot"
                    }
                },
                "geometry_entity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.GeometryEntitySnapshot"
                    }
                },
                "project": {
                    "$ref": "#/definitions/history-api_internal_dtos_request.ProjectSnapshot"
                },
                "replays": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.BattleReplaySnapshot"
                    }
                },
                "wikis": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.WikiSnapshot"
                    }
                }
            }
        },
        "history-api_internal_dtos_request.CreateCommitDto": {
            "type": "object",
            "required": [
                "edit_summary",
                "snapshot_json"
            ],
            "properties": {
                "edit_summary": {
                    "type": "string",
                    "maxLength": 500
                },
                "snapshot_json": {
                    "$ref": "#/definitions/history-api_internal_dtos_request.CommitSnapshot"
                }
            }
        },
        "history-api_internal_dtos_request.CreateProjectDto": {
            "type": "object",
            "required": [
                "title"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "PRIVATE",
                        "PUBLIC",
                        "ARCHIVE"
                    ]
                },
                "title": {
                    "type": "string",
                    "maxLength": 255
                }
            }
        },
        "history-api_internal_dtos_request.CreateSubmissionDto": {
            "type": "object",
            "required": [
                "commit_id",
                "project_id"
            ],
            "properties": {
                "commit_id": {
                    "type": "string"
                },
                "content": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.CreateTokenDto": {
            "type": "object",
            "required": [
                "email",
                "token_type"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "token_type": {
                    "enum": [
                        1,
                        2,
                        3,
                        4
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/history-api_pkg_constants.TokenType"
                        }
                    ]
                }
            }
        },
        "history-api_internal_dtos_request.CreateUserDto": {
            "type": "object",
            "required": [
                "display_name",
                "email",
                "password",
                "role_ids"
            ],
            "properties": {
                "display_name": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 2
                },
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 8
                },
                "role_ids": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "history-api_internal_dtos_request.CreateUserVerificationDto": {
            "type": "object",
            "required": [
                "content",
                "verify_type"
            ],
            "properties": {
                "content": {
                    "type": "string",
                    "minLength": 10
                },
                "media_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "verify_type": {
                    "type": "string",
                    "enum": [
                        "ID_CARD",
                        "EDUCATION",
                        "EXPERT",
                        "OTHER"
                    ]
                }
            }
        },
        "history-api_internal_dtos_request.EntityLabelCandidate": {
            "type": "object",
            "required": [
                "id",
                "name"
            ],
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "time_end": {
                    "type": "number"
                },
                "time_start": {
                    "type": "number"
                }
            }
        },
        "history-api_internal_dtos_request.EntitySnapshot": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "base_hash": {
                    "type": "string"
                },
                "base_updated_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "create",
                        "update",
                        "delete",
                        "reference"
                    ]
                },
                "slug": {
                    "type": "string"
                },
                "source": {
                    "type": "string",
                    "enum": [
                        "inline",
                        "ref"
                    ]
                },
                "status": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ]
                },
                "time_end": {
                    "type": "number"
                },
                "time_start": {
                    "type": "number"
                }
            }
        },
        "history-api_internal_dtos_request.EntityWikiLinkSnapshot": {
            "type": "object",
            "required": [
                "entity_id",
                "wiki_id"
            ],
            "properties": {
                "entity_id": {
                    "type": "string"
                },
                "is_deleted": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ]
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "reference",
                        "delete",
                        "binding"
                    ]
                },
                "wiki_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.Feature": {
            "type": "object",
            "required": [
                "geometry",
                "properties",
                "type"
            ],
            "properties": {
                "geometry": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "properties": {
                    "$ref": "#/definitions/history-api_internal_dtos_request.FeatureProperties"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.FeatureCollection": {
            "type": "object",
            "required": [
                "features",
                "type"
            ],
            "properties": {
                "features": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.Feature"
                    }
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.FeatureProperties": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "bound_with": {
                    "type": "string"
                },
                "entity_id": {
                    "type": "string"
                },
                "entity_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "entity_label_candidates": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_request.EntityLabelCandidate"
                    }
                },
                "entity_name": {
                    "type": "string"
                },
                "entity_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "entity_type_id": {
                    "type": "string"
                },
                "geometry_preset": {
                    "type": "string"
                },
                "id": {},
                "line_label": {
                    "type": "string"
                },
                "point_label": {
                    "type": "string"
                },
                "polygon_label": {
                    "type": "string"
                },
                "source": {
                    "type": "string",
                    "enum": [
                        "inline",
                        "ref"
                    ]
                },
                "time_end": {
                    "type": "number"
                },
                "time_start": {
                    "type": "number"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.ForgotPasswordDto": {
            "type": "object",
            "required": [
                "email",
                "new_password",
                "token_id"
            ],
            "properties": {
                "email": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 5
                },
                "new_password": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 8
                },
                "token_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.GeometryEntitySnapshot": {
            "type": "object",
            "required": [
                "entity_id",
                "geometry_id"
            ],
            "properties": {
                "base_links_hash": {
                    "type": "string"
                },
                "entity_id": {
                    "type": "string"
                },
                "geometry_id": {
                    "type": "string"
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "reference",
                        "delete",
                        "binding"
                    ]
                }
            }
        },
        "history-api_internal_dtos_request.GeometrySnapshot": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "base_hash": {
                    "type": "string"
                },
                "base_updated_at": {
                    "type": "string"
                },
                "bbox": {
                    "$ref": "#/definitions/history-api_internal_dtos_request.BBox"
                },
                "bound_with": {
                    "type": "string"
                },
                "draw_geometry": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "geometry": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "id": {
                    "type": "string"
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "create",
                        "update",
                        "delete",
                        "reference"
                    ]
                },
                "source": {
                    "type": "string",
                    "enum": [
                        "inline",
                        "ref"
                    ]
                },
                "time_end": {
                    "type": "number"
                },
                "time_start": {
                    "type": "number"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.MediaBulkDeleteDto": {
            "type": "object",
            "required": [
                "media_ids"
            ],
            "properties": {
                "media_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "history-api_internal_dtos_request.PreSignedCompleteDto": {
            "type": "object",
            "required": [
                "token_id"
            ],
            "properties": {
                "token_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.ProjectSnapshot": {
            "type": "object",
            "required": [
                "id",
                "title"
            ],
            "properties": {
                "id": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.ResetPasswordDto": {
            "type": "object",
            "required": [
                "new_password"
            ],
            "properties": {
                "is_send_email": {
                    "type": "boolean"
                },
                "new_password": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 8
                }
            }
        },
        "history-api_internal_dtos_request.RestoreCommitDto": {
            "type": "object",
            "required": [
                "commit_id"
            ],
            "properties": {
                "commit_id": {
                    "type": "string"
                }
            }
        },
        "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",
                "token_id"
            ],
            "properties": {
                "display_name": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 2
                },
                "email": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 5
                },
                "password": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 8
                },
                "token_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.UpdateProfileDto": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "bio": {
                    "type": "string",
                    "maxLength": 255
                },
                "country_code": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 2
                },
                "full_name": {
                    "type": "string",
                    "maxLength": 100,
                    "minLength": 2
                },
                "location": {
                    "type": "string",
                    "maxLength": 100
                },
                "phone": {
                    "type": "string",
                    "maxLength": 20,
                    "minLength": 8
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.UpdateProjectDto": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "PRIVATE",
                        "PUBLIC",
                        "ARCHIVE"
                    ]
                },
                "title": {
                    "type": "string",
                    "maxLength": 255
                }
            }
        },
        "history-api_internal_dtos_request.UpdateProjectMemberDto": {
            "type": "object",
            "required": [
                "role"
            ],
            "properties": {
                "role": {
                    "type": "string",
                    "enum": [
                        "EDITOR",
                        "VIEWER"
                    ]
                }
            }
        },
        "history-api_internal_dtos_request.UpdateSubmissionStatusDto": {
            "type": "object",
            "required": [
                "review_note",
                "status"
            ],
            "properties": {
                "review_note": {
                    "type": "string",
                    "minLength": 10
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_request.UpdateVerificationStatusDto": {
            "type": "object",
            "required": [
                "review_note",
                "status"
            ],
            "properties": {
                "review_note": {
                    "type": "string",
                    "maxLength": 3000,
                    "minLength": 5
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "PENDING",
                        "APPROVED",
                        "REJECTED"
                    ]
                }
            }
        },
        "history-api_internal_dtos_request.VerifyTokenDto": {
            "type": "object",
            "required": [
                "email",
                "token",
                "token_type"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                },
                "token_type": {
                    "enum": [
                        1,
                        2,
                        3,
                        4
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/history-api_pkg_constants.TokenType"
                        }
                    ]
                }
            }
        },
        "history-api_internal_dtos_request.WikiSnapshot": {
            "type": "object",
            "required": [
                "id",
                "title"
            ],
            "properties": {
                "doc": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "operation": {
                    "type": "string",
                    "enum": [
                        "create",
                        "update",
                        "delete",
                        "reference"
                    ]
                },
                "slug": {
                    "type": "string"
                },
                "source": {
                    "type": "string",
                    "enum": [
                        "inline",
                        "ref"
                    ]
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_response.ChatbotHistoryDto": {
            "type": "object",
            "properties": {
                "answer": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "question": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_response.CommonResponse": {
            "type": "object",
            "properties": {
                "data": {},
                "errors": {},
                "message": {
                    "type": "string"
                },
                "status": {
                    "type": "boolean"
                }
            }
        },
        "history-api_internal_dtos_response.GetChatbotHistoryResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/history-api_internal_dtos_response.ChatbotHistoryDto"
                    }
                },
                "pre_cursor": {
                    "type": "string"
                }
            }
        },
        "history-api_internal_dtos_response.PaginatedResponse": {
            "type": "object",
            "properties": {
                "data": {},
                "errors": {},
                "message": {
                    "type": "string"
                },
                "pagination": {
                    "$ref": "#/definitions/history-api_internal_dtos_response.PaginationMeta"
                },
                "status": {
                    "type": "boolean"
                }
            }
        },
        "history-api_internal_dtos_response.PaginationMeta": {
            "type": "object",
            "properties": {
                "current_page": {
                    "type": "integer"
                },
                "page_size": {
                    "type": "integer"
                },
                "total_pages": {
                    "type": "integer"
                },
                "total_records": {
                    "type": "integer"
                }
            }
        },
        "history-api_internal_dtos_response.StatisticResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "date": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "new_commits": {
                    "type": "integer"
                },
                "new_entities": {
                    "type": "integer"
                },
                "new_geometries": {
                    "type": "integer"
                },
                "new_medias": {
                    "type": "integer"
                },
                "new_projects": {
                    "type": "integer"
                },
                "new_storage_bytes": {
                    "type": "integer"
                },
                "new_submissions": {
                    "type": "integer"
                },
                "new_users": {
                    "type": "integer"
                },
                "new_wikis": {
                    "type": "integer"
                },
                "total_commits": {
                    "type": "integer"
                },
                "total_entities": {
                    "type": "integer"
                },
                "total_geometries": {
                    "type": "integer"
                },
                "total_medias": {
                    "type": "integer"
                },
                "total_projects": {
                    "type": "integer"
                },
                "total_storage_bytes": {
                    "type": "integer"
                },
                "total_submissions": {
                    "type": "integer"
                },
                "total_users": {
                    "type": "integer"
                },
                "total_wikis": {
                    "type": "integer"
                }
            }
        },
        "history-api_pkg_constants.TokenType": {
            "type": "integer",
            "format": "int32",
            "enum": [
                1,
                2,
                3,
                4
            ],
            "x-enum-varnames": [
                "TokenTypePasswordReset",
                "TokenTypeEmailVerify",
                "TokenTypeMagicLink",
                "TokenTypeUpload"
            ]
        }
    },
    "securityDefinitions": {
        "BearerAuth": {
            "description": "Type \"Bearer \" followed by a space and JWT token.",
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "",
	BasePath:         "/",
	Schemes:          []string{},
	Title:            "History API",
	Description:      "This is a sample server for History API.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
