openapi: 3.0.1 info: contact: {} description: answer api title: answer version: v0.0.1 servers: - url: //127.0.0.1:80/ paths: /: get: description: if config file not exist try to redirect to install page summary: if config file not exist try to redirect to install page tags: - installation /answer/admin/api/answer/page: get: description: "Status:[available,deleted]" parameters: - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: user status in: query name: status schema: enum: - available - deleted type: string - description: answer id or question title in: query name: query schema: type: string - description: question id in: query name: question_id schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: AdminSearchAnswerList tags: - admin /answer/admin/api/answer/status: put: description: "Status:[available,deleted]" requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AdminSetAnswerStatusRequest' description: AdminSetAnswerStatusRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: AdminSetAnswerStatus tags: - admin x-codegen-request-body-name: data /answer/admin/api/dashboard: get: description: DashboardInfo responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: DashboardInfo tags: - admin /answer/admin/api/language/options: get: description: Get language options responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: Get language options tags: - Lang /answer/admin/api/question/page: get: description: "Status:[available,closed,deleted]" parameters: - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: user status in: query name: status schema: enum: - available - closed - deleted type: string - description: question id or title in: query name: query schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: AdminSearchList tags: - admin /answer/admin/api/question/status: put: description: "Status:[available,closed,deleted]" requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AdminSetQuestionStatusRequest' description: AdminSetQuestionStatusRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: AdminSetQuestionStatus tags: - admin x-codegen-request-body-name: data /answer/admin/api/reasons: get: description: get reasons by object type and action parameters: - description: object_type in: query name: object_type required: true schema: enum: - question - answer - comment - user type: string - description: action in: query name: action required: true schema: enum: - status - close - flag - review type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: get reasons by object type and action tags: - reason /answer/admin/api/report/: put: description: handle flag requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.ReportHandleReq' description: flag required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] - ApiKeyAuth: [] summary: handle flag tags: - admin x-codegen-request-body-name: data /answer/admin/api/reports/page: get: description: list report records parameters: - description: status in: query name: status required: true schema: enum: - pending - completed type: string - description: object_type in: query name: object_type required: true schema: enum: - all - question - answer - comment type: string - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] - ApiKeyAuth: [] summary: list report page tags: - admin /answer/admin/api/roles: get: description: get role list responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_roles_get_200_response' description: OK summary: get role list tags: - admin /answer/admin/api/setting/smtp: get: description: GetSMTPConfig get smtp config responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_setting_smtp_get_200_response' description: OK security: - ApiKeyAuth: [] summary: GetSMTPConfig get smtp config tags: - admin put: description: update smtp config requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.UpdateSMTPConfigReq' description: smtp config required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update smtp config tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/branding: get: description: get site interface responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_branding_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site interface tags: - admin put: description: update site info branding requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteBrandingReq' description: branding info required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site info branding tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/custom-css-html: get: description: get site info custom html css config responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_custom_css_html_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site info custom html css config tags: - admin put: description: update site custom css html config requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteCustomCssHTMLReq' description: login info required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site custom css html config tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/general: get: description: get site general information responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_general_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site general information tags: - admin put: description: update site general information requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteGeneralReq' description: general required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site general information tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/interface: get: description: get site interface responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_interface_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site interface tags: - admin put: description: update site info interface requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteInterfaceReq' description: general required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site info interface tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/legal: get: description: Set the legal information for the site responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_legal_get_200_response' description: OK security: - ApiKeyAuth: [] summary: Set the legal information for the site tags: - admin put: description: update site legal info requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteLegalReq' description: write info required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site legal info tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/login: get: description: get site info login config responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_login_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site info login config tags: - admin put: description: update site login requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteLoginReq' description: login info required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site login tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/seo: get: description: get site seo information responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_seo_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site seo information tags: - admin put: description: update site seo information requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteSeoReq' description: seo required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site seo information tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/theme: get: description: get site info theme config responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_theme_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site info theme config tags: - admin put: description: update site custom css html config requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteThemeReq' description: login info required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site custom css html config tags: - admin x-codegen-request-body-name: data /answer/admin/api/siteinfo/write: get: description: get site interface responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_siteinfo_write_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get site interface tags: - admin put: description: update site write info requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.SiteWriteReq' description: write info required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update site write info tags: - admin x-codegen-request-body-name: data /answer/admin/api/theme/options: get: description: Get theme options responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: Get theme options tags: - admin /answer/admin/api/user: post: description: add user requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AddUserReq' description: user required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: add user tags: - admin x-codegen-request-body-name: data /answer/admin/api/user/password: put: description: update user password requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateUserPasswordReq' description: user required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update user password tags: - admin x-codegen-request-body-name: data /answer/admin/api/user/role: put: description: update user role requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateUserRoleReq' description: user required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update user role tags: - admin x-codegen-request-body-name: data /answer/admin/api/user/status: put: description: update user requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateUserStatusReq' description: user required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update user tags: - admin x-codegen-request-body-name: data /answer/admin/api/users/page: get: description: get user page parameters: - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: "search query: email, username or id:[id]" in: query name: query schema: type: string - description: staff user in: query name: staff schema: type: boolean - description: user status in: query name: status schema: enum: - suspended - deleted - inactive type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_admin_api_users_page_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get user page tags: - admin /answer/api/v1/activity/timeline: get: description: get object timeline parameters: - description: object id in: query name: object_id schema: type: string - description: tag slug name in: query name: tag_slug_name schema: type: string - description: object type in: query name: object_type schema: enum: - question - answer - tag type: string - description: is show vote in: query name: show_vote schema: type: boolean responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_activity_timeline_get_200_response' description: OK summary: get object timeline tags: - Comment /answer/api/v1/activity/timeline/detail: get: description: get object timeline detail parameters: - description: revision id in: query name: revision_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_activity_timeline_get_200_response' description: OK summary: get object timeline detail tags: - Comment /answer/api/v1/answer: delete: description: delete answer requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.RemoveAnswerReq' description: answer required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: delete answer tags: - api-answer x-codegen-request-body-name: data post: description: Insert Answer requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AnswerAddReq' description: AnswerAddReq required: true responses: "200": content: application/json: schema: type: string description: OK security: - ApiKeyAuth: [] summary: Insert Answer tags: - api-answer x-codegen-request-body-name: data put: description: Update Answer requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AnswerUpdateReq' description: AnswerUpdateReq required: true responses: "200": content: application/json: schema: type: string description: OK security: - ApiKeyAuth: [] summary: Update Answer tags: - api-answer x-codegen-request-body-name: data /answer/api/v1/answer/acceptance: post: description: Accepted requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AnswerAcceptedReq' description: AnswerAcceptedReq required: true responses: "200": content: application/json: schema: type: string description: OK security: - ApiKeyAuth: [] summary: Accepted tags: - api-answer x-codegen-request-body-name: data /answer/api/v1/answer/info: get: description: Get Answer parameters: - description: Answer TagID in: query name: id required: true schema: default: "1" type: string responses: "200": content: application/json: schema: type: string description: OK summary: Get Answer tags: - api-answer /answer/api/v1/answer/page: get: description: AnswerList
order (default or updated) parameters: - description: question_id in: query name: question_id required: true schema: type: string - description: order in: query name: order required: true schema: type: string - description: page in: query name: page required: true schema: type: string - description: page_size in: query name: page_size required: true schema: type: string responses: "200": content: application/json: schema: type: string description: OK security: - ApiKeyAuth: [] summary: AnswerList tags: - api-answer /answer/api/v1/collection/switch: post: description: add collection requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.CollectionSwitchReq' description: collection required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_collection_switch_post_200_response' description: OK security: - ApiKeyAuth: [] summary: add collection tags: - Collection x-codegen-request-body-name: data /answer/api/v1/comment: delete: description: remove comment requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.RemoveCommentReq' description: comment required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: remove comment tags: - Comment x-codegen-request-body-name: data get: description: get comment by id parameters: - description: id in: query name: id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_comment_get_200_response' description: OK summary: get comment by id tags: - Comment post: description: add comment requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AddCommentReq' description: comment required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_comment_post_200_response' description: OK security: - ApiKeyAuth: [] summary: add comment tags: - Comment x-codegen-request-body-name: data put: description: update comment requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateCommentReq' description: comment required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update comment tags: - Comment x-codegen-request-body-name: data /answer/api/v1/comment/page: get: description: get comment page parameters: - description: page in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: object id in: query name: object_id required: true schema: type: string - description: query condition in: query name: query_cond schema: enum: - vote type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_comment_get_200_response' description: OK summary: get comment page tags: - Comment /answer/api/v1/file: post: description: upload file requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/_answer_api_v1_file_post_request' required: true responses: "200": content: '*/*': schema: $ref: '#/components/schemas/_answer_api_v1_file_post_200_response' description: OK security: - ApiKeyAuth: [] summary: upload file tags: - Upload /answer/api/v1/follow: post: description: follow object or cancel follow operation requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.FollowReq' description: follow required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_follow_post_200_response' description: OK security: - ApiKeyAuth: [] summary: follow object or cancel follow operation tags: - Activity x-codegen-request-body-name: data /answer/api/v1/follow/tags: put: description: update user follow tags requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateFollowTagsReq' description: follow required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update user follow tags tags: - Activity x-codegen-request-body-name: data /answer/api/v1/language/config: get: description: get language config mapping parameters: - description: Accept-Language in: header name: Accept-Language required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: get language config mapping tags: - Lang /answer/api/v1/language/options: get: description: Get language options responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: Get language options tags: - Lang /answer/api/v1/notification/page: get: description: get notification list parameters: - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: type in: query name: type required: true schema: enum: - inbox - achievement type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: get notification list tags: - Notification /answer/api/v1/notification/read/state: put: description: ClearUnRead requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.NotificationClearIDRequest' description: NotificationClearIDRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: ClearUnRead tags: - Notification x-codegen-request-body-name: data /answer/api/v1/notification/read/state/all: put: description: ClearUnRead requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.NotificationClearRequest' description: NotificationClearRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: ClearUnRead tags: - Notification x-codegen-request-body-name: data /answer/api/v1/notification/status: get: description: GetRedDot responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: GetRedDot tags: - Notification put: description: DelRedDot requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.NotificationClearRequest' description: NotificationClearRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: DelRedDot tags: - Notification x-codegen-request-body-name: data /answer/api/v1/personal/answer/page: get: description: UserAnswerList parameters: - description: username in: query name: username required: true schema: default: string type: string - description: order in: query name: order required: true schema: enum: - newest - score type: string - description: page in: query name: page required: true schema: default: "0" type: string - description: pagesize in: query name: pagesize required: true schema: default: "20" type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserAnswerList tags: - api-answer /answer/api/v1/personal/collection/page: get: description: UserCollectionList parameters: - description: page in: query name: page required: true schema: default: "0" type: string - description: pagesize in: query name: pagesize required: true schema: default: "20" type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserCollectionList tags: - Collection /answer/api/v1/personal/comment/page: get: description: user personal comment list parameters: - description: page in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: username in: query name: username schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_personal_comment_page_get_200_response' description: OK summary: user personal comment list tags: - Comment /answer/api/v1/personal/qa/top: get: description: UserTop parameters: - description: username in: query name: username required: true schema: default: string type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserTop tags: - Question /answer/api/v1/personal/rank/page: get: description: user personal rank list parameters: - description: page in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: username in: query name: username schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_personal_rank_page_get_200_response' description: OK summary: user personal rank list tags: - Rank /answer/api/v1/personal/user/info: get: description: GetOtherUserInfoByUsername parameters: - description: username in: query name: username required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_personal_user_info_get_200_response' description: OK security: - ApiKeyAuth: [] summary: GetOtherUserInfoByUsername tags: - User /answer/api/v1/personal/vote/page: get: description: user's vote parameters: - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_personal_vote_page_get_200_response' description: OK security: - ApiKeyAuth: [] summary: user's votes tags: - Activity /answer/api/v1/post/render: post: description: render post content requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.PostRenderReq' description: PostRenderReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: render post content tags: - Upload x-codegen-request-body-name: data /answer/api/v1/question: delete: description: delete question requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.RemoveQuestionReq' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: delete question tags: - Question x-codegen-request-body-name: data post: description: add question requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.QuestionAdd' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: add question tags: - Question x-codegen-request-body-name: data put: description: update question requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.QuestionUpdate' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: update question tags: - Question x-codegen-request-body-name: data /answer/api/v1/question/answer: post: description: add question and answer requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.QuestionAddByAnswer' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: add question and answer tags: - Question x-codegen-request-body-name: data /answer/api/v1/question/closemsglist: get: description: close question msg list responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: close question msg list tags: - Question /answer/api/v1/question/info: get: description: get question details parameters: - description: Question TagID in: query name: id required: true schema: default: "1" type: string responses: "200": content: application/json: schema: type: string description: OK security: - ApiKeyAuth: [] summary: get question details tags: - Question /answer/api/v1/question/operation: put: description: "Operation question \\n operation [pin unpin hide show]" requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.OperationQuestionReq' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: Operation question tags: - Question x-codegen-request-body-name: data /answer/api/v1/question/page: get: description: get questions by page requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.QuestionPageReq' description: QuestionPageReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_question_page_get_200_response' description: OK summary: get questions by page tags: - Question x-codegen-request-body-name: data /answer/api/v1/question/reopen: put: description: reopen question requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.ReopenQuestionReq' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: reopen question tags: - Question x-codegen-request-body-name: data /answer/api/v1/question/similar: get: description: add question title like parameters: - description: title in: query name: title required: true schema: default: string type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: add question title like tags: - Question /answer/api/v1/question/similar/tag: get: description: Search Similar Question parameters: - description: question_id in: query name: question_id required: true schema: type: string responses: "200": content: application/json: schema: type: string description: OK summary: Search Similar Question tags: - Question /answer/api/v1/question/status: put: description: Close question requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.CloseQuestionReq' description: question required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: Close question tags: - Question x-codegen-request-body-name: data /answer/api/v1/question/tags: get: description: get tag list parameters: - description: tag in: query name: tag schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_question_tags_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get tag list tags: - Tag /answer/api/v1/reasons: get: description: get reasons by object type and action parameters: - description: object_type in: query name: object_type required: true schema: enum: - question - answer - comment - user type: string - description: action in: query name: action required: true schema: enum: - status - close - flag - review type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: get reasons by object type and action tags: - reason /answer/api/v1/report: post: description: "add report
source (question, answer, comment, user)" requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AddReportReq' description: report required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] - ApiKeyAuth: [] summary: add report tags: - Report x-codegen-request-body-name: data /answer/api/v1/report/type/list: get: description: get report type list parameters: - description: report source in: query name: source required: true schema: enum: - question - answer - comment - user type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_report_type_list_get_200_response' description: OK summary: get report type list tags: - Report /answer/api/v1/revisions: get: description: get revision list parameters: - description: object id in: query name: object_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_revisions_get_200_response' description: OK summary: get revision list tags: - Revision /answer/api/v1/revisions/audit: put: description: revision audit operation:approve or reject requestBody: content: '*/*': schema: $ref: '#/components/schemas/schema.RevisionAuditReq' description: audit required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: revision audit tags: - Revision x-codegen-request-body-name: data /answer/api/v1/revisions/edit/check: get: description: check can update revision parameters: - description: id in: query name: id required: true schema: default: string type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: check can update revision tags: - Revision /answer/api/v1/revisions/unreviewed: get: description: get unreviewed revision list parameters: - description: page id in: query name: page required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_revisions_unreviewed_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get unreviewed revision list tags: - Revision /answer/api/v1/search: get: description: search object parameters: - description: query string in: query name: q required: true schema: type: string - description: order in: query name: order required: true schema: enum: - newest - active - score - relevance type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_search_get_200_response' description: OK security: - ApiKeyAuth: [] summary: search object tags: - Search /answer/api/v1/siteinfo: get: description: get site info responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_siteinfo_get_200_response' description: OK summary: get site info tags: - site /answer/api/v1/siteinfo/legal: get: description: get site legal info parameters: - description: legal information type in: query name: info_type required: true schema: enum: - tos - privacy type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_siteinfo_legal_get_200_response' description: OK summary: get site legal info tags: - site /answer/api/v1/tag: delete: description: delete tag requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.RemoveTagReq' description: tag required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: delete tag tags: - Tag x-codegen-request-body-name: data get: description: get tag one parameters: - description: tag id in: query name: tag_id required: true schema: type: string - description: tag name in: query name: tag_name required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_tag_get_200_response' description: OK summary: get tag one tags: - Tag post: description: add tag requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.AddTagReq' description: tag required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: add tag tags: - Tag x-codegen-request-body-name: data put: description: update tag requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateTagReq' description: tag required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: update tag tags: - Tag x-codegen-request-body-name: data /answer/api/v1/tag/synonym: put: description: update tag requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateTagSynonymReq' description: tag required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: update tag tags: - Tag x-codegen-request-body-name: data /answer/api/v1/tag/synonyms: get: description: get tag synonyms parameters: - description: tag id in: query name: tag_id required: true schema: type: integer responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_tag_synonyms_get_200_response' description: OK summary: get tag synonyms tags: - Tag /answer/api/v1/tags: get: description: get tags list parameters: - description: string collection explode: false in: query name: tags schema: items: type: string type: array style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: get tags list tags: - Tag /answer/api/v1/tags/following: get: description: get following tag list responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_tags_following_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get following tag list tags: - Tag /answer/api/v1/tags/page: get: description: get tag page parameters: - description: page size in: query name: page schema: type: integer - description: page size in: query name: page_size schema: type: integer - description: slug_name in: query name: slug_name schema: type: string - description: query condition in: query name: query_cond schema: enum: - popular - name - newest type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_tags_page_get_200_response' description: OK summary: get tag page tags: - Tag /answer/api/v1/user/action/record: get: description: ActionRecord parameters: - description: action in: query name: action required: true schema: enum: - login - e_mail - find_pass type: string responses: "200": content: '*/*': schema: $ref: '#/components/schemas/_answer_api_v1_user_action_record_get_200_response' description: OK security: - ApiKeyAuth: [] summary: ActionRecord tags: - User /answer/api/v1/user/email: put: description: user change email verification requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserChangeEmailVerifyReq' description: UserChangeEmailVerifyReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: user change email verification tags: - User x-codegen-request-body-name: data /answer/api/v1/user/email/change/code: post: description: send email to the user email then change their email requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserChangeEmailSendCodeReq' description: UserChangeEmailSendCodeReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: send email to the user email then change their email tags: - User x-codegen-request-body-name: data /answer/api/v1/user/email/notification: put: description: unsubscribe email notification responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: unsubscribe email notification tags: - User /answer/api/v1/user/email/verification: post: description: UserVerifyEmail parameters: - description: code in: query name: code required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_email_verification_post_200_response' description: OK summary: UserVerifyEmail tags: - User /answer/api/v1/user/email/verification/send: post: description: UserVerifyEmailSend parameters: - description: captcha_id in: query name: captcha_id schema: type: string - description: captcha_code in: query name: captcha_code schema: type: string responses: "200": content: application/json: schema: type: string description: OK security: - ApiKeyAuth: [] summary: UserVerifyEmailSend tags: - User /answer/api/v1/user/info: get: description: "get user info, if user no login response http code is 200, but\ \ user info is null" responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_info_get_200_response' description: OK security: - ApiKeyAuth: [] summary: GetUserInfoByUserID tags: - User put: description: UserUpdateInfo update user info parameters: - description: access-token in: header name: Authorization required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateInfoRequest' description: UpdateInfoRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserUpdateInfo update user info tags: - User x-codegen-request-body-name: data /answer/api/v1/user/interface: put: description: UserUpdateInterface update user interface config parameters: - description: access-token in: header name: Authorization required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UpdateUserInterfaceRequest' description: UpdateInfoRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserUpdateInterface update user interface config tags: - User x-codegen-request-body-name: data /answer/api/v1/user/login/email: post: description: UserEmailLogin requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserEmailLogin' description: UserEmailLogin required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_email_verification_post_200_response' description: OK summary: UserEmailLogin tags: - User x-codegen-request-body-name: data /answer/api/v1/user/logout: get: description: user logout responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: user logout tags: - User /answer/api/v1/user/notice/set: post: description: UserNoticeSet requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserNoticeSetRequest' description: UserNoticeSetRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_notice_set_post_200_response' description: OK security: - ApiKeyAuth: [] summary: UserNoticeSet tags: - User x-codegen-request-body-name: data /answer/api/v1/user/password: put: description: UserModifyPassWord requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserModifyPassWordRequest' description: UserModifyPassWordRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserModifyPassWord tags: - User x-codegen-request-body-name: data /answer/api/v1/user/password/replacement: post: description: UseRePassWord requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserRePassWordRequest' description: UserRePassWordRequest required: true responses: "200": content: application/json: schema: type: string description: OK summary: UseRePassWord tags: - User x-codegen-request-body-name: data /answer/api/v1/user/password/reset: post: description: RetrievePassWord requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserRetrievePassWordRequest' description: UserRetrievePassWordRequest required: true responses: "200": content: application/json: schema: type: string description: OK summary: RetrievePassWord tags: - User x-codegen-request-body-name: data /answer/api/v1/user/ranking: get: description: get user ranking responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_ranking_get_200_response' description: OK security: - ApiKeyAuth: [] summary: get user ranking tags: - User /answer/api/v1/user/register/captcha: get: description: UserRegisterCaptcha responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_email_verification_post_200_response' description: OK summary: UserRegisterCaptcha tags: - User /answer/api/v1/user/register/email: post: description: UserRegisterByEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.UserRegisterReq' description: UserRegisterReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_user_email_verification_post_200_response' description: OK summary: UserRegisterByEmail tags: - User x-codegen-request-body-name: data /answer/api/v1/vote/down: post: description: add vote requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.VoteReq' description: vote required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_vote_down_post_200_response' description: OK security: - ApiKeyAuth: [] summary: vote down tags: - Activity x-codegen-request-body-name: data /answer/api/v1/vote/up: post: description: add vote requestBody: content: application/json: schema: $ref: '#/components/schemas/schema.VoteReq' description: vote required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_answer_api_v1_vote_down_post_200_response' description: OK security: - ApiKeyAuth: [] summary: vote up tags: - Activity x-codegen-request-body-name: data /custom.css: get: description: get site robots information responses: "200": content: application/json: schema: type: string description: OK summary: get site robots information tags: - site /installation/base-info: post: description: init base info requestBody: content: application/json: schema: $ref: '#/components/schemas/install.InitBaseInfoReq' description: InitBaseInfoReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: init base info tags: - installation x-codegen-request-body-name: data /installation/config-file/check: post: description: check config file if exist when installation responses: "200": content: application/json: schema: $ref: '#/components/schemas/_installation_config_file_check_post_200_response' description: OK summary: check config file if exist when installation tags: - installation /installation/db/check: post: description: check database if exist when installation requestBody: content: application/json: schema: $ref: '#/components/schemas/install.CheckDatabaseReq' description: CheckDatabaseReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/_installation_config_file_check_post_200_response' description: OK summary: check database if exist when installation tags: - installation x-codegen-request-body-name: data /installation/init: post: description: init environment requestBody: content: application/json: schema: $ref: '#/components/schemas/install.CheckDatabaseReq' description: CheckDatabaseReq required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK summary: init environment tags: - installation x-codegen-request-body-name: data /installation/language/options: get: description: get installation language options responses: "200": content: application/json: schema: $ref: '#/components/schemas/_installation_language_options_get_200_response' description: OK summary: get installation language options tags: - Lang /personal/question/page: get: description: UserList parameters: - description: username in: query name: username required: true schema: default: string type: string - description: order in: query name: order required: true schema: enum: - newest - score type: string - description: page in: query name: page required: true schema: default: "0" type: string - description: pagesize in: query name: pagesize required: true schema: default: "20" type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/handler.RespBody' description: OK security: - ApiKeyAuth: [] summary: UserList tags: - Question /robots.txt: get: description: get site robots information responses: "200": content: application/json: schema: type: string description: OK summary: get site robots information tags: - site components: schemas: handler.RespBody: example: msg: msg reason: reason code: 0 data: "{}" properties: code: description: http code type: integer data: description: response data type: object msg: description: response message type: string reason: description: reason key type: string type: object install.CheckConfigFileResp: example: db_connection_success: true db_table_exist: true config_file_exist: true properties: config_file_exist: type: boolean db_connection_success: type: boolean db_table_exist: type: boolean type: object install.CheckDatabaseReq: properties: db_file: type: string db_host: type: string db_name: type: string db_password: type: string db_type: enum: - postgres - sqlite3 - mysql type: string db_username: type: string required: - db_type type: object install.InitBaseInfoReq: properties: contact_email: maxLength: 500 type: string email: maxLength: 500 type: string lang: maxLength: 30 type: string name: maxLength: 30 type: string password: maxLength: 32 minLength: 8 type: string site_name: maxLength: 30 type: string site_url: maxLength: 512 type: string required: - contact_email - email - lang - name - password - site_name - site_url type: object pager.PageModel: properties: count: type: integer list: type: object type: object schema.ActObjectInfo: example: object_type: object_type main_tag_slug_name: main_tag_slug_name display_name: display_name title: title answer_id: answer_id question_id: question_id username: username 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 type: object schema.ActObjectTimeline: example: cancelled_at: 0 object_type: object_type activity_type: activity_type activity_id: activity_id cancelled: true created_at: 6 comment: comment id: id object_id: object_id user_display_name: user_display_name revision_id: revision_id username: username properties: activity_id: type: string activity_type: type: string cancelled: type: boolean cancelled_at: type: integer comment: type: string created_at: type: integer id: type: string object_id: type: string object_type: type: string revision_id: type: string user_display_name: type: string username: type: string type: object schema.ActionRecordResp: example: captcha_id: captcha_id verify: true captcha_img: captcha_img properties: captcha_id: type: string captcha_img: type: string verify: type: boolean type: object schema.AddCommentReq: properties: mention_username_list: description: '@ user id list' items: type: string type: array object_id: description: object id type: string original_text: description: original comment content maxLength: 600 minLength: 2 type: string reply_comment_id: description: reply comment id type: string required: - object_id - original_text type: object schema.AddReportReq: properties: content: description: report content maxLength: 500 type: string object_id: description: object id maxLength: 20 type: string report_type: description: report type type: integer required: - object_id - report_type type: object schema.AddTagReq: properties: display_name: description: display_name maxLength: 35 type: string original_text: description: original text maxLength: 65536 type: string slug_name: description: slug_name maxLength: 35 type: string required: - display_name - original_text - slug_name type: object schema.AddUserReq: properties: display_name: maxLength: 30 type: string email: maxLength: 500 type: string password: maxLength: 32 minLength: 8 type: string required: - display_name - email - password type: object schema.AdminSetAnswerStatusRequest: properties: answer_id: type: string status: type: string type: object schema.AdminSetQuestionStatusRequest: properties: question_id: type: string status: type: string type: object schema.AnswerAcceptedReq: properties: answer_id: type: string question_id: type: string type: object schema.AnswerAddReq: properties: content: maxLength: 65535 minLength: 6 type: string question_id: type: string required: - content type: object schema.AnswerUpdateReq: properties: content: maxLength: 65535 minLength: 6 type: string edit_summary: type: string id: type: string question_id: type: string title: type: string required: - content type: object schema.AvatarInfo: example: gravatar: gravatar custom: custom type: type properties: custom: maxLength: 200 type: string gravatar: maxLength: 200 type: string type: maxLength: 100 type: string type: object schema.CloseQuestionReq: properties: close_msg: description: close_type type: string close_type: description: close_type type: integer id: type: string required: - id type: object schema.CollectionSwitchReq: properties: group_id: description: user collection group TagID type: string object_id: description: object TagID type: string required: - group_id - object_id type: object schema.CollectionSwitchResp: example: object_id: object_id object_collection_count: object_collection_count switch: true properties: object_collection_count: type: string object_id: type: string switch: type: boolean type: object schema.FollowReq: properties: is_cancel: description: is cancel type: boolean object_id: description: object id type: string required: - object_id type: object schema.FollowResp: example: follows: 0 is_followed: true properties: follows: description: the followers of object type: integer is_followed: description: "if user is followed object will be true,otherwise false" type: boolean type: object schema.GetCommentPersonalWithPageResp: 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 enum: - question - answer - tag - comment type: string question_id: description: question id type: string title: description: title type: string url_title: description: url title type: string type: object schema.GetCommentResp: example: user_avatar: user_avatar user_status: user_status is_vote: true reply_username: reply_username reply_user_id: reply_user_id created_at: 0 member_actions: - name: name action: action type: type - name: name action: action type: type original_text: original_text comment_id: comment_id object_id: object_id reply_user_display_name: reply_user_display_name reply_comment_id: reply_comment_id reply_user_status: reply_user_status user_id: user_id parsed_text: parsed_text user_display_name: user_display_name vote_count: 6 username: username 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 items: $ref: '#/components/schemas/schema.PermissionMemberAction' type: array 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 type: object schema.GetFollowingTagsResp: example: reserved: true slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name 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 type: object schema.GetObjectTimelineResp: example: object_info: object_type: object_type main_tag_slug_name: main_tag_slug_name display_name: display_name title: title answer_id: answer_id question_id: question_id username: username timeline: - cancelled_at: 0 object_type: object_type activity_type: activity_type activity_id: activity_id cancelled: true created_at: 6 comment: comment id: id object_id: object_id user_display_name: user_display_name revision_id: revision_id username: username - cancelled_at: 0 object_type: object_type activity_type: activity_type activity_id: activity_id cancelled: true created_at: 6 comment: comment id: id object_id: object_id user_display_name: user_display_name revision_id: revision_id username: username properties: object_info: $ref: '#/components/schemas/schema.ActObjectInfo' timeline: items: $ref: '#/components/schemas/schema.ActObjectTimeline' type: array type: object schema.GetOtherUserInfoByUsernameResp: example: website: website mobile: mobile bio: bio created_at: 6 avatar: avatar answer_count: 0 display_name: display_name last_login_date: 5 question_count: 5 bio_html: bio_html follow_count: 1 rank: 2 status_msg: status_msg location: location id: id status: status username: username 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 follow 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 username: description: username type: string website: description: website type: string type: object schema.GetOtherUserInfoResp: example: info: website: website mobile: mobile bio: bio created_at: 6 avatar: avatar answer_count: 0 display_name: display_name last_login_date: 5 question_count: 5 bio_html: bio_html follow_count: 1 rank: 2 status_msg: status_msg location: location id: id status: status username: username properties: info: $ref: '#/components/schemas/schema.GetOtherUserInfoByUsernameResp' type: object schema.GetRankPersonalWithPageResp: 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 enum: - question - answer - tag - comment type: string 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 type: object schema.GetReportTypeResp: example: have_content: true content_type: content_type name: name description: description source: source type: 0 properties: content_type: description: content type type: string description: description: report description type: string have_content: description: is have content type: boolean name: description: report name type: string source: description: report source type: string type: description: report type type: integer type: object schema.GetRevisionResp: example: reason: reason user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username use_id: use_id id: id create_at: 0 title: title object_id: object_id content: "{}" status: 6 properties: content: description: content parsed type: object create_at: type: integer id: description: id type: string object_id: description: object id type: string reason: type: string status: description: "revision status(normal: 1; delete 2)" type: integer title: description: title type: string use_id: description: user id type: string user_info: $ref: '#/components/schemas/schema.UserBasicInfo' type: object schema.GetRoleResp: example: name: name description: description id: 0 properties: description: type: string id: type: integer name: type: string type: object schema.GetSMTPConfigResp: example: from_email: from_email encryption: encryption smtp_authentication: true smtp_password: smtp_password smtp_port: 0 smtp_host: smtp_host from_name: from_name smtp_username: smtp_username properties: encryption: description: '"" SSL' 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 type: object schema.GetSiteLegalInfoResp: example: privacy_policy_parsed_text: privacy_policy_parsed_text privacy_policy_original_text: privacy_policy_original_text terms_of_service_original_text: terms_of_service_original_text terms_of_service_parsed_text: terms_of_service_parsed_text 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 type: object schema.GetTagPageResp: 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 type: object schema.GetTagResp: example: created_at: 0 description: description main_tag_slug_name: main_tag_slug_name recommend: true member_actions: - name: name action: action type: type - name: name action: action type: type original_text: original_text display_name: display_name question_count: 1 updated_at: 5 reserved: true follow_count: 6 parsed_text: parsed_text slug_name: slug_name tag_id: tag_id excerpt: excerpt is_follower: true properties: created_at: description: created time type: integer description: description: description text 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 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: description: MemberActions items: $ref: '#/components/schemas/schema.PermissionMemberAction' type: array 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 type: object schema.GetTagSynonymsResp: example: synonyms: - slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name display_name: display_name - slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name display_name: display_name member_actions: - name: name action: action type: type - name: name action: action type: type properties: member_actions: description: MemberActions items: $ref: '#/components/schemas/schema.PermissionMemberAction' type: array synonyms: description: synonyms items: $ref: '#/components/schemas/schema.TagSynonym' type: array type: object schema.GetUnreviewedRevisionResp: properties: info: $ref: '#/components/schemas/schema.UnreviewedRevisionInfoInfo' type: type: string unreviewed_info: $ref: '#/components/schemas/schema.GetRevisionResp' type: object schema.GetUserPageResp: 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 user_id: description: user id type: string username: description: username type: string type: object schema.GetUserResp: example: website: website notice_status: 7 mobile: mobile bio: bio created_at: 1 language: language avatar: avatar answer_count: 0 display_name: display_name last_login_date: 5 access_token: access_token question_count: 9 authority_group: 6 bio_html: bio_html role_id: 2 e_mail: e_mail follow_count: 5 mail_status: 2 rank: 3 location: location id: id ip_info: ip_info status: status username: username 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 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 id: description: user id type: string ip_info: description: ip info 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 username: description: username type: string website: description: website type: string type: object schema.GetUserToSetShowResp: example: website: website notice_status: 7 mobile: mobile bio: bio created_at: 1 language: language avatar: gravatar: gravatar custom: custom type: type answer_count: 0 display_name: display_name last_login_date: 5 access_token: access_token question_count: 9 authority_group: 6 bio_html: bio_html role_id: 2 e_mail: e_mail follow_count: 5 mail_status: 2 rank: 3 location: location id: id ip_info: ip_info status: status username: username properties: access_token: description: access token type: string answer_count: description: answer count type: integer authority_group: description: authority group type: integer avatar: $ref: '#/components/schemas/schema.AvatarInfo' 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 e_mail: description: email type: string follow_count: description: follow count type: integer id: description: user id type: string ip_info: description: ip info 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 username: description: username type: string website: description: website type: string type: object schema.GetVoteWithPageResp: 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 enum: - question - answer - tag - comment type: string 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 type: object schema.NotificationClearIDRequest: properties: id: type: string type: object schema.NotificationClearRequest: properties: type: description: inbox achievement type: string type: object schema.OperationQuestionReq: properties: id: type: string operation: description: "operation [pin unpin hide show]" type: string required: - id type: object schema.PermissionMemberAction: example: name: name action: action type: type properties: action: type: string name: type: string type: type: string type: object schema.PostRenderReq: properties: content: type: string type: object schema.QuestionAdd: properties: content: description: content maxLength: 65535 minLength: 6 type: string tags: description: tags items: $ref: '#/components/schemas/schema.TagItem' type: array title: description: question title maxLength: 150 minLength: 6 type: string required: - content - tags - title type: object schema.QuestionAddByAnswer: properties: answer_content: maxLength: 65535 minLength: 6 type: string content: description: content maxLength: 65535 minLength: 6 type: string tags: description: tags items: $ref: '#/components/schemas/schema.TagItem' type: array title: description: question title maxLength: 150 minLength: 6 type: string required: - answer_content - content - tags - title type: object schema.QuestionPageReq: properties: orderCond: enum: - newest - active - frequent - score - unanswered type: string page: minimum: 1 type: integer pageSize: minimum: 1 type: integer tag: maxLength: 100 type: string username: maxLength: 100 type: string type: object schema.QuestionPageResp: 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: '#/components/schemas/schema.QuestionPageRespOperator' pin: description: "1: unpin, 2: pin" type: integer show: description: "0: show, 1: hide" type: integer status: type: integer tags: items: $ref: '#/components/schemas/schema.TagResp' type: array title: type: string unique_view_count: type: integer url_title: type: string view_count: description: question statistical information type: integer vote_count: type: integer type: object schema.QuestionPageRespOperator: properties: display_name: type: string id: type: string rank: type: integer username: type: string type: object schema.QuestionUpdate: properties: content: description: content maxLength: 65535 minLength: 6 type: string edit_summary: description: edit summary type: string id: description: question id type: string tags: description: tags items: $ref: '#/components/schemas/schema.TagItem' type: array title: description: question title maxLength: 150 minLength: 6 type: string required: - content - id - tags - title type: object schema.RemoveAnswerReq: properties: id: description: answer id type: string required: - id type: object schema.RemoveCommentReq: properties: comment_id: description: comment id type: string required: - comment_id type: object schema.RemoveQuestionReq: properties: id: description: question id type: string required: - id type: object schema.RemoveTagReq: properties: tag_id: description: tag_id type: string required: - tag_id type: object schema.ReopenQuestionReq: properties: question_id: type: string type: object schema.ReportHandleReq: properties: flagged_content: type: string flagged_type: type: integer id: type: string required: - flagged_type - id type: object schema.RevisionAuditReq: properties: id: description: object id type: string operation: description: approve or reject type: string required: - id - operation type: object schema.SearchListResp: example: extra: "{}" count: 0 list: - object_type: object_type object: user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username accepted: true created_at: 1 id: id answer_count: 6 excerpt: excerpt title: title question_id: question_id vote_count: 5 status: status tags: - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - object_type: object_type object: user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username accepted: true created_at: 1 id: id answer_count: 6 excerpt: excerpt title: title question_id: question_id vote_count: 5 status: status tags: - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name properties: count: type: integer extra: description: extra fields type: object list: description: search response items: $ref: '#/components/schemas/schema.SearchResp' type: array type: object schema.SearchObject: example: user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username accepted: true created_at: 1 id: id answer_count: 6 excerpt: excerpt title: title question_id: question_id vote_count: 5 status: status tags: - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name 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 items: $ref: '#/components/schemas/schema.TagResp' type: array title: type: string user_info: $ref: '#/components/schemas/schema.UserBasicInfo' vote_count: type: integer type: object schema.SearchResp: example: object_type: object_type object: user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username accepted: true created_at: 1 id: id answer_count: 6 excerpt: excerpt title: title question_id: question_id vote_count: 5 status: status tags: - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name properties: object: $ref: '#/components/schemas/schema.SearchObject' object_type: description: object_type type: string type: object schema.SiteBrandingReq: properties: favicon: maxLength: 512 type: string logo: maxLength: 512 type: string mobile_logo: maxLength: 512 type: string square_icon: maxLength: 512 type: string type: object schema.SiteBrandingResp: example: square_icon: square_icon favicon: favicon mobile_logo: mobile_logo logo: logo properties: favicon: maxLength: 512 type: string logo: maxLength: 512 type: string mobile_logo: maxLength: 512 type: string square_icon: maxLength: 512 type: string type: object schema.SiteCustomCssHTMLReq: properties: custom_css: maxLength: 65536 type: string custom_footer: maxLength: 65536 type: string custom_head: maxLength: 65536 type: string custom_header: maxLength: 65536 type: string type: object schema.SiteCustomCssHTMLResp: example: custom_footer: custom_footer custom_head: custom_head custom_css: custom_css custom_header: custom_header properties: custom_css: maxLength: 65536 type: string custom_footer: maxLength: 65536 type: string custom_head: maxLength: 65536 type: string custom_header: maxLength: 65536 type: string type: object schema.SiteGeneralReq: properties: contact_email: maxLength: 512 type: string description: maxLength: 2000 type: string name: maxLength: 128 type: string short_description: maxLength: 255 type: string site_url: maxLength: 512 type: string required: - contact_email - name - site_url type: object schema.SiteGeneralResp: example: short_description: short_description site_url: site_url name: name description: description contact_email: contact_email properties: contact_email: maxLength: 512 type: string description: maxLength: 2000 type: string name: maxLength: 128 type: string short_description: maxLength: 255 type: string site_url: maxLength: 512 type: string required: - contact_email - name - site_url type: object schema.SiteInfoResp: example: general: short_description: short_description site_url: site_url name: name description: description contact_email: contact_email site_seo: robots: robots permalink: 0 branding: square_icon: square_icon favicon: favicon mobile_logo: mobile_logo logo: logo custom_css_html: custom_footer: custom_footer custom_head: custom_head custom_css: custom_css custom_header: custom_header theme: theme_config: "{}" theme_options: - label: label value: value - label: label value: value theme: theme interface: default_avatar: system language: language time_zone: time_zone login: login_required: true allow_new_registrations: true version: version revision: revision properties: branding: $ref: '#/components/schemas/schema.SiteBrandingResp' custom_css_html: $ref: '#/components/schemas/schema.SiteCustomCssHTMLResp' general: $ref: '#/components/schemas/schema.SiteGeneralResp' interface: $ref: '#/components/schemas/schema.SiteInterfaceResp' login: $ref: '#/components/schemas/schema.SiteLoginResp' revision: type: string site_seo: $ref: '#/components/schemas/schema.SiteSeoReq' theme: $ref: '#/components/schemas/schema.SiteThemeResp' version: type: string type: object schema.SiteInterfaceReq: properties: default_avatar: enum: - system - gravatar type: string language: maxLength: 128 type: string time_zone: maxLength: 128 type: string required: - default_avatar - language - time_zone type: object schema.SiteInterfaceResp: example: default_avatar: system language: language time_zone: time_zone properties: default_avatar: enum: - system - gravatar type: string language: maxLength: 128 type: string time_zone: maxLength: 128 type: string required: - default_avatar - language - time_zone type: object schema.SiteLegalReq: 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 type: object schema.SiteLegalResp: example: privacy_policy_parsed_text: privacy_policy_parsed_text privacy_policy_original_text: privacy_policy_original_text terms_of_service_original_text: terms_of_service_original_text terms_of_service_parsed_text: terms_of_service_parsed_text 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 type: object schema.SiteLoginReq: properties: allow_new_registrations: type: boolean login_required: type: boolean type: object schema.SiteLoginResp: example: login_required: true allow_new_registrations: true properties: allow_new_registrations: type: boolean login_required: type: boolean type: object schema.SiteSeoReq: example: robots: robots permalink: 0 properties: permalink: maximum: 4 minimum: 0 type: integer robots: type: string required: - permalink - robots type: object schema.SiteSeoResp: example: robots: robots permalink: 0 properties: permalink: maximum: 4 minimum: 0 type: integer robots: type: string required: - permalink - robots type: object schema.SiteThemeReq: properties: theme: maxLength: 255 type: string theme_config: properties: {} type: object required: - theme type: object schema.SiteThemeResp: example: theme_config: "{}" theme_options: - label: label value: value - label: label value: value theme: theme properties: theme: type: string theme_config: properties: {} type: object theme_options: items: $ref: '#/components/schemas/schema.ThemeOption' type: array type: object schema.SiteWriteReq: properties: recommend_tags: items: type: string type: array required_tag: type: boolean reserved_tags: items: type: string type: array type: object schema.SiteWriteResp: example: reserved_tags: - reserved_tags - reserved_tags required_tag: true recommend_tags: - recommend_tags - recommend_tags properties: recommend_tags: items: type: string type: array required_tag: type: boolean reserved_tags: items: type: string type: array type: object schema.TagItem: properties: display_name: description: display_name maxLength: 35 type: string original_text: description: original text type: string slug_name: description: slug_name maxLength: 35 type: string type: object schema.TagResp: example: reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name 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 type: object schema.TagSynonym: example: slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name display_name: display_name 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 type: object schema.ThemeOption: example: label: label value: value properties: label: type: string value: type: string type: object schema.UnreviewedRevisionInfoInfo: properties: content: type: string html: type: string object_id: type: string tags: items: $ref: '#/components/schemas/schema.TagResp' type: array title: type: string type: object schema.UpdateCommentReq: properties: comment_id: description: comment id type: string original_text: description: original comment content maxLength: 600 minLength: 2 type: string required: - comment_id - original_text type: object schema.UpdateFollowTagsReq: properties: slug_name_list: description: tag slug name list items: type: string type: array type: object schema.UpdateInfoRequest: properties: avatar: $ref: '#/components/schemas/schema.AvatarInfo' bio: description: bio maxLength: 4096 type: string display_name: description: display_name maxLength: 30 type: string location: description: location maxLength: 100 type: string username: description: username maxLength: 30 type: string website: description: website maxLength: 500 type: string required: - display_name type: object schema.UpdateSMTPConfigReq: properties: encryption: description: '"" SSL' enum: - SSL type: string from_email: maxLength: 256 type: string from_name: maxLength: 256 type: string smtp_authentication: type: boolean smtp_host: maxLength: 256 type: string smtp_password: maxLength: 256 type: string smtp_port: maximum: 65535 minimum: 1 type: integer smtp_username: maxLength: 256 type: string test_email_recipient: type: string type: object schema.UpdateTagReq: properties: display_name: description: display_name maxLength: 35 type: string edit_summary: description: edit summary type: string original_text: description: original text type: string slug_name: description: slug_name maxLength: 35 type: string tag_id: description: tag_id type: string required: - tag_id type: object schema.UpdateTagSynonymReq: properties: synonym_tag_list: description: synonym tag list items: $ref: '#/components/schemas/schema.TagItem' type: array tag_id: description: tag_id type: string required: - synonym_tag_list - tag_id type: object schema.UpdateUserInterfaceRequest: properties: language: description: language maxLength: 100 type: string required: - language type: object schema.UpdateUserPasswordReq: properties: password: maxLength: 32 minLength: 8 type: string user_id: type: string required: - password - user_id type: object schema.UpdateUserRoleReq: properties: role_id: description: role id type: integer user_id: description: user id type: string required: - role_id - user_id type: object schema.UpdateUserStatusReq: properties: status: enum: - normal - suspended - deleted - inactive type: string user_id: type: string required: - status - user_id type: object schema.UserBasicInfo: example: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username properties: avatar: description: avatar type: string display_name: description: display_name type: string id: description: user_id type: string ip_info: description: ip info type: string location: description: location type: string rank: description: rank type: integer status: description: status type: string username: description: name type: string website: description: website type: string type: object schema.UserChangeEmailSendCodeReq: properties: captcha_code: maxLength: 500 type: string captcha_id: maxLength: 500 type: string e_mail: maxLength: 500 type: string required: - e_mail type: object schema.UserChangeEmailVerifyReq: properties: code: maxLength: 500 type: string required: - code type: object schema.UserEmailLogin: properties: captcha_code: description: captcha_code type: string captcha_id: description: captcha_id type: string e_mail: description: e_mail maxLength: 500 type: string pass: description: password maxLength: 32 minLength: 8 type: string required: - e_mail - pass type: object schema.UserModifyPassWordRequest: properties: old_pass: description: old password type: string pass: description: password type: string type: object schema.UserNoticeSetRequest: properties: notice_switch: type: boolean type: object schema.UserNoticeSetResp: example: notice_switch: true properties: notice_switch: type: boolean type: object schema.UserRankingResp: example: users_with_the_most_reputation: - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username users_with_the_most_vote: - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username staffs: - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username properties: staffs: items: $ref: '#/components/schemas/schema.UserRankingSimpleInfo' type: array users_with_the_most_reputation: items: $ref: '#/components/schemas/schema.UserRankingSimpleInfo' type: array users_with_the_most_vote: items: $ref: '#/components/schemas/schema.UserRankingSimpleInfo' type: array type: object schema.UserRankingSimpleInfo: example: rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username 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 type: object schema.UserRePassWordRequest: properties: code: description: code maxLength: 100 type: string pass: description: Password maxLength: 32 type: string required: - code - pass type: object schema.UserRegisterReq: properties: captcha_code: description: captcha_code type: string captcha_id: description: captcha_id type: string e_mail: description: email maxLength: 500 type: string name: description: name maxLength: 30 type: string pass: description: password maxLength: 32 minLength: 8 type: string required: - e_mail - name - pass type: object schema.UserRetrievePassWordRequest: properties: captcha_code: description: captcha_code type: string captcha_id: description: captcha_id type: string e_mail: description: e_mail maxLength: 500 type: string required: - e_mail type: object schema.VoteReq: properties: is_cancel: description: is cancel type: boolean object_id: description: id type: string required: - object_id type: object schema.VoteResp: example: up_votes: 6 down_votes: 0 votes: 1 vote_status: vote_status properties: down_votes: type: integer up_votes: type: integer vote_status: type: string votes: type: integer type: object translator.LangOption: example: progress: 0 label: label value: value properties: label: type: string progress: description: Translation completion percentage type: integer value: type: string type: object _answer_admin_api_roles_get_200_response: example: data: - name: name description: description id: 0 - name: name description: description id: 0 handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: items: $ref: '#/components/schemas/schema.GetRoleResp' type: array handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_setting_smtp_get_200_response: example: data: from_email: from_email encryption: encryption smtp_authentication: true smtp_password: smtp_password smtp_port: 0 smtp_host: smtp_host from_name: from_name smtp_username: smtp_username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetSMTPConfigResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_branding_get_200_response: example: data: square_icon: square_icon favicon: favicon mobile_logo: mobile_logo logo: logo handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteBrandingResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_custom_css_html_get_200_response: example: data: custom_footer: custom_footer custom_head: custom_head custom_css: custom_css custom_header: custom_header handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteCustomCssHTMLResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_general_get_200_response: example: data: short_description: short_description site_url: site_url name: name description: description contact_email: contact_email handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteGeneralResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_interface_get_200_response: example: data: default_avatar: system language: language time_zone: time_zone handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteInterfaceResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_legal_get_200_response: example: data: privacy_policy_parsed_text: privacy_policy_parsed_text privacy_policy_original_text: privacy_policy_original_text terms_of_service_original_text: terms_of_service_original_text terms_of_service_parsed_text: terms_of_service_parsed_text handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteLegalResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_login_get_200_response: example: data: login_required: true allow_new_registrations: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteLoginResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_seo_get_200_response: example: data: robots: robots permalink: 0 handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteSeoResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_theme_get_200_response: example: data: theme_config: "{}" theme_options: - label: label value: value - label: label value: value theme: theme handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteThemeResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_siteinfo_write_get_200_response: example: data: reserved_tags: - reserved_tags - reserved_tags required_tag: true recommend_tags: - recommend_tags - recommend_tags handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteWriteResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_admin_api_users_page_get_200_response_data_allOf: properties: records: items: $ref: '#/definitions/schema.GetUserPageResp' type: array type: object _answer_admin_api_users_page_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_admin_api_users_page_get_200_response_data_allOf' type: object _answer_admin_api_users_page_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_admin_api_users_page_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_activity_timeline_get_200_response: example: data: object_info: object_type: object_type main_tag_slug_name: main_tag_slug_name display_name: display_name title: title answer_id: answer_id question_id: question_id username: username timeline: - cancelled_at: 0 object_type: object_type activity_type: activity_type activity_id: activity_id cancelled: true created_at: 6 comment: comment id: id object_id: object_id user_display_name: user_display_name revision_id: revision_id username: username - cancelled_at: 0 object_type: object_type activity_type: activity_type activity_id: activity_id cancelled: true created_at: 6 comment: comment id: id object_id: object_id user_display_name: user_display_name revision_id: revision_id username: username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetObjectTimelineResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_collection_switch_post_200_response: example: data: object_id: object_id object_collection_count: object_collection_count switch: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.CollectionSwitchResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_comment_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.GetCommentResp' type: array type: object _answer_api_v1_comment_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_comment_get_200_response_data_allOf' type: object _answer_api_v1_comment_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_comment_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_comment_post_200_response: example: data: user_avatar: user_avatar user_status: user_status is_vote: true reply_username: reply_username reply_user_id: reply_user_id created_at: 0 member_actions: - name: name action: action type: type - name: name action: action type: type original_text: original_text comment_id: comment_id object_id: object_id reply_user_display_name: reply_user_display_name reply_comment_id: reply_comment_id reply_user_status: reply_user_status user_id: user_id parsed_text: parsed_text user_display_name: user_display_name vote_count: 6 username: username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetCommentResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_file_post_request: properties: source: description: identify the source of the file upload enum: - post - avatar - branding type: string file: description: file format: binary type: string required: - file - source type: object _answer_api_v1_file_post_200_response: example: data: data handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: type: string handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_follow_post_200_response: example: data: follows: 0 is_followed: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.FollowResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_personal_comment_page_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.GetCommentPersonalWithPageResp' type: array type: object _answer_api_v1_personal_comment_page_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_personal_comment_page_get_200_response_data_allOf' type: object _answer_api_v1_personal_comment_page_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_personal_comment_page_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_personal_rank_page_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.GetRankPersonalWithPageResp' type: array type: object _answer_api_v1_personal_rank_page_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_personal_rank_page_get_200_response_data_allOf' type: object _answer_api_v1_personal_rank_page_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_personal_rank_page_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_personal_user_info_get_200_response: example: data: info: website: website mobile: mobile bio: bio created_at: 6 avatar: avatar answer_count: 0 display_name: display_name last_login_date: 5 question_count: 5 bio_html: bio_html follow_count: 1 rank: 2 status_msg: status_msg location: location id: id status: status username: username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetOtherUserInfoResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_personal_vote_page_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.GetVoteWithPageResp' type: array type: object _answer_api_v1_personal_vote_page_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_personal_vote_page_get_200_response_data_allOf' type: object _answer_api_v1_personal_vote_page_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_personal_vote_page_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_question_page_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.QuestionPageResp' type: array type: object _answer_api_v1_question_page_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_question_page_get_200_response_data_allOf' type: object _answer_api_v1_question_page_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_question_page_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_question_tags_get_200_response: example: data: - created_at: 0 description: description main_tag_slug_name: main_tag_slug_name recommend: true member_actions: - name: name action: action type: type - name: name action: action type: type original_text: original_text display_name: display_name question_count: 1 updated_at: 5 reserved: true follow_count: 6 parsed_text: parsed_text slug_name: slug_name tag_id: tag_id excerpt: excerpt is_follower: true - created_at: 0 description: description main_tag_slug_name: main_tag_slug_name recommend: true member_actions: - name: name action: action type: type - name: name action: action type: type original_text: original_text display_name: display_name question_count: 1 updated_at: 5 reserved: true follow_count: 6 parsed_text: parsed_text slug_name: slug_name tag_id: tag_id excerpt: excerpt is_follower: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: items: $ref: '#/components/schemas/schema.GetTagResp' type: array handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_report_type_list_get_200_response: example: data: - have_content: true content_type: content_type name: name description: description source: source type: 0 - have_content: true content_type: content_type name: name description: description source: source type: 0 handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: items: $ref: '#/components/schemas/schema.GetReportTypeResp' type: array handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_revisions_get_200_response: example: data: - reason: reason user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username use_id: use_id id: id create_at: 0 title: title object_id: object_id content: "{}" status: 6 - reason: reason user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username use_id: use_id id: id create_at: 0 title: title object_id: object_id content: "{}" status: 6 handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: items: $ref: '#/components/schemas/schema.GetRevisionResp' type: array handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_revisions_unreviewed_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.GetUnreviewedRevisionResp' type: array type: object _answer_api_v1_revisions_unreviewed_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_revisions_unreviewed_get_200_response_data_allOf' type: object _answer_api_v1_revisions_unreviewed_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_revisions_unreviewed_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_search_get_200_response: example: data: extra: "{}" count: 0 list: - object_type: object_type object: user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username accepted: true created_at: 1 id: id answer_count: 6 excerpt: excerpt title: title question_id: question_id vote_count: 5 status: status tags: - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - object_type: object_type object: user_info: website: website rank: 1 location: location avatar: avatar id: id display_name: display_name ip_info: ip_info status: status username: username accepted: true created_at: 1 id: id answer_count: 6 excerpt: excerpt title: title question_id: question_id vote_count: 5 status: status tags: - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SearchListResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_siteinfo_get_200_response: example: data: general: short_description: short_description site_url: site_url name: name description: description contact_email: contact_email site_seo: robots: robots permalink: 0 branding: square_icon: square_icon favicon: favicon mobile_logo: mobile_logo logo: logo custom_css_html: custom_footer: custom_footer custom_head: custom_head custom_css: custom_css custom_header: custom_header theme: theme_config: "{}" theme_options: - label: label value: value - label: label value: value theme: theme interface: default_avatar: system language: language time_zone: time_zone login: login_required: true allow_new_registrations: true version: version revision: revision handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.SiteInfoResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_siteinfo_legal_get_200_response: example: data: privacy_policy_parsed_text: privacy_policy_parsed_text privacy_policy_original_text: privacy_policy_original_text terms_of_service_original_text: terms_of_service_original_text terms_of_service_parsed_text: terms_of_service_parsed_text handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetSiteLegalInfoResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_tag_get_200_response: example: data: created_at: 0 description: description main_tag_slug_name: main_tag_slug_name recommend: true member_actions: - name: name action: action type: type - name: name action: action type: type original_text: original_text display_name: display_name question_count: 1 updated_at: 5 reserved: true follow_count: 6 parsed_text: parsed_text slug_name: slug_name tag_id: tag_id excerpt: excerpt is_follower: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetTagResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_tag_synonyms_get_200_response: example: data: synonyms: - slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name display_name: display_name - slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name display_name: display_name member_actions: - name: name action: action type: type - name: name action: action type: type handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetTagSynonymsResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_tags_following_get_200_response: example: data: - reserved: true slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name - reserved: true slug_name: slug_name tag_id: tag_id main_tag_slug_name: main_tag_slug_name recommend: true display_name: display_name handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: items: $ref: '#/components/schemas/schema.GetFollowingTagsResp' type: array handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_tags_page_get_200_response_data_allOf: properties: list: items: $ref: '#/definitions/schema.GetTagPageResp' type: array type: object _answer_api_v1_tags_page_get_200_response_data: allOf: - $ref: '#/components/schemas/pager.PageModel' - $ref: '#/components/schemas/_answer_api_v1_tags_page_get_200_response_data_allOf' type: object _answer_api_v1_tags_page_get_200_response: example: data: null handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/_answer_api_v1_tags_page_get_200_response_data' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_user_action_record_get_200_response: example: data: captcha_id: captcha_id verify: true captcha_img: captcha_img handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.ActionRecordResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_user_email_verification_post_200_response: example: data: website: website notice_status: 7 mobile: mobile bio: bio created_at: 1 language: language avatar: avatar answer_count: 0 display_name: display_name last_login_date: 5 access_token: access_token question_count: 9 authority_group: 6 bio_html: bio_html role_id: 2 e_mail: e_mail follow_count: 5 mail_status: 2 rank: 3 location: location id: id ip_info: ip_info status: status username: username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetUserResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_user_info_get_200_response: example: data: website: website notice_status: 7 mobile: mobile bio: bio created_at: 1 language: language avatar: gravatar: gravatar custom: custom type: type answer_count: 0 display_name: display_name last_login_date: 5 access_token: access_token question_count: 9 authority_group: 6 bio_html: bio_html role_id: 2 e_mail: e_mail follow_count: 5 mail_status: 2 rank: 3 location: location id: id ip_info: ip_info status: status username: username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.GetUserToSetShowResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_user_notice_set_post_200_response: example: data: notice_switch: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.UserNoticeSetResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_user_ranking_get_200_response: example: data: users_with_the_most_reputation: - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username users_with_the_most_vote: - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username staffs: - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username - rank: 0 avatar: avatar display_name: display_name vote_count: 6 username: username handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.UserRankingResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _answer_api_v1_vote_down_post_200_response: example: data: up_votes: 6 down_votes: 0 votes: 1 vote_status: vote_status handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/schema.VoteResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _installation_config_file_check_post_200_response: example: data: db_connection_success: true db_table_exist: true config_file_exist: true handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: $ref: '#/components/schemas/install.CheckConfigFileResp' handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object _installation_language_options_get_200_response: example: data: - progress: 0 label: label value: value - progress: 0 label: label value: value handler.RespBody: msg: msg reason: reason code: 0 data: "{}" properties: data: items: $ref: '#/components/schemas/translator.LangOption' type: array handler.RespBody: $ref: '#/components/schemas/handler.RespBody' type: object securitySchemes: ApiKeyAuth: in: header name: Authorization type: apiKey x-original-swagger-version: "2.0"