{ "swagger": "2.0", "info": { "description": "Apache Answer API", "title": "Apache Answer", "contact": {} }, "basePath": "/", "paths": { "/": { "get": { "description": "if config file not exist try to redirect to install page", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "installation" ], "summary": "if config file not exist try to redirect to install page", "responses": {} } }, "/answer/admin/api/ai-config": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get AI configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get AI configuration", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteAIResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update AI configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update AI configuration", "parameters": [ { "description": "AI config", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteAIReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/ai-models": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "get AI models", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get AI models", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetAIModelResp" } } } } ] } } } } }, "/answer/admin/api/ai-provider": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get AI provider configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get AI provider configuration", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetAIProviderResp" } } } } ] } } } } }, "/answer/admin/api/ai/conversation": { "get": { "description": "get conversation detail for admin", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ai-conversation-admin" ], "summary": "get conversation detail for admin", "parameters": [ { "type": "string", "description": "conversation id", "name": "conversation_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.AIConversationAdminDetailResp" } } } ] } } } }, "delete": { "description": "delete conversation and its related records for admin", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ai-conversation-admin" ], "summary": "delete conversation for admin", "parameters": [ { "description": "apikey", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AIConversationAdminDeleteReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/ai/conversation/page": { "get": { "description": "get conversation list for admin", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ai-conversation-admin" ], "summary": "get conversation list for admin", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.AIConversationAdminListItem" } } } } ] } } } ] } } } } }, "/answer/admin/api/answer/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Status:[available,deleted,pending]", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "AdminAnswerPage admin answer page", "parameters": [ { "type": "integer", "description": "page size", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "enum": [ "available", "deleted", "pending" ], "type": "string", "description": "user status", "name": "status", "in": "query" }, { "type": "string", "description": "answer id or question title", "name": "query", "in": "query" }, { "type": "string", "description": "question id", "name": "question_id", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/answer/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update answer status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update answer status", "parameters": [ { "description": "AdminUpdateAnswerStatusReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AdminUpdateAnswerStatusReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/api-key": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update apikey", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update apikey", "parameters": [ { "description": "apikey", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateAPIKeyReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add apikey", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "add apikey", "parameters": [ { "description": "apikey", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddAPIKeyReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.AddAPIKeyResp" } } } ] } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "delete apikey", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "delete apikey", "parameters": [ { "description": "apikey", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.DeleteAPIKeyReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/api-key/all": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get all api keys", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get all api keys", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetAPIKeyResp" } } } } ] } } } } }, "/answer/admin/api/badge/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update badge status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "AdminBadge" ], "summary": "update badge status", "parameters": [ { "description": "UpdateBadgeStatusReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateBadgeStatusReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/badges": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "list all badges by page", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "AdminBadge" ], "summary": "list all badges by page", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "enum": [ "", "active", "inactive" ], "type": "string", "description": "badge status", "name": "status", "in": "query" }, { "type": "string", "description": "search param", "name": "q", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetBadgeListPagedResp" } } } } ] } } } } }, "/answer/admin/api/dashboard": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "DashboardInfo", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "DashboardInfo", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/delete/permanently": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "delete permanently", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "delete permanently", "parameters": [ { "description": "DeletePermanentlyReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.DeletePermanentlyReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/language/options": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get language options", "produces": [ "application/json" ], "tags": [ "Lang" ], "summary": "Get language options", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/mcp-config": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get MCP configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get MCP configuration", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteMCPResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update MCP configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update MCP configuration", "parameters": [ { "description": "MCP config", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteMCPReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/plugin/config": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get plugin config", "produces": [ "application/json" ], "tags": [ "AdminPlugin" ], "summary": "get plugin config", "parameters": [ { "type": "string", "description": "plugin_slug_name", "name": "plugin_slug_name", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetPluginConfigResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update plugin config", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "AdminPlugin" ], "summary": "update plugin config", "parameters": [ { "description": "UpdatePluginConfigReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdatePluginConfigReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/plugin/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update plugin status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "AdminPlugin" ], "summary": "update plugin status", "parameters": [ { "description": "UpdatePluginStatusReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdatePluginStatusReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/plugins": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get plugin list", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "AdminPlugin" ], "summary": "get plugin list", "parameters": [ { "type": "string", "description": "status: active/inactive", "name": "status", "in": "query" }, { "type": "boolean", "description": "have config", "name": "have_config", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetPluginListResp" } } } } ] } } } } }, "/answer/admin/api/question/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Status:[available,closed,deleted,pending]", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "AdminQuestionPage admin question page", "parameters": [ { "type": "integer", "description": "page size", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "enum": [ "available", "closed", "deleted", "pending" ], "type": "string", "description": "user status", "name": "status", "in": "query" }, { "type": "string", "description": "question id or title", "name": "query", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/question/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update question status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update question status", "parameters": [ { "description": "AdminUpdateQuestionStatusReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AdminUpdateQuestionStatusReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/reasons": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get reasons by object type and action", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "reason" ], "summary": "get reasons by object type and action", "parameters": [ { "enum": [ "question", "answer", "comment", "user" ], "type": "string", "description": "object_type", "name": "object_type", "in": "query", "required": true }, { "enum": [ "status", "close", "flag", "review" ], "type": "string", "description": "action", "name": "action", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/roles": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get role list", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get role list", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetRoleResp" } } } } ] } } } } }, "/answer/admin/api/setting/privileges": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "GetPrivilegesConfig get privileges config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "GetPrivilegesConfig get privileges config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetPrivilegesConfigResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update privileges config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update privileges config", "parameters": [ { "description": "config", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdatePrivilegesConfigReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/setting/smtp": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "GetSMTPConfig get smtp config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "GetSMTPConfig get smtp config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetSMTPConfigResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update smtp config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update smtp config", "parameters": [ { "description": "smtp config", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateSMTPConfigReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/advanced": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site advanced setting", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site advanced setting", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteAdvancedResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site advanced info", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site advanced info", "parameters": [ { "description": "advanced settings", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteAdvancedReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/branding": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site interface", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site interface", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteBrandingResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site info branding", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site info branding", "parameters": [ { "description": "branding info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteBrandingReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/custom-css-html": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site info custom html css config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site info custom html css config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteCustomCssHTMLResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site custom css html config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site custom css html config", "parameters": [ { "description": "login info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteCustomCssHTMLReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/general": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site general information", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site general information", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteGeneralResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site general information", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site general information", "parameters": [ { "description": "general", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteGeneralReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/interface": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site interface", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site interface", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteInterfaceSettingsResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site info interface", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site info interface", "parameters": [ { "description": "general", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteInterfaceReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/login": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site info login config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site info login config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteLoginResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site login", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site login", "parameters": [ { "description": "login info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteLoginReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/polices": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get the policies information for the site", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "Get the policies information for the site", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SitePoliciesResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site policies configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site policies configuration", "parameters": [ { "description": "write info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SitePoliciesReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/question": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site questions setting", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site questions setting", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteQuestionsResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site question settings", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site question settings", "parameters": [ { "description": "questions settings", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteQuestionsReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/security": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get the security information for the site", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "Get the security information for the site", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteSecurityResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site security configuration", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site security configuration", "parameters": [ { "description": "write info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteSecurityReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/seo": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site seo information", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site seo information", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteSeoResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site seo information", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site seo information", "parameters": [ { "description": "seo", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteSeoReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/tag": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site tags setting", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site tags setting", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteTagsResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site tag settings", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site tag settings", "parameters": [ { "description": "tags settings", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteTagsReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/theme": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site info theme config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site info theme config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteThemeResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site custom css html config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site custom css html config", "parameters": [ { "description": "login info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteThemeReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/users": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site user config", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site user config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteUsersResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site info config about users", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site info config about users", "parameters": [ { "description": "users info", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteUsersReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/siteinfo/users-settings": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get site interface", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get site interface", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteUsersSettingsResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update site info users settings", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update site info users settings", "parameters": [ { "description": "general", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SiteUsersSettingsReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/theme/options": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get theme options", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "Get theme options", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/user": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "add user", "parameters": [ { "description": "user", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddUserReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/user/activation": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get user activation", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get user activation", "parameters": [ { "type": "string", "description": "user id", "name": "user_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetUserActivationResp" } } } ] } } } } }, "/answer/admin/api/user/password": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update user password", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update user password", "parameters": [ { "description": "user", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateUserPasswordReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/user/profile": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "edit user profile", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "edit user profile", "parameters": [ { "description": "user", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.EditUserProfileReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/user/role": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update user role", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update user role", "parameters": [ { "description": "user", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateUserRoleReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/user/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update user", "parameters": [ { "description": "user", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateUserStatusReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/users": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add users", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "add users", "parameters": [ { "description": "user", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddUsersReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/users/activation": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "send user activation", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "send user activation", "parameters": [ { "description": "SendUserActivationReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.SendUserActivationReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/admin/api/users/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get user page", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get user page", "parameters": [ { "type": "integer", "description": "page size", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "type": "string", "description": "search query: email, username or id:[id]", "name": "query", "in": "query" }, { "type": "boolean", "description": "staff user", "name": "staff", "in": "query" }, { "enum": [ "suspended", "deleted", "inactive" ], "type": "string", "description": "user status", "name": "status", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "records": { "type": "array", "items": { "$ref": "#/definitions/schema.GetUserPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/activity/timeline": { "get": { "description": "get object timeline", "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "get object timeline", "parameters": [ { "type": "string", "description": "object id", "name": "object_id", "in": "query" }, { "type": "string", "description": "tag slug name", "name": "tag_slug_name", "in": "query" }, { "enum": [ "question", "answer", "tag" ], "type": "string", "description": "object type", "name": "object_type", "in": "query" }, { "type": "boolean", "description": "is show vote", "name": "show_vote", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetObjectTimelineResp" } } } ] } } } } }, "/answer/api/v1/activity/timeline/detail": { "get": { "description": "get object timeline detail", "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "get object timeline detail", "parameters": [ { "type": "string", "description": "revision id", "name": "revision_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetObjectTimelineResp" } } } ] } } } } }, "/answer/api/v1/ai/conversation": { "get": { "description": "get conversation detail", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ai-conversation" ], "summary": "get conversation detail", "parameters": [ { "type": "string", "description": "conversation id", "name": "conversation_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.AIConversationDetailResp" } } } ] } } } } }, "/answer/api/v1/ai/conversation/page": { "get": { "description": "get conversation list", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ai-conversation" ], "summary": "get conversation list", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.AIConversationListItem" } } } } ] } } } ] } } } } }, "/answer/api/v1/ai/conversation/vote": { "post": { "description": "vote record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ai-conversation" ], "summary": "vote record", "parameters": [ { "description": "vote request", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AIConversationVoteReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/answer": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Update Answer", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "Update Answer", "parameters": [ { "description": "AnswerUpdateReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AnswerUpdateReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add answer", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "Add Answer", "parameters": [ { "description": "add answer request", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AnswerAddReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "delete answer", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "delete answer", "parameters": [ { "description": "answer", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RemoveAnswerReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/answer/acceptance": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Accept Answer", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "Accept Answer", "parameters": [ { "description": "AcceptAnswerReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AcceptAnswerReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/answer/info": { "get": { "description": "Get Answer Detail", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "Get Answer Detail", "parameters": [ { "type": "string", "description": "id", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetAnswerInfoResp" } } } ] } } } } }, "/answer/api/v1/answer/page": { "get": { "description": "AnswerList \u003cbr\u003e \u003cb\u003eorder\u003c/b\u003e (default or updated)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "AnswerList", "parameters": [ { "type": "string", "description": "question_id", "name": "question_id", "in": "query", "required": true }, { "type": "string", "description": "order", "name": "order", "in": "query", "required": true }, { "type": "string", "description": "page", "name": "page", "in": "query", "required": true }, { "type": "string", "description": "page_size", "name": "page_size", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/answer/api/v1/answer/recover": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "recover the deleted answer", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Answer" ], "summary": "recover answer", "parameters": [ { "description": "answer", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RecoverAnswerReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/badge": { "get": { "description": "get badge info", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "api-badge" ], "summary": "get badge info", "parameters": [ { "type": "string", "default": "string", "description": "id", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetBadgeInfoResp" } } } ] } } } } }, "/answer/api/v1/badge/awards/page": { "get": { "description": "get badge award list", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "api-badge" ], "summary": "get badge award list", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "type": "string", "description": "badge id", "name": "badge_id", "in": "query", "required": true }, { "type": "string", "description": "only list the award by username", "name": "username", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetBadgeInfoResp" } } } ] } } } } }, "/answer/api/v1/badge/user/awards": { "get": { "description": "get user badge award list", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "api-badge" ], "summary": "get user badge award list", "parameters": [ { "type": "string", "description": "user name", "name": "username", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetUserBadgeAwardListResp" } } } } ] } } } } }, "/answer/api/v1/badge/user/awards/recent": { "get": { "description": "get user badge award list", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "api-badge" ], "summary": "get user badge award list", "parameters": [ { "type": "string", "description": "user name", "name": "username", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetUserBadgeAwardListResp" } } } } ] } } } } }, "/answer/api/v1/badges": { "get": { "description": "list all badges group by group", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "api-badge" ], "summary": "list all badges group by group", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetBadgeListResp" } } } } ] } } } } }, "/answer/api/v1/collection/switch": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add collection", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Collection" ], "summary": "add collection", "parameters": [ { "description": "collection", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.CollectionSwitchReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.CollectionSwitchResp" } } } ] } } } } }, "/answer/api/v1/comment": { "get": { "description": "get comment by id", "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "get comment by id", "parameters": [ { "type": "string", "description": "id", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetCommentResp" } } } } ] } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update comment", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "update comment", "parameters": [ { "description": "comment", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateCommentReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add comment", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "add comment", "parameters": [ { "description": "comment", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddCommentReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetCommentResp" } } } ] } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "remove comment", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "remove comment", "parameters": [ { "description": "comment", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RemoveCommentReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/comment/page": { "get": { "description": "get comment page", "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "get comment page", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "type": "string", "description": "object id", "name": "object_id", "in": "query", "required": true }, { "enum": [ "vote" ], "type": "string", "description": "query condition", "name": "query_cond", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetCommentResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/connector/binding/email": { "post": { "description": "external login binding user send email", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "PluginConnector" ], "summary": "external login binding user send email", "parameters": [ { "description": "external login binding user send email", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.ExternalLoginBindingUserSendEmailReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.ExternalLoginBindingUserSendEmailResp" } } } ] } } } } }, "/answer/api/v1/connector/info": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get all enabled connectors", "produces": [ "application/json" ], "tags": [ "PluginConnector" ], "summary": "get all enabled connectors", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.ConnectorInfoResp" } } } } ] } } } } }, "/answer/api/v1/connector/user/info": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get all connectors info about user", "produces": [ "application/json" ], "tags": [ "PluginConnector" ], "summary": "get all connectors info about user", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.ConnectorUserInfoResp" } } } } ] } } } } }, "/answer/api/v1/connector/user/unbinding": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "unbind external user login", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "PluginConnector" ], "summary": "unbind external user login", "parameters": [ { "description": "ExternalLoginUnbindingReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.ExternalLoginUnbindingReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/embed/config": { "get": { "description": "get embed plugin config", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Plugin" ], "summary": "get embed plugin config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/plugin.EmbedConfig" } } } } ] } } } } }, "/answer/api/v1/file": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "upload file", "consumes": [ "multipart/form-data" ], "tags": [ "Upload" ], "summary": "upload file", "parameters": [ { "enum": [ "post", "post_attachment", "avatar", "branding" ], "type": "string", "description": "identify the source of the file upload", "name": "source", "in": "formData", "required": true }, { "type": "file", "description": "file", "name": "file", "in": "formData", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "string" } } } ] } } } } }, "/answer/api/v1/follow": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "follow object or cancel follow operation", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Activity" ], "summary": "follow object or cancel follow operation", "parameters": [ { "description": "follow", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.FollowReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.FollowResp" } } } ] } } } } }, "/answer/api/v1/follow/tags": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update user follow tags", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Activity" ], "summary": "update user follow tags", "parameters": [ { "description": "follow", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateFollowTagsReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/language/config": { "get": { "description": "get language config mapping", "produces": [ "application/json" ], "tags": [ "Lang" ], "summary": "get language config mapping", "parameters": [ { "type": "string", "description": "Accept-Language", "name": "Accept-Language", "in": "header", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/language/options": { "get": { "description": "Get language options", "produces": [ "application/json" ], "tags": [ "Lang" ], "summary": "Get language options", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/meta/reaction": { "get": { "description": "get reaction for an object", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Meta" ], "summary": "get reaction", "parameters": [ { "type": "string", "description": "object_id", "name": "object_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.ReactionRespItem" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update reaction. if not exist, add one", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Meta" ], "summary": "add or update reaction", "parameters": [ { "description": "reaction", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateReactionReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/notification/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get notification list", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notification" ], "summary": "get notification list", "parameters": [ { "type": "integer", "description": "page size", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "enum": [ "inbox", "achievement" ], "type": "string", "description": "type", "name": "type", "in": "query", "required": true }, { "enum": [ "all", "posts", "invites", "votes" ], "type": "string", "description": "inbox_type", "name": "inbox_type", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/notification/read/state": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "ClearUnRead", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notification" ], "summary": "ClearUnRead", "parameters": [ { "description": "NotificationClearIDRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.NotificationClearIDRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/notification/read/state/all": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "ClearUnRead", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notification" ], "summary": "ClearUnRead", "parameters": [ { "description": "NotificationClearRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.NotificationClearRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/notification/status": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "GetRedDot", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notification" ], "summary": "GetRedDot", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "DelRedDot", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Notification" ], "summary": "DelRedDot", "parameters": [ { "description": "NotificationClearRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.NotificationClearRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/permission": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "check user permission", "produces": [ "application/json" ], "tags": [ "Permission" ], "summary": "check user permission", "parameters": [ { "type": "string", "description": "access-token", "name": "Authorization", "in": "header", "required": true }, { "enum": [ "question.add", "question.edit", "question.edit_without_review", "question.delete", "question.close", "question.reopen", "question.vote_up", "question.vote_down", "question.pin", "question.unpin", "question.hide", "question.show", "answer.add", "answer.edit", "answer.edit_without_review", "answer.delete", "answer.accept", "answer.vote_up", "answer.vote_down", "answer.invite_someone_to_answer", "comment.add", "comment.edit", "comment.delete", "comment.vote_up", "comment.vote_down", "report.add", "tag.add", "tag.edit", "tag.edit_slug_name", "tag.edit_without_review", "tag.delete", "tag.synonym", "link.url_limit", "vote.detail", "answer.audit", "question.audit", "tag.audit", "tag.use_reserved_tag" ], "type": "string", "description": "permission key", "name": "action", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "object", "additionalProperties": { "type": "boolean" } } } } ] } } } } }, "/answer/api/v1/personal/answer/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "list personal answers", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Personal" ], "summary": "list personal answers", "parameters": [ { "type": "string", "default": "string", "description": "username", "name": "username", "in": "query", "required": true }, { "enum": [ "newest", "score" ], "type": "string", "description": "order", "name": "order", "in": "query", "required": true }, { "type": "string", "default": "0", "description": "page", "name": "page", "in": "query", "required": true }, { "type": "string", "default": "20", "description": "page_size", "name": "page_size", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/personal/collection/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "list personal collections", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Collection" ], "summary": "list personal collections", "parameters": [ { "type": "string", "default": "0", "description": "page", "name": "page", "in": "query", "required": true }, { "type": "string", "default": "20", "description": "page_size", "name": "page_size", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/personal/comment/page": { "get": { "description": "user personal comment list", "produces": [ "application/json" ], "tags": [ "Comment" ], "summary": "user personal comment list", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "type": "string", "description": "username", "name": "username", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetCommentPersonalWithPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/personal/qa/top": { "get": { "description": "UserTop", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "UserTop", "parameters": [ { "type": "string", "default": "string", "description": "username", "name": "username", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/personal/rank/page": { "get": { "description": "user personal rank list", "produces": [ "application/json" ], "tags": [ "Rank" ], "summary": "user personal rank list", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "type": "string", "description": "username", "name": "username", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetRankPersonalPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/personal/user/info": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "GetOtherUserInfoByUsername", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "GetOtherUserInfoByUsername", "parameters": [ { "type": "string", "description": "username", "name": "username", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetOtherUserInfoResp" } } } ] } } } } }, "/answer/api/v1/personal/vote/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get user personal votes", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Activity" ], "summary": "get user personal votes", "parameters": [ { "type": "integer", "description": "page size", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetVoteWithPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/plugin/status": { "get": { "description": "get all plugins status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Plugin" ], "summary": "get all plugins status", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetPluginListResp" } } } } ] } } } } }, "/answer/api/v1/post/render": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "render post content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Upload" ], "summary": "render post content", "parameters": [ { "description": "PostRenderReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.PostRenderReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "update question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionUpdate" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "add question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionAdd" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "delete question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "delete question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RemoveQuestionReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/answer": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add question and answer", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "add question and answer", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionAddByAnswer" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/info": { "get": { "description": "get question details", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "get question details", "parameters": [ { "type": "string", "default": "1", "description": "Question TagID", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/answer/api/v1/question/invite": { "get": { "description": "get question invite user info", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "get question invite user info", "parameters": [ { "type": "string", "default": "1", "description": "Question ID", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update question invite user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "update question invite user", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionUpdateInviteUser" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/link": { "get": { "description": "get question link", "tags": [ "Question" ], "summary": "get question link", "parameters": [ { "minimum": 1, "type": "integer", "name": "in_days", "in": "query" }, { "enum": [ "newest", "active", "hot", "score", "unanswered", "recommend", "frequent" ], "type": "string", "name": "order", "in": "query" }, { "minimum": 1, "type": "integer", "name": "page", "in": "query" }, { "maximum": 100, "minimum": 1, "type": "integer", "name": "page_size", "in": "query" }, { "type": "string", "name": "question_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.QuestionPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/question/operation": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Operation question \\n operation [pin unpin hide show]", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "Operation question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.OperationQuestionReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/page": { "get": { "description": "get questions by page", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "get questions by page", "parameters": [ { "description": "QuestionPageReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionPageReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.QuestionPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/question/recommend/page": { "get": { "description": "get recommend questions by page", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "get recommend questions by page", "parameters": [ { "description": "QuestionPageReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionPageReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.QuestionPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/question/recover": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "recover deleted question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "recover deleted question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.QuestionRecoverReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/reopen": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "reopen question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "reopen question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.ReopenQuestionReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/similar": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "fuzzy query similar questions based on title", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "fuzzy query similar questions based on title", "parameters": [ { "type": "string", "default": "string", "description": "title", "name": "title", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/similar/tag": { "get": { "description": "Search Similar Question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "Search Similar Question", "parameters": [ { "type": "string", "default": "", "description": "question_id", "name": "question_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/answer/api/v1/question/status": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Close question", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Question" ], "summary": "Close question", "parameters": [ { "description": "question", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.CloseQuestionReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/question/tags": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get tag list", "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "get tag list", "parameters": [ { "type": "string", "description": "tag", "name": "tag", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetTagBasicResp" } } } } ] } } } } }, "/answer/api/v1/reasons": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get reasons by object type and action", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "reason" ], "summary": "get reasons by object type and action", "parameters": [ { "enum": [ "question", "answer", "comment", "user" ], "type": "string", "description": "object_type", "name": "object_type", "in": "query", "required": true }, { "enum": [ "status", "close", "flag", "review" ], "type": "string", "description": "action", "name": "action", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/render/config": { "get": { "description": "GetRenderConfig", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "PluginRender" ], "summary": "GetRenderConfig", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/plugin.RenderConfig" } } } ] } } } } }, "/answer/api/v1/report": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add report \u003cbr\u003e source (question, answer, comment, user)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Report" ], "summary": "add report", "parameters": [ { "description": "report", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddReportReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/report/review": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "review report", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Report" ], "summary": "review report", "parameters": [ { "description": "flag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.ReviewReportReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/report/unreviewed/post": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get unreviewed report post page", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Report" ], "summary": "get unreviewed report post page", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetReportListPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/review/pending/post": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update review", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Review" ], "summary": "update review", "parameters": [ { "description": "review", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateReviewReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/review/pending/post/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get unreviewed post page", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Review" ], "summary": "get unreviewed post page", "parameters": [ { "type": "integer", "description": "page", "name": "page", "in": "query" }, { "type": "string", "description": "object_id", "name": "object_id", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetUnreviewedPostPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/reviewing/type": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get reviewing type", "produces": [ "application/json" ], "tags": [ "Revision" ], "summary": "get reviewing type", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetReviewingTypeResp" } } } } ] } } } } }, "/answer/api/v1/revisions": { "get": { "description": "get revision list", "produces": [ "application/json" ], "tags": [ "Revision" ], "summary": "get revision list", "parameters": [ { "type": "string", "description": "object id", "name": "object_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetRevisionResp" } } } } ] } } } } }, "/answer/api/v1/revisions/audit": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "revision audit operation:approve or reject", "produces": [ "application/json" ], "tags": [ "Revision" ], "summary": "revision audit", "parameters": [ { "description": "audit", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RevisionAuditReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/revisions/edit/check": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "check can update revision", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Revision" ], "summary": "check can update revision", "parameters": [ { "type": "string", "default": "string", "description": "id", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/revisions/unreviewed": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get unreviewed revision list", "produces": [ "application/json" ], "tags": [ "Revision" ], "summary": "get unreviewed revision list", "parameters": [ { "type": "string", "description": "page id", "name": "page", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetUnreviewedRevisionResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/search": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "search object", "produces": [ "application/json" ], "tags": [ "Search" ], "summary": "search object", "parameters": [ { "type": "string", "description": "query string", "name": "q", "in": "query", "required": true }, { "enum": [ "newest", "active", "score", "relevance" ], "type": "string", "description": "order", "name": "order", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SearchResp" } } } ] } } } } }, "/answer/api/v1/search/desc": { "get": { "description": "get search description", "produces": [ "application/json" ], "tags": [ "Search" ], "summary": "get search description", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SearchResp" } } } ] } } } } }, "/answer/api/v1/siteinfo": { "get": { "description": "get site info", "produces": [ "application/json" ], "tags": [ "site" ], "summary": "get site info", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.SiteInfoResp" } } } ] } } } } }, "/answer/api/v1/siteinfo/legal": { "get": { "description": "get site legal info", "produces": [ "application/json" ], "tags": [ "site" ], "summary": "get site legal info", "parameters": [ { "enum": [ "tos", "privacy" ], "type": "string", "description": "legal information type", "name": "info_type", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetSiteLegalInfoResp" } } } ] } } } } }, "/answer/api/v1/tag": { "get": { "description": "get tag one", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "get tag one", "parameters": [ { "type": "string", "description": "tag id", "name": "tag_id", "in": "query", "required": true }, { "type": "string", "description": "tag name", "name": "tag_name", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetTagResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update tag", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "update tag", "parameters": [ { "description": "tag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateTagReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add tag", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "add tag", "parameters": [ { "description": "tag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddTagReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "delete tag", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "delete tag", "parameters": [ { "description": "tag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RemoveTagReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/tag/merge": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "merge tag", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "merge tag", "parameters": [ { "description": "tag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.AddTagReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/tag/recover": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "recover delete tag", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "recover delete tag", "parameters": [ { "description": "tag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.RecoverTagReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/tag/synonym": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update tag", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "update tag", "parameters": [ { "description": "tag", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateTagSynonymReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/tag/synonyms": { "get": { "description": "get tag synonyms", "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "get tag synonyms", "parameters": [ { "type": "integer", "description": "tag id", "name": "tag_id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetTagSynonymsResp" } } } ] } } } } }, "/answer/api/v1/tags": { "get": { "description": "get tags list by slug name", "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "get tags list", "parameters": [ { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "string collection", "name": "tags", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetTagBasicResp" } } } } ] } } } } }, "/answer/api/v1/tags/following": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get following tag list", "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "get following tag list", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetFollowingTagsResp" } } } } ] } } } } }, "/answer/api/v1/tags/page": { "get": { "description": "get tag page", "produces": [ "application/json" ], "tags": [ "Tag" ], "summary": "get tag page", "parameters": [ { "type": "integer", "description": "page size", "name": "page", "in": "query" }, { "type": "integer", "description": "page size", "name": "page_size", "in": "query" }, { "type": "string", "description": "slug_name", "name": "slug_name", "in": "query" }, { "enum": [ "popular", "name", "newest" ], "type": "string", "description": "query condition", "name": "query_cond", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/definitions/pager.PageModel" }, { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/schema.GetTagPageResp" } } } } ] } } } ] } } } } }, "/answer/api/v1/user/action/record": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "ActionRecord", "tags": [ "User" ], "summary": "ActionRecord", "parameters": [ { "enum": [ "login", "e_mail", "find_pass" ], "type": "string", "description": "action", "name": "action", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.ActionRecordResp" } } } ] } } } } }, "/answer/api/v1/user/email": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "user change email verification", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "user change email verification", "parameters": [ { "description": "UserChangeEmailVerifyReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserChangeEmailVerifyReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/email/change/code": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "send email to the user email then change their email", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "send email to the user email then change their email", "parameters": [ { "description": "UserChangeEmailSendCodeReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserChangeEmailSendCodeReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/email/verification": { "post": { "description": "UserVerifyEmail", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserVerifyEmail", "parameters": [ { "type": "string", "default": "", "description": "code", "name": "code", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.UserLoginResp" } } } ] } } } } }, "/answer/api/v1/user/email/verification/send": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "UserVerifyEmailSend", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserVerifyEmailSend", "parameters": [ { "type": "string", "default": "", "description": "captcha_id", "name": "captcha_id", "in": "query" }, { "type": "string", "default": "", "description": "captcha_code", "name": "captcha_code", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/answer/api/v1/user/info": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get user info, if user no login response http code is 200, but user info is null", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "GetUserInfoByUserID", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetCurrentLoginUserInfoResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "UserUpdateInfo update user info", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserUpdateInfo update user info", "parameters": [ { "type": "string", "description": "access-token", "name": "Authorization", "in": "header", "required": true }, { "description": "UpdateInfoRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateInfoRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/info/search": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "SearchUserListByName", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "SearchUserListByName", "parameters": [ { "type": "string", "description": "username", "name": "username", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetOtherUserInfoResp" } } } ] } } } } }, "/answer/api/v1/user/interface": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "UserUpdateInterface update user interface config", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserUpdateInterface update user interface config", "parameters": [ { "type": "string", "description": "access-token", "name": "Authorization", "in": "header", "required": true }, { "description": "UpdateInfoRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateUserInterfaceRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/login/email": { "post": { "description": "UserEmailLogin", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserEmailLogin", "parameters": [ { "description": "UserEmailLogin", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserEmailLoginReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.UserLoginResp" } } } ] } } } } }, "/answer/api/v1/user/logout": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "user logout", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "user logout", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/notification/config": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update user's notification config", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "update user's notification config", "parameters": [ { "description": "UpdateUserNotificationConfigReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateUserNotificationConfigReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "get user's notification config", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "get user's notification config", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetUserNotificationConfigResp" } } } ] } } } } }, "/answer/api/v1/user/notification/unsubscribe": { "put": { "description": "unsubscribe notification", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "unsubscribe notification", "parameters": [ { "description": "UserUnsubscribeNotificationReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserUnsubscribeNotificationReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/password": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "UserModifyPassWord", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserModifyPassWord", "parameters": [ { "description": "UserModifyPasswordReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserModifyPasswordReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/password/replacement": { "post": { "description": "UseRePassWord", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UseRePassWord", "parameters": [ { "description": "UserRePassWordRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserRePassWordRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/answer/api/v1/user/password/reset": { "post": { "description": "RetrievePassWord", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "RetrievePassWord", "parameters": [ { "description": "UserRetrievePassWordRequest", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserRetrievePassWordRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/answer/api/v1/user/plugin/config": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get user plugin config", "produces": [ "application/json" ], "tags": [ "UserPlugin" ], "summary": "get user plugin config", "parameters": [ { "type": "string", "description": "plugin_slug_name", "name": "plugin_slug_name", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetPluginConfigResp" } } } ] } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "update user plugin config", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserPlugin" ], "summary": "update user plugin config", "parameters": [ { "description": "UpdatePluginConfigReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UpdateUserPluginConfigReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/answer/api/v1/user/plugin/configs": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "get plugin list that used for user.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserPlugin" ], "summary": "get plugin list that used for user.", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/schema.GetUserPluginListResp" } } } } ] } } } } }, "/answer/api/v1/user/ranking": { "get": { "description": "get user ranking", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "get user ranking", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.UserRankingResp" } } } ] } } } } }, "/answer/api/v1/user/register/email": { "post": { "description": "UserRegisterByEmail", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "UserRegisterByEmail", "parameters": [ { "description": "UserRegisterReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.UserRegisterReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.UserLoginResp" } } } ] } } } } }, "/answer/api/v1/user/staff": { "get": { "description": "get user staff", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "get user staff", "parameters": [ { "type": "string", "description": "username", "name": "username", "in": "query", "required": true }, { "type": "string", "description": "page_size", "name": "page_size", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.GetUserStaffResp" } } } ] } } } } }, "/answer/api/v1/vote/down": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add vote", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Activity" ], "summary": "vote down", "parameters": [ { "description": "vote", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.VoteReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.VoteResp" } } } ] } } } } }, "/answer/api/v1/vote/up": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "add vote", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Activity" ], "summary": "vote up", "parameters": [ { "description": "vote", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/schema.VoteReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/schema.VoteResp" } } } ] } } } } }, "/custom.css": { "get": { "description": "get site custom CSS", "produces": [ "text/css" ], "tags": [ "site" ], "summary": "get site custom CSS", "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/installation/base-info": { "post": { "description": "init base info", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "installation" ], "summary": "init base info", "parameters": [ { "description": "InitBaseInfoReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/install.InitBaseInfoReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/installation/config-file/check": { "post": { "description": "check config file if exist when installation", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "installation" ], "summary": "check config file if exist when installation", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/install.CheckConfigFileResp" } } } ] } } } } }, "/installation/db/check": { "post": { "description": "check database if exist when installation", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "installation" ], "summary": "check database if exist when installation", "parameters": [ { "description": "CheckDatabaseReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/install.CheckDatabaseReq" } } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/install.CheckConfigFileResp" } } } ] } } } } }, "/installation/init": { "post": { "description": "init environment", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "installation" ], "summary": "init environment", "parameters": [ { "description": "CheckDatabaseReq", "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/install.CheckDatabaseReq" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/installation/language/config": { "get": { "description": "get installation language config mapping", "produces": [ "application/json" ], "tags": [ "Lang" ], "summary": "get installation language config mapping", "parameters": [ { "type": "string", "description": "installation language", "name": "lang", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/installation/language/options": { "get": { "description": "get installation language options", "produces": [ "application/json" ], "tags": [ "Lang" ], "summary": "get installation language options", "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/handler.RespBody" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/translator.LangOption" } } } } ] } } } } }, "/personal/question/page": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "list personal questions", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Personal" ], "summary": "list personal questions", "parameters": [ { "type": "string", "default": "string", "description": "username", "name": "username", "in": "query", "required": true }, { "enum": [ "newest", "score" ], "type": "string", "description": "order", "name": "order", "in": "query", "required": true }, { "type": "string", "default": "0", "description": "page", "name": "page", "in": "query", "required": true }, { "type": "string", "default": "20", "description": "page_size", "name": "page_size", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/handler.RespBody" } } } } }, "/robots.txt": { "get": { "description": "get site robots information", "produces": [ "application/json" ], "tags": [ "site" ], "summary": "get site robots information", "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } } }, "definitions": { "constant.NotificationChannelKey": { "type": "string", "enum": [ "email" ], "x-enum-varnames": [ "EmailChannel" ] }, "constant.Privilege": { "type": "object", "properties": { "key": { "type": "string" }, "label": { "type": "string" }, "value": { "type": "integer", "minimum": 1 } } }, "entity.BadgeLevel": { "type": "integer", "enum": [ 1, 2, 3 ], "x-enum-varnames": [ "BadgeLevelBronze", "BadgeLevelSilver", "BadgeLevelGold" ] }, "handler.RespBody": { "type": "object", "properties": { "code": { "description": "http code", "type": "integer" }, "data": { "description": "response data" }, "msg": { "description": "response message", "type": "string" }, "reason": { "description": "reason key", "type": "string" } } }, "install.CheckConfigFileResp": { "type": "object", "properties": { "config_file_exist": { "type": "boolean" }, "db_connection_success": { "type": "boolean" }, "db_table_exist": { "type": "boolean" } } }, "install.CheckDatabaseReq": { "type": "object", "required": [ "db_type" ], "properties": { "db_file": { "type": "string" }, "db_host": { "type": "string" }, "db_name": { "type": "string" }, "db_password": { "type": "string" }, "db_type": { "type": "string", "enum": [ "postgres", "sqlite3", "mysql" ] }, "db_username": { "type": "string" }, "ssl_cert": { "type": "string" }, "ssl_enabled": { "type": "boolean" }, "ssl_key": { "type": "string" }, "ssl_mode": { "type": "string" }, "ssl_root_cert": { "type": "string" } } }, "install.InitBaseInfoReq": { "type": "object", "required": [ "contact_email", "email", "external_content_display", "lang", "name", "password", "site_name", "site_url" ], "properties": { "contact_email": { "type": "string", "maxLength": 500 }, "email": { "type": "string", "maxLength": 500 }, "external_content_display": { "type": "string", "enum": [ "always_display", "ask_before_display" ] }, "lang": { "type": "string", "maxLength": 30 }, "login_required": { "type": "boolean" }, "name": { "type": "string", "maxLength": 30, "minLength": 2 }, "password": { "type": "string", "maxLength": 32, "minLength": 8 }, "site_name": { "type": "string", "maxLength": 30 }, "site_url": { "type": "string", "maxLength": 512 } } }, "pager.PageModel": { "type": "object", "properties": { "count": { "type": "integer" }, "list": {} } }, "plugin.EmbedConfig": { "type": "object", "properties": { "enable": { "type": "boolean" }, "platform": { "type": "string" } } }, "plugin.RenderConfig": { "type": "object", "properties": { "select_theme": { "type": "string" } } }, "schema.AIConversationAdminDeleteReq": { "type": "object", "required": [ "conversation_id" ], "properties": { "conversation_id": { "type": "string" } } }, "schema.AIConversationAdminDetailResp": { "type": "object", "properties": { "conversation_id": { "type": "string" }, "created_at": { "type": "integer" }, "records": { "type": "array", "items": { "$ref": "#/definitions/schema.AIConversationRecord" } }, "topic": { "type": "string" }, "user_info": { "$ref": "#/definitions/schema.AIConversationUserInfo" } } }, "schema.AIConversationAdminListItem": { "type": "object", "properties": { "created_at": { "type": "integer" }, "helpful_count": { "type": "integer" }, "id": { "type": "string" }, "topic": { "type": "string" }, "unhelpful_count": { "type": "integer" }, "user_info": { "$ref": "#/definitions/schema.AIConversationUserInfo" } } }, "schema.AIConversationDetailResp": { "type": "object", "properties": { "conversation_id": { "type": "string" }, "created_at": { "type": "integer" }, "records": { "type": "array", "items": { "$ref": "#/definitions/schema.AIConversationRecord" } }, "topic": { "type": "string" }, "updated_at": { "type": "integer" } } }, "schema.AIConversationListItem": { "type": "object", "properties": { "conversation_id": { "type": "string" }, "created_at": { "type": "integer" }, "topic": { "type": "string" } } }, "schema.AIConversationRecord": { "type": "object", "properties": { "chat_completion_id": { "type": "string" }, "content": { "type": "string" }, "created_at": { "type": "integer" }, "helpful": { "type": "integer" }, "reasoning_content": { "type": "string" }, "role": { "type": "string" }, "unhelpful": { "type": "integer" } } }, "schema.AIConversationUserInfo": { "type": "object", "properties": { "avatar": { "type": "string" }, "display_name": { "type": "string" }, "id": { "type": "string" }, "rank": { "type": "integer" }, "username": { "type": "string" } } }, "schema.AIConversationVoteReq": { "type": "object", "required": [ "chat_completion_id", "vote_type" ], "properties": { "cancel": { "type": "boolean" }, "chat_completion_id": { "type": "string" }, "vote_type": { "type": "string", "enum": [ "helpful", "unhelpful" ] } } }, "schema.AIPromptConfig": { "type": "object", "properties": { "en_us": { "type": "string" }, "zh_cn": { "type": "string" } } }, "schema.AcceptAnswerReq": { "type": "object", "required": [ "question_id" ], "properties": { "answer_id": { "type": "string" }, "question_id": { "type": "string", "maxLength": 30 } } }, "schema.ActObjectInfo": { "type": "object", "properties": { "answer_id": { "type": "string" }, "display_name": { "type": "string" }, "main_tag_slug_name": { "type": "string" }, "object_type": { "type": "string" }, "question_id": { "type": "string" }, "title": { "type": "string" }, "username": { "type": "string" } } }, "schema.ActObjectTimeline": { "type": "object", "properties": { "activity_id": { "type": "string" }, "activity_type": { "type": "string" }, "cancelled": { "type": "boolean" }, "cancelled_at": { "type": "integer" }, "comment": { "type": "string" }, "created_at": { "type": "integer" }, "object_id": { "type": "string" }, "object_type": { "type": "string" }, "revision_id": { "type": "string" }, "user_info": { "$ref": "#/definitions/schema.UserBasicInfo" } } }, "schema.ActionRecordResp": { "type": "object", "properties": { "captcha_id": { "type": "string" }, "captcha_img": { "type": "string" }, "verify": { "type": "boolean" } } }, "schema.AddAPIKeyReq": { "type": "object", "required": [ "description", "scope" ], "properties": { "description": { "type": "string", "maxLength": 150 }, "scope": { "type": "string", "enum": [ "read-only", "global" ] } } }, "schema.AddAPIKeyResp": { "type": "object", "properties": { "access_key": { "type": "string" } } }, "schema.AddCommentReq": { "type": "object", "required": [ "object_id", "original_text" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "mention_username_list": { "description": "@ user id list", "type": "array", "items": { "type": "string" } }, "object_id": { "description": "object id", "type": "string" }, "original_text": { "description": "original comment content", "type": "string", "maxLength": 600, "minLength": 2 }, "reply_comment_id": { "description": "reply comment id", "type": "string" } } }, "schema.AddReportReq": { "type": "object", "required": [ "object_id", "report_type" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "description": "captcha_id", "type": "string" }, "content": { "description": "report content", "type": "string", "maxLength": 500 }, "object_id": { "description": "object id", "type": "string", "maxLength": 20 }, "report_type": { "description": "report type", "type": "integer" } } }, "schema.AddTagReq": { "type": "object", "required": [ "display_name", "original_text", "slug_name" ], "properties": { "display_name": { "description": "display_name", "type": "string", "maxLength": 35 }, "original_text": { "description": "original text", "type": "string", "maxLength": 65536 }, "slug_name": { "description": "slug_name", "type": "string", "maxLength": 35 } } }, "schema.AddUserReq": { "type": "object", "required": [ "display_name", "email", "password" ], "properties": { "display_name": { "type": "string", "maxLength": 30, "minLength": 2 }, "email": { "type": "string", "maxLength": 500 }, "password": { "type": "string", "maxLength": 32, "minLength": 8 } } }, "schema.AddUsersReq": { "type": "object", "properties": { "users": { "description": "users info line by line", "type": "string" } } }, "schema.AdminUpdateAnswerStatusReq": { "type": "object", "required": [ "answer_id", "status" ], "properties": { "answer_id": { "type": "string" }, "status": { "type": "string", "enum": [ "available", "deleted" ] } } }, "schema.AdminUpdateQuestionStatusReq": { "type": "object", "required": [ "question_id", "status" ], "properties": { "question_id": { "type": "string" }, "status": { "type": "string", "enum": [ "available", "closed", "deleted" ] } } }, "schema.AnswerAddReq": { "type": "object", "required": [ "content" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "content": { "type": "string", "maxLength": 65535, "minLength": 6 }, "question_id": { "type": "string" } } }, "schema.AnswerInfo": { "type": "object", "properties": { "accepted": { "type": "integer" }, "collected": { "type": "boolean" }, "content": { "type": "string" }, "create_time": { "type": "integer" }, "html": { "type": "string" }, "id": { "type": "string" }, "member_actions": { "description": "MemberActions", "type": "array", "items": { "$ref": "#/definitions/schema.PermissionMemberAction" } }, "question_id": { "type": "string" }, "question_info": { "$ref": "#/definitions/schema.QuestionInfoResp" }, "status": { "type": "integer" }, "update_time": { "type": "integer" }, "update_user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "vote_count": { "type": "integer" }, "vote_status": { "type": "string" } } }, "schema.AnswerUpdateReq": { "type": "object", "required": [ "content" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "content": { "type": "string", "maxLength": 65535, "minLength": 6 }, "edit_summary": { "type": "string" }, "id": { "type": "string" }, "title": { "type": "string" } } }, "schema.AvatarInfo": { "type": "object", "properties": { "custom": { "type": "string", "maxLength": 200 }, "gravatar": { "type": "string", "maxLength": 200 }, "type": { "type": "string", "maxLength": 100 } } }, "schema.BadgeListInfo": { "type": "object", "properties": { "award_count": { "description": "badge award count", "type": "integer" }, "earned_count": { "description": "badge earned count", "type": "integer" }, "icon": { "description": "badge icon", "type": "string" }, "id": { "description": "badge id", "type": "string" }, "level": { "description": "badge level", "allOf": [ { "$ref": "#/definitions/entity.BadgeLevel" } ] }, "name": { "description": "badge name", "type": "string" } } }, "schema.BadgeStatus": { "type": "string", "enum": [ "active", "inactive" ], "x-enum-varnames": [ "BadgeStatusActive", "BadgeStatusInactive" ] }, "schema.CloseQuestionReq": { "type": "object", "required": [ "id" ], "properties": { "close_msg": { "description": "close_type", "type": "string" }, "close_type": { "description": "close_type", "type": "integer" }, "id": { "type": "string" } } }, "schema.CollectionSwitchReq": { "type": "object", "required": [ "group_id", "object_id" ], "properties": { "bookmark": { "type": "boolean" }, "group_id": { "type": "string" }, "object_id": { "type": "string" } } }, "schema.CollectionSwitchResp": { "type": "object", "properties": { "object_collection_count": { "type": "integer" } } }, "schema.ConfigField": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "options": { "type": "array", "items": { "$ref": "#/definitions/schema.ConfigFieldOption" } }, "required": { "type": "boolean" }, "title": { "type": "string" }, "type": { "type": "string" }, "ui_options": { "$ref": "#/definitions/schema.ConfigFieldUIOptions" }, "value": {} } }, "schema.ConfigFieldOption": { "type": "object", "properties": { "label": { "type": "string" }, "value": { "type": "string" } } }, "schema.ConfigFieldUIOptions": { "type": "object", "properties": { "action": { "$ref": "#/definitions/schema.UIOptionAction" }, "class_name": { "type": "string" }, "field_class_name": { "type": "string" }, "input_type": { "type": "string" }, "label": { "type": "string" }, "placeholder": { "type": "string" }, "rows": { "type": "string" }, "text": { "type": "string" }, "variant": { "type": "string" } } }, "schema.ConnectorInfoResp": { "type": "object", "properties": { "icon": { "type": "string" }, "link": { "type": "string" }, "name": { "type": "string" } } }, "schema.ConnectorUserInfoResp": { "type": "object", "properties": { "binding": { "type": "boolean" }, "external_id": { "type": "string" }, "icon": { "type": "string" }, "link": { "type": "string" }, "name": { "type": "string" } } }, "schema.DeleteAPIKeyReq": { "type": "object", "properties": { "id": { "type": "integer" } } }, "schema.DeletePermanentlyReq": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "users", "questions", "answers" ] } } }, "schema.EditUserProfileReq": { "type": "object", "required": [ "display_name", "email", "user_id" ], "properties": { "display_name": { "type": "string", "maxLength": 30, "minLength": 2 }, "email": { "type": "string", "maxLength": 500 }, "user_id": { "type": "string" }, "username": { "type": "string", "maxLength": 30, "minLength": 2 } } }, "schema.ExternalLoginBindingUserSendEmailReq": { "type": "object", "required": [ "binding_key", "email" ], "properties": { "binding_key": { "type": "string", "maxLength": 100 }, "email": { "type": "string", "maxLength": 512 }, "must": { "description": "If must is true, whatever email if exists, try to bind user.\nIf must is false, when email exist, will only be prompted with a warning.", "type": "boolean" } } }, "schema.ExternalLoginBindingUserSendEmailResp": { "type": "object", "properties": { "access_token": { "type": "string" }, "email_exist_and_must_be_confirmed": { "type": "boolean" } } }, "schema.ExternalLoginUnbindingReq": { "type": "object", "required": [ "external_id" ], "properties": { "external_id": { "type": "string", "maxLength": 128 } } }, "schema.FollowReq": { "type": "object", "required": [ "object_id" ], "properties": { "is_cancel": { "description": "is cancel", "type": "boolean" }, "object_id": { "description": "object id", "type": "string" } } }, "schema.FollowResp": { "type": "object", "properties": { "follows": { "description": "the followers of object", "type": "integer" }, "is_followed": { "description": "if user is followed object will be true,otherwise false", "type": "boolean" } } }, "schema.GetAIModelResp": { "type": "object", "properties": { "created": { "type": "integer" }, "id": { "type": "string" }, "object": { "type": "string" }, "owned_by": { "type": "string" } } }, "schema.GetAIProviderResp": { "type": "object", "properties": { "default_api_host": { "type": "string" }, "display_name": { "type": "string" }, "name": { "type": "string" } } }, "schema.GetAPIKeyResp": { "type": "object", "properties": { "access_key": { "type": "string" }, "created_at": { "type": "integer" }, "description": { "type": "string" }, "id": { "type": "integer" }, "last_used_at": { "type": "integer" }, "scope": { "type": "string" } } }, "schema.GetAnswerInfoResp": { "type": "object", "properties": { "info": { "$ref": "#/definitions/schema.AnswerInfo" }, "question": { "$ref": "#/definitions/schema.QuestionInfoResp" } } }, "schema.GetBadgeInfoResp": { "type": "object", "properties": { "award_count": { "description": "badge award count", "type": "integer" }, "description": { "description": "badge description", "type": "string" }, "earned_count": { "description": "badge earned count", "type": "integer" }, "icon": { "description": "badge icon", "type": "string" }, "id": { "description": "badge id", "type": "string" }, "is_single": { "description": "badge is single or multiple", "type": "boolean" }, "level": { "description": "badge level", "allOf": [ { "$ref": "#/definitions/entity.BadgeLevel" } ] }, "name": { "description": "badge name", "type": "string" } } }, "schema.GetBadgeListPagedResp": { "type": "object", "properties": { "award_count": { "description": "badge award count", "type": "integer" }, "description": { "description": "badge description", "type": "string" }, "earned": { "description": "badge earned count", "type": "boolean" }, "group_name": { "description": "badge group name", "type": "string" }, "icon": { "description": "badge icon", "type": "string" }, "id": { "description": "badge id", "type": "string" }, "level": { "description": "badge level", "allOf": [ { "$ref": "#/definitions/entity.BadgeLevel" } ] }, "name": { "description": "badge name", "type": "string" }, "status": { "description": "badge status", "allOf": [ { "$ref": "#/definitions/schema.BadgeStatus" } ] } } }, "schema.GetBadgeListResp": { "type": "object", "properties": { "badges": { "description": "badge list info", "type": "array", "items": { "$ref": "#/definitions/schema.BadgeListInfo" } }, "group_name": { "description": "badge group name", "type": "string" } } }, "schema.GetCommentPersonalWithPageResp": { "type": "object", "properties": { "answer_id": { "description": "answer id", "type": "string" }, "comment_id": { "description": "comment id", "type": "string" }, "content": { "description": "content", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "object_id": { "description": "object id", "type": "string" }, "object_type": { "description": "object type", "type": "string", "enum": [ "question", "answer", "tag", "comment" ] }, "question_id": { "description": "question id", "type": "string" }, "title": { "description": "title", "type": "string" }, "url_title": { "description": "url title", "type": "string" } } }, "schema.GetCommentResp": { "type": "object", "properties": { "comment_id": { "description": "comment id", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "is_vote": { "description": "current user if already vote this comment", "type": "boolean" }, "member_actions": { "description": "MemberActions", "type": "array", "items": { "$ref": "#/definitions/schema.PermissionMemberAction" } }, "object_id": { "description": "object id", "type": "string" }, "original_text": { "description": "original comment content", "type": "string" }, "parsed_text": { "description": "parsed comment content", "type": "string" }, "reply_comment_id": { "description": "reply comment id", "type": "string" }, "reply_user_display_name": { "description": "reply user display name", "type": "string" }, "reply_user_id": { "description": "reply user id", "type": "string" }, "reply_user_status": { "description": "reply user status", "type": "string" }, "reply_username": { "description": "reply user username", "type": "string" }, "user_avatar": { "description": "user avatar", "type": "string" }, "user_display_name": { "description": "user display name", "type": "string" }, "user_id": { "description": "user id", "type": "string" }, "user_status": { "description": "user status", "type": "string" }, "username": { "description": "username", "type": "string" }, "vote_count": { "description": "user vote amount", "type": "integer" } } }, "schema.GetCurrentLoginUserInfoResp": { "type": "object", "properties": { "access_token": { "description": "access token", "type": "string" }, "answer_count": { "description": "answer count", "type": "integer" }, "authority_group": { "description": "authority group", "type": "integer" }, "avatar": { "$ref": "#/definitions/schema.AvatarInfo" }, "bio": { "description": "bio markdown", "type": "string" }, "bio_html": { "description": "bio html", "type": "string" }, "color_scheme": { "description": "Color scheme", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "display_name": { "description": "display name", "type": "string" }, "e_mail": { "description": "email", "type": "string" }, "follow_count": { "description": "follow count", "type": "integer" }, "have_password": { "description": "user have password", "type": "boolean" }, "id": { "description": "user id", "type": "string" }, "language": { "description": "language", "type": "string" }, "last_login_date": { "description": "last login date", "type": "integer" }, "location": { "description": "location", "type": "string" }, "mail_status": { "description": "mail status(1 pass 2 to be verified)", "type": "integer" }, "mobile": { "description": "mobile", "type": "string" }, "notice_status": { "description": "notice status(1 on 2off)", "type": "integer" }, "question_count": { "description": "question count", "type": "integer" }, "rank": { "description": "rank", "type": "integer" }, "role_id": { "description": "role id", "type": "integer" }, "status": { "description": "user status", "type": "string" }, "suspended_until": { "description": "suspended until timestamp", "type": "integer" }, "username": { "description": "username", "type": "string" }, "visit_token": { "description": "visit token", "type": "string" }, "website": { "description": "website", "type": "string" } } }, "schema.GetFollowingTagsResp": { "type": "object", "properties": { "display_name": { "description": "display name", "type": "string" }, "main_tag_slug_name": { "description": "if main tag slug name is not empty, this tag is synonymous with the main tag", "type": "string" }, "recommend": { "type": "boolean" }, "reserved": { "type": "boolean" }, "slug_name": { "description": "slug name", "type": "string" }, "tag_id": { "description": "tag id", "type": "string" } } }, "schema.GetObjectTimelineResp": { "type": "object", "properties": { "object_info": { "$ref": "#/definitions/schema.ActObjectInfo" }, "timeline": { "type": "array", "items": { "$ref": "#/definitions/schema.ActObjectTimeline" } } } }, "schema.GetOtherUserInfoByUsernameResp": { "type": "object", "properties": { "answer_count": { "description": "answer count", "type": "integer" }, "avatar": { "description": "avatar", "type": "string" }, "bio": { "description": "bio markdown", "type": "string" }, "bio_html": { "description": "bio html", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "display_name": { "description": "display name", "type": "string" }, "follow_count": { "description": "email\nfollow count", "type": "integer" }, "id": { "description": "user id", "type": "string" }, "last_login_date": { "description": "last login date", "type": "integer" }, "location": { "description": "location", "type": "string" }, "mobile": { "description": "mobile", "type": "string" }, "question_count": { "description": "question count", "type": "integer" }, "rank": { "description": "rank", "type": "integer" }, "status": { "type": "string" }, "status_msg": { "type": "string" }, "suspended_until": { "description": "suspended until timestamp", "type": "integer" }, "username": { "description": "username", "type": "string" }, "website": { "description": "website", "type": "string" } } }, "schema.GetOtherUserInfoResp": { "type": "object", "properties": { "info": { "$ref": "#/definitions/schema.GetOtherUserInfoByUsernameResp" } } }, "schema.GetPluginConfigResp": { "type": "object", "properties": { "config_fields": { "type": "array", "items": { "$ref": "#/definitions/schema.ConfigField" } }, "description": { "type": "string" }, "name": { "type": "string" }, "slug_name": { "type": "string" }, "version": { "type": "string" } } }, "schema.GetPluginListResp": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "have_config": { "type": "boolean" }, "link": { "type": "string" }, "name": { "type": "string" }, "slug_name": { "type": "string" }, "version": { "type": "string" } } }, "schema.GetPrivilegesConfigResp": { "type": "object", "properties": { "options": { "type": "array", "items": { "$ref": "#/definitions/schema.PrivilegeOption" } }, "selected_level": { "$ref": "#/definitions/schema.PrivilegeLevel" } } }, "schema.GetRankPersonalPageResp": { "type": "object", "properties": { "answer_id": { "description": "answer id", "type": "string" }, "content": { "description": "content", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "object_id": { "description": "object id", "type": "string" }, "object_type": { "description": "object type", "type": "string", "enum": [ "question", "answer", "tag", "comment" ] }, "question_id": { "description": "question id", "type": "string" }, "rank_type": { "description": "rank type", "type": "string" }, "reputation": { "description": "reputation", "type": "integer" }, "title": { "description": "title", "type": "string" }, "url_title": { "description": "url title", "type": "string" } } }, "schema.GetReportListPageResp": { "type": "object", "properties": { "answer_accepted": { "type": "boolean" }, "answer_count": { "type": "integer" }, "answer_id": { "type": "string" }, "author_user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "comment_id": { "type": "string" }, "created_at": { "type": "integer" }, "flag_id": { "type": "string" }, "object_id": { "type": "string" }, "object_show_status": { "type": "integer" }, "object_status": { "type": "integer" }, "object_type": { "type": "string", "enum": [ "question", "answer", "comment" ] }, "original_text": { "type": "string" }, "parsed_text": { "type": "string" }, "question_id": { "type": "string" }, "reason": { "$ref": "#/definitions/schema.ReasonItem" }, "reason_content": { "type": "string" }, "submit_at": { "type": "integer" }, "submitter_user": { "$ref": "#/definitions/schema.UserBasicInfo" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/schema.TagResp" } }, "title": { "type": "string" }, "url_title": { "type": "string" } } }, "schema.GetReviewingTypeResp": { "type": "object", "properties": { "label": { "type": "string" }, "name": { "type": "string" }, "todo_amount": { "type": "integer" } } }, "schema.GetRevisionResp": { "type": "object", "properties": { "content": {}, "create_at": { "type": "integer" }, "id": { "type": "string" }, "object_id": { "type": "string" }, "reason": { "type": "string" }, "status": { "type": "integer" }, "title": { "type": "string" }, "url_title": { "type": "string" }, "use_id": { "type": "string" }, "user_info": { "$ref": "#/definitions/schema.UserBasicInfo" } } }, "schema.GetRoleResp": { "type": "object", "properties": { "description": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" } } }, "schema.GetSMTPConfigResp": { "type": "object", "properties": { "encryption": { "description": "\"\" SSL TLS", "type": "string" }, "from_email": { "type": "string" }, "from_name": { "type": "string" }, "smtp_authentication": { "type": "boolean" }, "smtp_host": { "type": "string" }, "smtp_password": { "type": "string" }, "smtp_port": { "type": "integer" }, "smtp_username": { "type": "string" } } }, "schema.GetSiteLegalInfoResp": { "type": "object", "properties": { "privacy_policy_original_text": { "type": "string" }, "privacy_policy_parsed_text": { "type": "string" }, "terms_of_service_original_text": { "type": "string" }, "terms_of_service_parsed_text": { "type": "string" } } }, "schema.GetTagBasicResp": { "type": "object", "properties": { "display_name": { "type": "string" }, "recommend": { "type": "boolean" }, "reserved": { "type": "boolean" }, "slug_name": { "type": "string" }, "tag_id": { "type": "string" } } }, "schema.GetTagPageResp": { "type": "object", "properties": { "created_at": { "description": "created time", "type": "integer" }, "description": { "description": "description", "type": "string" }, "display_name": { "description": "display_name", "type": "string" }, "excerpt": { "description": "excerpt", "type": "string" }, "follow_count": { "description": "follower amount", "type": "integer" }, "is_follower": { "description": "is follower", "type": "boolean" }, "original_text": { "description": "original text", "type": "string" }, "parsed_text": { "description": "parsed_text", "type": "string" }, "question_count": { "description": "question amount", "type": "integer" }, "recommend": { "type": "boolean" }, "reserved": { "type": "boolean" }, "slug_name": { "description": "slug_name", "type": "string" }, "tag_id": { "description": "tag_id", "type": "string" }, "updated_at": { "description": "updated time", "type": "integer" } } }, "schema.GetTagResp": { "type": "object", "properties": { "created_at": { "type": "integer" }, "description": { "type": "string" }, "display_name": { "type": "string" }, "excerpt": { "type": "string" }, "follow_count": { "type": "integer" }, "is_follower": { "type": "boolean" }, "main_tag_slug_name": { "description": "if main tag slug name is not empty, this tag is synonymous with the main tag", "type": "string" }, "member_actions": { "type": "array", "items": { "$ref": "#/definitions/schema.PermissionMemberAction" } }, "original_text": { "type": "string" }, "parsed_text": { "type": "string" }, "question_count": { "type": "integer" }, "recommend": { "type": "boolean" }, "reserved": { "type": "boolean" }, "slug_name": { "type": "string" }, "status": { "type": "string" }, "tag_id": { "type": "string" }, "updated_at": { "type": "integer" } } }, "schema.GetTagSynonymsResp": { "type": "object", "properties": { "member_actions": { "description": "MemberActions", "type": "array", "items": { "$ref": "#/definitions/schema.PermissionMemberAction" } }, "synonyms": { "description": "synonyms", "type": "array", "items": { "$ref": "#/definitions/schema.TagSynonym" } } } }, "schema.GetUnreviewedPostPageResp": { "type": "object", "properties": { "answer_id": { "type": "string" }, "author_user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "comment_id": { "type": "string" }, "created_at": { "type": "integer" }, "object_id": { "type": "string" }, "object_show_status": { "type": "integer" }, "object_status": { "type": "integer" }, "object_type": { "type": "string", "enum": [ "question", "answer", "comment" ] }, "original_text": { "type": "string" }, "parsed_text": { "type": "string" }, "question_id": { "type": "string" }, "reason": { "type": "string" }, "review_id": { "type": "integer" }, "submit_at": { "type": "integer" }, "submitter_display_name": { "type": "string" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/schema.TagResp" } }, "title": { "type": "string" }, "url_title": { "type": "string" } } }, "schema.GetUnreviewedRevisionResp": { "type": "object", "properties": { "info": { "$ref": "#/definitions/schema.UnreviewedRevisionInfoInfo" }, "type": { "type": "string" }, "unreviewed_info": { "$ref": "#/definitions/schema.GetRevisionResp" } } }, "schema.GetUserActivationResp": { "type": "object", "properties": { "activation_url": { "type": "string" } } }, "schema.GetUserBadgeAwardListResp": { "type": "object", "properties": { "earned_count": { "description": "badge award count", "type": "integer" }, "icon": { "description": "badge icon", "type": "string" }, "id": { "description": "badge id", "type": "string" }, "level": { "description": "badge level", "allOf": [ { "$ref": "#/definitions/entity.BadgeLevel" } ] }, "name": { "description": "badge name", "type": "string" } } }, "schema.GetUserNotificationConfigResp": { "type": "object", "properties": { "all_new_question": { "$ref": "#/definitions/schema.NotificationChannelConfig" }, "all_new_question_for_following_tags": { "$ref": "#/definitions/schema.NotificationChannelConfig" }, "inbox": { "$ref": "#/definitions/schema.NotificationChannelConfig" } } }, "schema.GetUserPageResp": { "type": "object", "properties": { "avatar": { "description": "avatar", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "deleted_at": { "description": "delete time", "type": "integer" }, "display_name": { "description": "display name", "type": "string" }, "e_mail": { "description": "email", "type": "string" }, "rank": { "description": "rank", "type": "integer" }, "role_id": { "description": "role id", "type": "integer" }, "role_name": { "description": "role name", "type": "string" }, "status": { "description": "user status(normal,suspended,deleted,inactive)", "type": "string" }, "suspended_at": { "description": "suspended time", "type": "integer" }, "suspended_until": { "description": "suspended until time", "type": "integer" }, "user_id": { "description": "user id", "type": "string" }, "username": { "description": "username", "type": "string" } } }, "schema.GetUserPluginListResp": { "type": "object", "properties": { "name": { "type": "string" }, "slug_name": { "type": "string" } } }, "schema.GetUserStaffResp": { "type": "object", "properties": { "avatar": { "description": "avatar", "type": "string" }, "display_name": { "description": "display name", "type": "string" }, "username": { "description": "username", "type": "string" } } }, "schema.GetVoteWithPageResp": { "type": "object", "properties": { "answer_id": { "description": "answer id", "type": "string" }, "content": { "description": "content", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "object_id": { "description": "object id", "type": "string" }, "object_type": { "description": "object type", "type": "string", "enum": [ "question", "answer", "tag", "comment" ] }, "question_id": { "description": "question id", "type": "string" }, "title": { "description": "title", "type": "string" }, "url_title": { "description": "url title", "type": "string" }, "vote_type": { "description": "vote type", "type": "string" } } }, "schema.LoadingAction": { "type": "object", "properties": { "state": { "type": "string" }, "text": { "type": "string" } } }, "schema.NotificationChannelConfig": { "type": "object", "properties": { "enable": { "type": "boolean" }, "key": { "$ref": "#/definitions/constant.NotificationChannelKey" } } }, "schema.NotificationClearIDRequest": { "type": "object", "properties": { "id": { "type": "string" } } }, "schema.NotificationClearRequest": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "inbox", "achievement" ] } } }, "schema.OnCompleteAction": { "type": "object", "properties": { "refresh_form_config": { "type": "boolean" }, "toast_return_message": { "type": "boolean" } } }, "schema.Operation": { "type": "object", "properties": { "description": { "type": "string" }, "level": { "$ref": "#/definitions/schema.OperationLevel" }, "msg": { "type": "string" }, "time": { "type": "integer" }, "type": { "type": "string" } } }, "schema.OperationLevel": { "type": "string", "enum": [ "info", "danger", "warning", "secondary" ], "x-enum-varnames": [ "OperationLevelInfo", "OperationLevelDanger", "OperationLevelWarning", "OperationLevelSecondary" ] }, "schema.OperationQuestionReq": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string" }, "operation": { "description": "operation [pin unpin hide show]", "type": "string" } } }, "schema.PermissionMemberAction": { "type": "object", "properties": { "action": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" } } }, "schema.PostRenderReq": { "type": "object", "properties": { "content": { "type": "string" } } }, "schema.PrivilegeLevel": { "type": "integer", "enum": [ 1, 2, 3, 99 ], "x-enum-varnames": [ "PrivilegeLevel1", "PrivilegeLevel2", "PrivilegeLevel3", "PrivilegeLevelCustom" ] }, "schema.PrivilegeOption": { "type": "object", "properties": { "level": { "$ref": "#/definitions/schema.PrivilegeLevel" }, "level_desc": { "type": "string" }, "privileges": { "type": "array", "items": { "$ref": "#/definitions/constant.Privilege" } } } }, "schema.QuestionAdd": { "type": "object", "required": [ "title" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "description": "captcha_id", "type": "string" }, "content": { "description": "content", "type": "string", "maxLength": 65535, "minLength": 0 }, "tags": { "description": "tags", "type": "array", "items": { "$ref": "#/definitions/schema.TagItem" } }, "title": { "description": "question title", "type": "string", "maxLength": 150, "minLength": 6 } } }, "schema.QuestionAddByAnswer": { "type": "object", "required": [ "answer_content", "title" ], "properties": { "answer_content": { "type": "string", "maxLength": 65535, "minLength": 6 }, "captcha_code": { "type": "string" }, "captcha_id": { "description": "captcha_id", "type": "string" }, "content": { "description": "content", "type": "string", "maxLength": 65535, "minLength": 0 }, "mention_username_list": { "type": "array", "items": { "type": "string" } }, "tags": { "description": "tags", "type": "array", "items": { "$ref": "#/definitions/schema.TagItem" } }, "title": { "description": "question title", "type": "string", "maxLength": 150, "minLength": 6 } } }, "schema.QuestionInfoResp": { "type": "object", "properties": { "accepted_answer_id": { "type": "string" }, "answer_count": { "type": "integer" }, "answered": { "type": "boolean" }, "collected": { "type": "boolean" }, "collection_count": { "type": "integer" }, "content": { "type": "string" }, "create_time": { "type": "integer" }, "description": { "type": "string" }, "edit_time": { "type": "integer" }, "extends_actions": { "type": "array", "items": { "$ref": "#/definitions/schema.PermissionMemberAction" } }, "first_answer_id": { "type": "string" }, "follow_count": { "type": "integer" }, "html": { "type": "string" }, "id": { "type": "string" }, "is_followed": { "type": "boolean" }, "last_answer_id": { "type": "string" }, "last_answered_user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "member_actions": { "description": "MemberActions", "type": "array", "items": { "$ref": "#/definitions/schema.PermissionMemberAction" } }, "operation": { "$ref": "#/definitions/schema.Operation" }, "pin": { "type": "integer" }, "show": { "type": "integer" }, "status": { "type": "integer" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/schema.TagResp" } }, "title": { "type": "string" }, "unique_view_count": { "type": "integer" }, "update_time": { "type": "integer" }, "update_user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "url_title": { "type": "string" }, "user_info": { "$ref": "#/definitions/schema.UserBasicInfo" }, "view_count": { "type": "integer" }, "vote_count": { "type": "integer" }, "vote_status": { "type": "string" } } }, "schema.QuestionPageReq": { "type": "object", "properties": { "in_days": { "type": "integer", "minimum": 1 }, "order": { "type": "string", "enum": [ "newest", "active", "hot", "score", "unanswered", "recommend", "frequent" ] }, "page": { "type": "integer", "minimum": 1 }, "page_size": { "type": "integer", "minimum": 1 }, "tag": { "type": "string", "maxLength": 100 }, "username": { "type": "string", "maxLength": 100 } } }, "schema.QuestionPageResp": { "type": "object", "properties": { "accepted_answer_id": { "description": "answer information", "type": "string" }, "answer_count": { "type": "integer" }, "collection_count": { "type": "integer" }, "created_at": { "type": "integer" }, "description": { "type": "string" }, "follow_count": { "type": "integer" }, "id": { "type": "string" }, "last_answer_id": { "type": "string" }, "operated_at": { "description": "operator information", "type": "integer" }, "operation_type": { "type": "string" }, "operator": { "$ref": "#/definitions/schema.QuestionPageRespOperator" }, "pin": { "description": "1: unpin, 2: pin", "type": "integer" }, "show": { "description": "0: show, 1: hide", "type": "integer" }, "status": { "type": "integer" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/schema.TagResp" } }, "title": { "type": "string" }, "unique_view_count": { "type": "integer" }, "url_title": { "type": "string" }, "view_count": { "description": "question statistical information", "type": "integer" }, "vote_count": { "type": "integer" } } }, "schema.QuestionPageRespOperator": { "type": "object", "properties": { "avatar": { "type": "string" }, "display_name": { "type": "string" }, "id": { "type": "string" }, "rank": { "type": "integer" }, "status": { "type": "string" }, "username": { "type": "string" } } }, "schema.QuestionRecoverReq": { "type": "object", "required": [ "question_id" ], "properties": { "question_id": { "type": "string" } } }, "schema.QuestionUpdate": { "type": "object", "required": [ "id", "title" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "description": "captcha_id", "type": "string" }, "content": { "description": "content", "type": "string", "maxLength": 65535, "minLength": 0 }, "edit_summary": { "description": "edit summary", "type": "string" }, "id": { "description": "question id", "type": "string" }, "invite_user": { "type": "array", "items": { "type": "string" } }, "tags": { "description": "tags", "type": "array", "items": { "$ref": "#/definitions/schema.TagItem" } }, "title": { "description": "question title", "type": "string", "maxLength": 150, "minLength": 6 } } }, "schema.QuestionUpdateInviteUser": { "type": "object", "required": [ "id" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "description": "captcha_id", "type": "string" }, "id": { "type": "string" }, "invite_user": { "type": "array", "items": { "type": "string" } } } }, "schema.ReactionRespItem": { "type": "object", "properties": { "count": { "description": "Count is the number of users who reacted", "type": "integer" }, "emoji": { "description": "Emoji is the reaction emoji", "type": "string" }, "is_active": { "description": "IsActive is if current user has reacted", "type": "boolean" }, "tooltip": { "description": "Tooltip is the user's name who reacted", "type": "string" } } }, "schema.ReasonItem": { "type": "object", "properties": { "content_type": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" }, "placeholder": { "type": "string" }, "reason_key": { "type": "string" }, "reason_type": { "type": "integer" } } }, "schema.RecoverAnswerReq": { "type": "object", "required": [ "answer_id" ], "properties": { "answer_id": { "type": "string" } } }, "schema.RecoverTagReq": { "type": "object", "required": [ "tag_id" ], "properties": { "tag_id": { "type": "string" } } }, "schema.RemoveAnswerReq": { "type": "object", "required": [ "id" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "id": { "type": "string" } } }, "schema.RemoveCommentReq": { "type": "object", "required": [ "comment_id" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "comment_id": { "description": "comment id", "type": "string" } } }, "schema.RemoveQuestionReq": { "type": "object", "required": [ "id" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "description": "captcha_id", "type": "string" }, "id": { "description": "question id", "type": "string" } } }, "schema.RemoveTagReq": { "type": "object", "required": [ "tag_id" ], "properties": { "tag_id": { "description": "tag_id", "type": "string" } } }, "schema.ReopenQuestionReq": { "type": "object", "properties": { "question_id": { "type": "string" } } }, "schema.ReviewReportReq": { "type": "object", "required": [ "flag_id", "operation_type" ], "properties": { "close_msg": { "type": "string" }, "close_type": { "type": "integer" }, "content": { "type": "string", "maxLength": 65535, "minLength": 6 }, "flag_id": { "type": "string" }, "operation_type": { "type": "string", "enum": [ "edit_post", "close_post", "delete_post", "unlist_post", "ignore_report" ] }, "tags": { "type": "array", "items": { "$ref": "#/definitions/schema.TagItem" } }, "title": { "type": "string", "maxLength": 150, "minLength": 6 } } }, "schema.RevisionAuditReq": { "type": "object", "required": [ "id", "operation" ], "properties": { "id": { "description": "object id", "type": "string" }, "operation": { "description": "approve or reject", "type": "string" } } }, "schema.SearchObject": { "type": "object", "properties": { "accepted": { "type": "boolean" }, "answer_count": { "type": "integer" }, "created_at": { "type": "integer" }, "excerpt": { "type": "string" }, "id": { "type": "string" }, "question_id": { "type": "string" }, "status": { "description": "Status", "type": "string" }, "tags": { "description": "tags", "type": "array", "items": { "$ref": "#/definitions/schema.TagResp" } }, "title": { "type": "string" }, "url_title": { "type": "string" }, "user_info": { "description": "user info", "allOf": [ { "$ref": "#/definitions/schema.SearchObjectUser" } ] }, "vote_count": { "type": "integer" } } }, "schema.SearchObjectUser": { "type": "object", "properties": { "display_name": { "type": "string" }, "id": { "type": "string" }, "rank": { "type": "integer" }, "status": { "type": "string" }, "username": { "type": "string" } } }, "schema.SearchResp": { "type": "object", "properties": { "count": { "type": "integer" }, "list": { "description": "search response", "type": "array", "items": { "$ref": "#/definitions/schema.SearchResult" } } } }, "schema.SearchResult": { "type": "object", "properties": { "object": { "description": "this object", "allOf": [ { "$ref": "#/definitions/schema.SearchObject" } ] }, "object_type": { "description": "object_type", "type": "string" } } }, "schema.SendUserActivationReq": { "type": "object", "required": [ "user_id" ], "properties": { "user_id": { "type": "string" } } }, "schema.SiteAIProvider": { "type": "object", "properties": { "api_host": { "type": "string", "maxLength": 512 }, "api_key": { "type": "string", "maxLength": 256 }, "model": { "type": "string", "maxLength": 100 }, "provider": { "type": "string", "maxLength": 50 } } }, "schema.SiteAIReq": { "type": "object", "properties": { "ai_providers": { "type": "array", "items": { "$ref": "#/definitions/schema.SiteAIProvider" } }, "chosen_provider": { "type": "string", "maxLength": 50 }, "enabled": { "type": "boolean" }, "prompt_config": { "$ref": "#/definitions/schema.AIPromptConfig" } } }, "schema.SiteAIResp": { "type": "object", "properties": { "ai_providers": { "type": "array", "items": { "$ref": "#/definitions/schema.SiteAIProvider" } }, "chosen_provider": { "type": "string", "maxLength": 50 }, "enabled": { "type": "boolean" }, "prompt_config": { "$ref": "#/definitions/schema.AIPromptConfig" } } }, "schema.SiteAdvancedReq": { "type": "object", "properties": { "authorized_attachment_extensions": { "type": "array", "items": { "type": "string" } }, "authorized_image_extensions": { "type": "array", "items": { "type": "string" } }, "max_attachment_size": { "type": "integer" }, "max_image_megapixel": { "type": "integer" }, "max_image_size": { "type": "integer" } } }, "schema.SiteAdvancedResp": { "type": "object", "properties": { "authorized_attachment_extensions": { "type": "array", "items": { "type": "string" } }, "authorized_image_extensions": { "type": "array", "items": { "type": "string" } }, "max_attachment_size": { "type": "integer" }, "max_image_megapixel": { "type": "integer" }, "max_image_size": { "type": "integer" } } }, "schema.SiteBrandingReq": { "type": "object", "properties": { "favicon": { "type": "string", "maxLength": 512 }, "logo": { "type": "string", "maxLength": 512 }, "mobile_logo": { "type": "string", "maxLength": 512 }, "square_icon": { "type": "string", "maxLength": 512 } } }, "schema.SiteBrandingResp": { "type": "object", "properties": { "favicon": { "type": "string", "maxLength": 512 }, "logo": { "type": "string", "maxLength": 512 }, "mobile_logo": { "type": "string", "maxLength": 512 }, "square_icon": { "type": "string", "maxLength": 512 } } }, "schema.SiteCustomCssHTMLReq": { "type": "object", "properties": { "custom_css": { "type": "string", "maxLength": 65536 }, "custom_footer": { "type": "string", "maxLength": 65536 }, "custom_head": { "type": "string", "maxLength": 65536 }, "custom_header": { "type": "string", "maxLength": 65536 }, "custom_sidebar": { "type": "string", "maxLength": 65536 } } }, "schema.SiteCustomCssHTMLResp": { "type": "object", "properties": { "custom_css": { "type": "string", "maxLength": 65536 }, "custom_footer": { "type": "string", "maxLength": 65536 }, "custom_head": { "type": "string", "maxLength": 65536 }, "custom_header": { "type": "string", "maxLength": 65536 }, "custom_sidebar": { "type": "string", "maxLength": 65536 } } }, "schema.SiteGeneralReq": { "type": "object", "required": [ "contact_email", "name", "site_url" ], "properties": { "contact_email": { "type": "string", "maxLength": 512 }, "description": { "type": "string", "maxLength": 2000 }, "name": { "type": "string", "maxLength": 128 }, "short_description": { "type": "string", "maxLength": 255 }, "site_url": { "type": "string", "maxLength": 512 } } }, "schema.SiteGeneralResp": { "type": "object", "required": [ "contact_email", "name", "site_url" ], "properties": { "contact_email": { "type": "string", "maxLength": 512 }, "description": { "type": "string", "maxLength": 2000 }, "name": { "type": "string", "maxLength": 128 }, "short_description": { "type": "string", "maxLength": 255 }, "site_url": { "type": "string", "maxLength": 512 } } }, "schema.SiteInfoResp": { "type": "object", "properties": { "ai_enabled": { "type": "boolean" }, "branding": { "$ref": "#/definitions/schema.SiteBrandingResp" }, "custom_css_html": { "$ref": "#/definitions/schema.SiteCustomCssHTMLResp" }, "general": { "$ref": "#/definitions/schema.SiteGeneralResp" }, "interface": { "$ref": "#/definitions/schema.SiteInterfaceSettingsResp" }, "login": { "$ref": "#/definitions/schema.SiteLoginResp" }, "mcp_enabled": { "type": "boolean" }, "revision": { "type": "string" }, "site_advanced": { "$ref": "#/definitions/schema.SiteAdvancedResp" }, "site_legal": { "$ref": "#/definitions/schema.SiteLegalSimpleResp" }, "site_questions": { "$ref": "#/definitions/schema.SiteQuestionsResp" }, "site_security": { "$ref": "#/definitions/schema.SiteSecurityResp" }, "site_seo": { "$ref": "#/definitions/schema.SiteSeoResp" }, "site_tags": { "$ref": "#/definitions/schema.SiteTagsResp" }, "site_users": { "$ref": "#/definitions/schema.SiteUsersResp" }, "theme": { "$ref": "#/definitions/schema.SiteThemeResp" }, "users_settings": { "$ref": "#/definitions/schema.SiteUsersSettingsResp" }, "version": { "type": "string" } } }, "schema.SiteInterfaceReq": { "type": "object", "required": [ "language", "time_zone" ], "properties": { "language": { "type": "string", "maxLength": 128 }, "time_zone": { "type": "string", "maxLength": 128 } } }, "schema.SiteInterfaceSettingsResp": { "type": "object", "required": [ "language", "time_zone" ], "properties": { "language": { "type": "string", "maxLength": 128 }, "time_zone": { "type": "string", "maxLength": 128 } } }, "schema.SiteLegalSimpleResp": { "type": "object", "required": [ "external_content_display" ], "properties": { "external_content_display": { "type": "string", "enum": [ "always_display", "ask_before_display" ] } } }, "schema.SiteLoginReq": { "type": "object", "required": [ "require_email_verification" ], "properties": { "allow_email_domains": { "type": "array", "items": { "type": "string" } }, "allow_email_registrations": { "type": "boolean" }, "allow_new_registrations": { "type": "boolean" }, "allow_password_login": { "type": "boolean" }, "require_email_verification": { "type": "boolean" } } }, "schema.SiteLoginResp": { "type": "object", "properties": { "allow_email_domains": { "type": "array", "items": { "type": "string" } }, "allow_email_registrations": { "type": "boolean" }, "allow_new_registrations": { "type": "boolean" }, "allow_password_login": { "type": "boolean" }, "require_email_verification": { "type": "boolean" } } }, "schema.SiteMCPReq": { "type": "object", "properties": { "enabled": { "type": "boolean" } } }, "schema.SiteMCPResp": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "http_header": { "type": "string" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "schema.SitePoliciesReq": { "type": "object", "properties": { "privacy_policy_original_text": { "type": "string" }, "privacy_policy_parsed_text": { "type": "string" }, "terms_of_service_original_text": { "type": "string" }, "terms_of_service_parsed_text": { "type": "string" } } }, "schema.SitePoliciesResp": { "type": "object", "properties": { "privacy_policy_original_text": { "type": "string" }, "privacy_policy_parsed_text": { "type": "string" }, "terms_of_service_original_text": { "type": "string" }, "terms_of_service_parsed_text": { "type": "string" } } }, "schema.SiteQuestionsReq": { "type": "object", "properties": { "min_content": { "type": "integer", "maximum": 65535, "minimum": 0 }, "min_tags": { "type": "integer", "maximum": 5, "minimum": 0 }, "restrict_answer": { "type": "boolean" } } }, "schema.SiteQuestionsResp": { "type": "object", "properties": { "min_content": { "type": "integer", "maximum": 65535, "minimum": 0 }, "min_tags": { "type": "integer", "maximum": 5, "minimum": 0 }, "restrict_answer": { "type": "boolean" } } }, "schema.SiteSecurityReq": { "type": "object", "required": [ "external_content_display" ], "properties": { "check_update": { "type": "boolean" }, "external_content_display": { "type": "string", "enum": [ "always_display", "ask_before_display" ] }, "login_required": { "type": "boolean" } } }, "schema.SiteSecurityResp": { "type": "object", "required": [ "external_content_display" ], "properties": { "check_update": { "type": "boolean" }, "external_content_display": { "type": "string", "enum": [ "always_display", "ask_before_display" ] }, "login_required": { "type": "boolean" } } }, "schema.SiteSeoReq": { "type": "object", "required": [ "permalink", "robots" ], "properties": { "permalink": { "type": "integer", "maximum": 4, "minimum": 0 }, "robots": { "type": "string" } } }, "schema.SiteSeoResp": { "type": "object", "required": [ "permalink", "robots" ], "properties": { "permalink": { "type": "integer", "maximum": 4, "minimum": 0 }, "robots": { "type": "string" } } }, "schema.SiteTagsReq": { "type": "object", "properties": { "recommend_tags": { "type": "array", "items": { "$ref": "#/definitions/schema.SiteWriteTag" } }, "required_tag": { "type": "boolean" }, "reserved_tags": { "type": "array", "items": { "$ref": "#/definitions/schema.SiteWriteTag" } } } }, "schema.SiteTagsResp": { "type": "object", "properties": { "recommend_tags": { "type": "array", "items": { "$ref": "#/definitions/schema.SiteWriteTag" } }, "required_tag": { "type": "boolean" }, "reserved_tags": { "type": "array", "items": { "$ref": "#/definitions/schema.SiteWriteTag" } } } }, "schema.SiteThemeReq": { "type": "object", "required": [ "theme" ], "properties": { "color_scheme": { "type": "string", "maxLength": 100 }, "layout": { "type": "string", "enum": [ "Full-width", "Fixed-width" ] }, "theme": { "type": "string", "maxLength": 255 }, "theme_config": { "type": "object", "additionalProperties": {} } } }, "schema.SiteThemeResp": { "type": "object", "properties": { "color_scheme": { "type": "string" }, "layout": { "type": "string" }, "theme": { "type": "string" }, "theme_config": { "type": "object", "additionalProperties": {} }, "theme_options": { "type": "array", "items": { "$ref": "#/definitions/schema.ThemeOption" } } } }, "schema.SiteUsersReq": { "type": "object", "required": [ "default_avatar" ], "properties": { "allow_update_avatar": { "type": "boolean" }, "allow_update_bio": { "type": "boolean" }, "allow_update_display_name": { "type": "boolean" }, "allow_update_location": { "type": "boolean" }, "allow_update_username": { "type": "boolean" }, "allow_update_website": { "type": "boolean" }, "default_avatar": { "type": "string", "enum": [ "system", "gravatar" ] }, "gravatar_base_url": { "type": "string" } } }, "schema.SiteUsersResp": { "type": "object", "required": [ "default_avatar" ], "properties": { "allow_update_avatar": { "type": "boolean" }, "allow_update_bio": { "type": "boolean" }, "allow_update_display_name": { "type": "boolean" }, "allow_update_location": { "type": "boolean" }, "allow_update_username": { "type": "boolean" }, "allow_update_website": { "type": "boolean" }, "default_avatar": { "type": "string", "enum": [ "system", "gravatar" ] }, "gravatar_base_url": { "type": "string" } } }, "schema.SiteUsersSettingsReq": { "type": "object", "required": [ "default_avatar" ], "properties": { "default_avatar": { "type": "string", "enum": [ "system", "gravatar" ] }, "gravatar_base_url": { "type": "string" } } }, "schema.SiteUsersSettingsResp": { "type": "object", "required": [ "default_avatar" ], "properties": { "default_avatar": { "type": "string", "enum": [ "system", "gravatar" ] }, "gravatar_base_url": { "type": "string" } } }, "schema.SiteWriteTag": { "type": "object", "required": [ "slug_name" ], "properties": { "display_name": { "type": "string" }, "slug_name": { "type": "string" } } }, "schema.TagItem": { "type": "object", "properties": { "display_name": { "description": "display_name", "type": "string", "maxLength": 35 }, "original_text": { "description": "original text", "type": "string" }, "slug_name": { "description": "slug_name", "type": "string", "maxLength": 35 } } }, "schema.TagResp": { "type": "object", "properties": { "display_name": { "type": "string" }, "main_tag_slug_name": { "description": "if main tag slug name is not empty, this tag is synonymous with the main tag", "type": "string" }, "recommend": { "type": "boolean" }, "reserved": { "type": "boolean" }, "slug_name": { "type": "string" } } }, "schema.TagSynonym": { "type": "object", "properties": { "display_name": { "description": "display name", "type": "string" }, "main_tag_slug_name": { "description": "if main tag slug name is not empty, this tag is synonymous with the main tag", "type": "string" }, "slug_name": { "description": "slug name", "type": "string" }, "tag_id": { "description": "tag id", "type": "string" } } }, "schema.ThemeOption": { "type": "object", "properties": { "label": { "type": "string" }, "value": { "type": "string" } } }, "schema.UIOptionAction": { "type": "object", "properties": { "loading": { "$ref": "#/definitions/schema.LoadingAction" }, "method": { "type": "string" }, "on_complete": { "$ref": "#/definitions/schema.OnCompleteAction" }, "url": { "type": "string" } } }, "schema.UnreviewedRevisionInfoInfo": { "type": "object", "properties": { "answer_accepted": { "type": "boolean" }, "answer_count": { "type": "integer" }, "answer_id": { "type": "string" }, "comment_id": { "type": "string" }, "content": { "type": "string" }, "created_at": { "type": "integer" }, "html": { "type": "string" }, "object_creator_user_id": { "type": "string" }, "object_id": { "type": "string" }, "object_type": { "type": "string" }, "question_id": { "type": "string" }, "show_status": { "type": "integer" }, "status": { "type": "integer" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/schema.TagResp" } }, "title": { "type": "string" }, "url_title": { "type": "string" } } }, "schema.UpdateAPIKeyReq": { "type": "object", "required": [ "description", "id" ], "properties": { "description": { "type": "string", "maxLength": 150 }, "id": { "type": "integer" } } }, "schema.UpdateBadgeStatusReq": { "type": "object", "required": [ "id", "status" ], "properties": { "id": { "description": "badge id", "type": "string" }, "status": { "description": "badge status", "allOf": [ { "$ref": "#/definitions/schema.BadgeStatus" } ] } } }, "schema.UpdateCommentReq": { "type": "object", "required": [ "comment_id", "original_text" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "description": "whether user can delete it", "type": "string" }, "comment_id": { "description": "comment id", "type": "string" }, "original_text": { "description": "original comment content", "type": "string", "maxLength": 600, "minLength": 2 } } }, "schema.UpdateFollowTagsReq": { "type": "object", "properties": { "slug_name_list": { "description": "tag slug name list", "type": "array", "items": { "type": "string" } } } }, "schema.UpdateInfoRequest": { "type": "object", "properties": { "avatar": { "$ref": "#/definitions/schema.AvatarInfo" }, "bio": { "type": "string", "maxLength": 4096 }, "display_name": { "type": "string", "maxLength": 30, "minLength": 2 }, "location": { "type": "string", "maxLength": 100 }, "username": { "type": "string", "maxLength": 30, "minLength": 2 }, "website": { "type": "string", "maxLength": 500 } } }, "schema.UpdatePluginConfigReq": { "type": "object", "required": [ "plugin_slug_name" ], "properties": { "config_fields": { "type": "object", "additionalProperties": {} }, "plugin_slug_name": { "type": "string", "maxLength": 100 } } }, "schema.UpdatePluginStatusReq": { "type": "object", "required": [ "plugin_slug_name" ], "properties": { "enabled": { "type": "boolean" }, "plugin_slug_name": { "type": "string", "maxLength": 100 } } }, "schema.UpdatePrivilegesConfigReq": { "type": "object", "required": [ "level" ], "properties": { "custom_privileges": { "type": "array", "items": { "$ref": "#/definitions/constant.Privilege" } }, "level": { "minimum": 1, "allOf": [ { "$ref": "#/definitions/schema.PrivilegeLevel" } ] } } }, "schema.UpdateReactionReq": { "type": "object", "required": [ "emoji", "object_id", "reaction" ], "properties": { "emoji": { "type": "string", "enum": [ "heart", "smile", "frown" ] }, "object_id": { "type": "string" }, "reaction": { "type": "string", "enum": [ "activate", "deactivate" ] } } }, "schema.UpdateReviewReq": { "type": "object", "required": [ "review_id", "status" ], "properties": { "review_id": { "type": "integer" }, "status": { "type": "string", "enum": [ "approve", "reject" ] } } }, "schema.UpdateSMTPConfigReq": { "type": "object", "properties": { "encryption": { "description": "\"\" SSL TLS", "type": "string", "enum": [ "SSL", "TLS" ] }, "from_email": { "type": "string", "maxLength": 256 }, "from_name": { "type": "string", "maxLength": 256 }, "smtp_authentication": { "type": "boolean" }, "smtp_host": { "type": "string", "maxLength": 256 }, "smtp_password": { "type": "string", "maxLength": 256 }, "smtp_port": { "type": "integer", "maximum": 65535, "minimum": 1 }, "smtp_username": { "type": "string", "maxLength": 256 }, "test_email_recipient": { "type": "string" } } }, "schema.UpdateTagReq": { "type": "object", "required": [ "tag_id" ], "properties": { "display_name": { "description": "display_name", "type": "string", "maxLength": 35 }, "edit_summary": { "description": "edit summary", "type": "string" }, "original_text": { "description": "original text", "type": "string" }, "slug_name": { "description": "slug_name", "type": "string", "maxLength": 35 }, "tag_id": { "description": "tag_id", "type": "string" } } }, "schema.UpdateTagSynonymReq": { "type": "object", "required": [ "synonym_tag_list", "tag_id" ], "properties": { "synonym_tag_list": { "description": "synonym tag list", "type": "array", "items": { "$ref": "#/definitions/schema.TagItem" } }, "tag_id": { "description": "tag_id", "type": "string" } } }, "schema.UpdateUserInterfaceRequest": { "type": "object", "required": [ "color_scheme", "language" ], "properties": { "color_scheme": { "description": "Color scheme", "type": "string", "maxLength": 100 }, "language": { "description": "language", "type": "string", "maxLength": 100 } } }, "schema.UpdateUserNotificationConfigReq": { "type": "object", "properties": { "all_new_question": { "$ref": "#/definitions/schema.NotificationChannelConfig" }, "all_new_question_for_following_tags": { "$ref": "#/definitions/schema.NotificationChannelConfig" }, "inbox": { "$ref": "#/definitions/schema.NotificationChannelConfig" } } }, "schema.UpdateUserPasswordReq": { "type": "object", "required": [ "password", "user_id" ], "properties": { "password": { "type": "string", "maxLength": 32, "minLength": 8 }, "user_id": { "type": "string" } } }, "schema.UpdateUserPluginConfigReq": { "type": "object", "required": [ "plugin_slug_name" ], "properties": { "config_fields": { "type": "object", "additionalProperties": {} }, "plugin_slug_name": { "type": "string", "maxLength": 100 } } }, "schema.UpdateUserRoleReq": { "type": "object", "required": [ "role_id", "user_id" ], "properties": { "role_id": { "description": "role id", "type": "integer" }, "user_id": { "description": "user id", "type": "string" } } }, "schema.UpdateUserStatusReq": { "type": "object", "required": [ "status", "user_id" ], "properties": { "remove_all_content": { "type": "boolean" }, "status": { "type": "string", "enum": [ "normal", "suspended", "deleted", "inactive" ] }, "suspend_duration": { "type": "string", "enum": [ "24h", "48h", "72h", "7d", "14d", "1m", "2m", "3m", "6m", "1y", "forever" ] }, "user_id": { "type": "string" } } }, "schema.UserBasicInfo": { "type": "object", "properties": { "avatar": { "type": "string" }, "display_name": { "type": "string" }, "id": { "type": "string" }, "language": { "type": "string" }, "location": { "type": "string" }, "rank": { "type": "integer" }, "status": { "type": "string" }, "suspended_until": { "type": "integer" }, "username": { "type": "string" }, "website": { "type": "string" } } }, "schema.UserChangeEmailSendCodeReq": { "type": "object", "required": [ "e_mail" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "e_mail": { "type": "string", "maxLength": 500 }, "pass": { "type": "string", "maxLength": 32, "minLength": 8 } } }, "schema.UserChangeEmailVerifyReq": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 500 } } }, "schema.UserEmailLoginReq": { "type": "object", "required": [ "e_mail", "pass" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "e_mail": { "type": "string", "maxLength": 500 }, "pass": { "type": "string", "maxLength": 32, "minLength": 8 } } }, "schema.UserLoginResp": { "type": "object", "properties": { "access_token": { "description": "access token", "type": "string" }, "answer_count": { "description": "answer count", "type": "integer" }, "authority_group": { "description": "authority group", "type": "integer" }, "avatar": { "description": "avatar", "type": "string" }, "bio": { "description": "bio markdown", "type": "string" }, "bio_html": { "description": "bio html", "type": "string" }, "color_scheme": { "description": "Color scheme", "type": "string" }, "created_at": { "description": "create time", "type": "integer" }, "display_name": { "description": "display name", "type": "string" }, "e_mail": { "description": "email", "type": "string" }, "follow_count": { "description": "follow count", "type": "integer" }, "have_password": { "description": "user have password", "type": "boolean" }, "id": { "description": "user id", "type": "string" }, "language": { "description": "language", "type": "string" }, "last_login_date": { "description": "last login date", "type": "integer" }, "location": { "description": "location", "type": "string" }, "mail_status": { "description": "mail status(1 pass 2 to be verified)", "type": "integer" }, "mobile": { "description": "mobile", "type": "string" }, "notice_status": { "description": "notice status(1 on 2off)", "type": "integer" }, "question_count": { "description": "question count", "type": "integer" }, "rank": { "description": "rank", "type": "integer" }, "role_id": { "description": "role id", "type": "integer" }, "status": { "description": "user status", "type": "string" }, "suspended_until": { "description": "suspended until timestamp", "type": "integer" }, "username": { "description": "username", "type": "string" }, "visit_token": { "description": "visit token", "type": "string" }, "website": { "description": "website", "type": "string" } } }, "schema.UserModifyPasswordReq": { "type": "object", "required": [ "pass" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "old_pass": { "type": "string", "maxLength": 32, "minLength": 8 }, "pass": { "type": "string", "maxLength": 32, "minLength": 8 } } }, "schema.UserRankingResp": { "type": "object", "properties": { "staffs": { "type": "array", "items": { "$ref": "#/definitions/schema.UserRankingSimpleInfo" } }, "users_with_the_most_reputation": { "type": "array", "items": { "$ref": "#/definitions/schema.UserRankingSimpleInfo" } }, "users_with_the_most_vote": { "type": "array", "items": { "$ref": "#/definitions/schema.UserRankingSimpleInfo" } } } }, "schema.UserRankingSimpleInfo": { "type": "object", "properties": { "avatar": { "description": "avatar", "type": "string" }, "display_name": { "description": "display name", "type": "string" }, "rank": { "description": "rank", "type": "integer" }, "username": { "description": "username", "type": "string" }, "vote_count": { "description": "vote", "type": "integer" } } }, "schema.UserRePassWordRequest": { "type": "object", "required": [ "code", "pass" ], "properties": { "code": { "type": "string", "maxLength": 100 }, "pass": { "type": "string", "maxLength": 32 } } }, "schema.UserRegisterReq": { "type": "object", "required": [ "e_mail", "name", "pass" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "e_mail": { "type": "string", "maxLength": 500 }, "name": { "type": "string", "maxLength": 30, "minLength": 2 }, "pass": { "type": "string", "maxLength": 32, "minLength": 8 } } }, "schema.UserRetrievePassWordRequest": { "type": "object", "required": [ "e_mail" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "e_mail": { "type": "string", "maxLength": 500 } } }, "schema.UserUnsubscribeNotificationReq": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 500 } } }, "schema.VoteReq": { "type": "object", "required": [ "object_id" ], "properties": { "captcha_code": { "type": "string" }, "captcha_id": { "type": "string" }, "is_cancel": { "type": "boolean" }, "object_id": { "type": "string" } } }, "schema.VoteResp": { "type": "object", "properties": { "down_votes": { "type": "integer" }, "up_votes": { "type": "integer" }, "vote_status": { "type": "string" }, "votes": { "type": "integer" } } }, "translator.LangOption": { "type": "object", "properties": { "label": { "type": "string" }, "progress": { "description": "Translation completion percentage", "type": "integer" }, "value": { "type": "string" } } } }, "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } } }