openapi: 3.0.1
info:
contact: {}
servers:
- url: /
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: AdminAnswerPage admin answer page
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/plugin/config:
get:
description: get plugin config
parameters:
- description: plugin_slug_name
in: query
name: plugin_slug_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_admin_api_plugin_config_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: get plugin config
tags:
- AdminPlugin
put:
description: update plugin config
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schema.UpdatePluginConfigReq'
description: UpdatePluginConfigReq
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: update plugin config
tags:
- AdminPlugin
x-codegen-request-body-name: data
/answer/admin/api/plugin/status:
put:
description: update plugin status
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schema.UpdatePluginStatusReq'
description: UpdatePluginStatusReq
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: update plugin status
tags:
- AdminPlugin
x-codegen-request-body-name: data
/answer/admin/api/plugins:
get:
description: get plugin list
parameters:
- description: "status: active/inactive"
in: query
name: status
schema:
type: string
- description: have config
in: query
name: have_config
schema:
type: boolean
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_admin_api_plugins_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: get plugin list
tags:
- AdminPlugin
/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: AdminQuestionPage admin question page
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/privileges:
get:
description: GetPrivilegesConfig get privileges config
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_admin_api_setting_privileges_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: GetPrivilegesConfig get privileges config
tags:
- admin
put:
description: update privileges config
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/schema.UpdatePrivilegesConfigReq'
description: config
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: update privileges config
tags:
- admin
x-codegen-request-body-name: data
/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/users:
get:
description: get site user config
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_admin_api_siteinfo_users_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: get site user config
tags:
- admin
put:
description: update site info config about users
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/schema.SiteUsersReq'
description: users info
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: update site info config about users
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/activation:
get:
description: get user activation
parameters:
- description: user id
in: query
name: user_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_admin_api_user_activation_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: get user activation
tags:
- admin
/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/activation:
post:
description: send user activation
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/schema.SendUserActivationReq'
description: SendUserActivationReq
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: send user activation
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/connector/binding/email:
post:
description: external login binding user send email
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schema.ExternalLoginBindingUserSendEmailReq'
description: external login binding user send email
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_api_v1_connector_binding_email_post_200_response'
description: OK
summary: external login binding user send email
tags:
- PluginConnector
x-codegen-request-body-name: data
/answer/api/v1/connector/info:
get:
description: get all enabled connectors
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_api_v1_connector_info_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: get all enabled connectors
tags:
- PluginConnector
/answer/api/v1/connector/user/info:
get:
description: get all connectors info about user
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_api_v1_connector_user_info_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: get all connectors info about user
tags:
- PluginConnector
/answer/api/v1/connector/user/unbinding:
delete:
description: unbind external user login
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schema.ExternalLoginUnbindingReq'
description: ExternalLoginUnbindingReq
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: unbind external user login
tags:
- PluginConnector
x-codegen-request-body-name: data
/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
- description: inbox_type
in: query
name: inbox_type
required: true
schema:
enum:
- all
- posts
- invites
- votes
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/permission:
get:
description: check user permission
parameters:
- description: access-token
in: header
name: Authorization
required: true
schema:
type: string
- description: permission key
in: query
name: action
required: true
schema:
enum:
- question.add
- question.edit
- question.edit_without_review
- question.delete
- question.close
- question.reopen
- question.vote_up
- question.vote_down
- question.pin
- question.unpin
- question.hide
- question.show
- answer.add
- answer.edit
- answer.edit_without_review
- answer.delete
- answer.accept
- answer.vote_up
- answer.vote_down
- answer.invite_someone_to_answer
- comment.add
- comment.edit
- comment.delete
- comment.vote_up
- comment.vote_down
- report.add
- tag.add
- tag.edit
- tag.edit_slug_name
- tag.edit_without_review
- tag.delete
- tag.synonym
- link.url_limit
- vote.detail
- answer.audit
- question.audit
- tag.audit
- tag.use_reserved_tag
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/_answer_api_v1_permission_get_200_response'
description: OK
security:
- ApiKeyAuth: []
summary: check user permission
tags:
- Permission
/answer/api/v1/personal/answer/page:
get:
description: list personal answers
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: page_size
in: query
name: page_size
required: true
schema:
default: "20"
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: list personal answers
tags:
- Personal
/answer/api/v1/personal/collection/page:
get:
description: list personal collections
parameters:
- description: page
in: query
name: page
required: true
schema:
default: "0"
type: string
- description: page_size
in: query
name: page_size
required: true
schema:
default: "20"
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: list personal collections
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: get user personal votes
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: get user personal 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/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/invite:
get:
description: get question invite user info
parameters:
- description: Question ID
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 invite user info
tags:
- Question
put:
description: update question invite user
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schema.QuestionUpdateInviteUser'
description: question
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: update question invite user
tags:
- Question
x-codegen-request-body-name: data
/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
parameters:
- description: page
in: query
name: page
schema:
type: integer
- description: page_size
in: query
name: page_size
schema:
type: integer
- description: order cond
in: query
name: order
schema:
enum:
- newest
- active
- frequent
- score
- unanswered
type: string
- description: tag
in: query
name: tag
schema:
type: string
- description: username
in: query
name: username
schema:
type: string
- description: in_days
in: query
name: in_days
schema:
type: integer
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
/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/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/info/search:
get:
description: SearchUserListByName
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: SearchUserListByName
tags:
- User
/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.UserModifyPasswordReq'
description: UserModifyPasswordReq
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: list personal questions
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: page_size
in: query
name: page_size
required: true
schema:
default: "20"
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/handler.RespBody'
description: OK
security:
- ApiKeyAuth: []
summary: list personal questions
tags:
- Personal
/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:
constant.Privilege:
example:
label: label
value: 0
key: key
properties:
key:
type: string
label:
type: string
value:
type: integer
type: object
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:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
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:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
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
minLength: 4
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:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
content:
maxLength: 65535
minLength: 6
type: string
question_id:
type: string
required:
- content
type: object
schema.AnswerUpdateReq:
properties:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
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.ConfigField:
example:
name: name
options:
- label: label
value: value
- label: label
value: value
description: description
ui_options:
input_type: input_type
variant: variant
action:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
label: label
placeholder: placeholder
text: text
rows: rows
title: title
type: type
value: "{}"
required: true
properties:
description:
type: string
name:
type: string
options:
items:
$ref: '#/components/schemas/schema.ConfigFieldOption'
type: array
required:
type: boolean
title:
type: string
type:
type: string
ui_options:
$ref: '#/components/schemas/schema.ConfigFieldUIOptions'
value:
type: object
type: object
schema.ConfigFieldOption:
example:
label: label
value: value
properties:
label:
type: string
value:
type: string
type: object
schema.ConfigFieldUIOptions:
example:
input_type: input_type
variant: variant
action:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
label: label
placeholder: placeholder
text: text
rows: rows
properties:
action:
$ref: '#/components/schemas/schema.UIOptionAction'
input_type:
type: string
label:
type: string
placeholder:
type: string
rows:
type: string
text:
type: string
variant:
type: string
type: object
schema.ConnectorInfoResp:
example:
icon: icon
link: link
name: name
properties:
icon:
type: string
link:
type: string
name:
type: string
type: object
schema.ConnectorUserInfoResp:
example:
icon: icon
link: link
name: name
binding: true
external_id: external_id
properties:
binding:
type: boolean
external_id:
type: string
icon:
type: string
link:
type: string
name:
type: string
type: object
schema.ExternalLoginBindingUserSendEmailReq:
properties:
binding_key:
maxLength: 100
type: string
email:
maxLength: 512
type: string
must:
description: |-
If must is true, whatever email if exists, try to bind user.
If must is false, when email exist, will only be prompted with a warning.
type: boolean
required:
- binding_key
- email
type: object
schema.ExternalLoginBindingUserSendEmailResp:
example:
access_token: access_token
email_exist_and_must_be_confirmed: true
properties:
access_token:
type: string
email_exist_and_must_be_confirmed:
type: boolean
type: object
schema.ExternalLoginUnbindingReq:
properties:
external_id:
maxLength: 128
type: string
required:
- external_id
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.GetCurrentLoginUserInfoResp:
example:
bio: bio
created_at: 1
language: language
answer_count: 0
have_password: true
authority_group: 6
role_id: 2
e_mail: e_mail
rank: 3
id: id
website: website
notice_status: 7
mobile: mobile
avatar:
gravatar: gravatar
custom: custom
type: type
display_name: display_name
last_login_date: 5
access_token: access_token
question_count: 9
bio_html: bio_html
follow_count: 5
mail_status: 2
location: location
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
have_password:
type: boolean
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.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.GetPluginConfigResp:
example:
name: name
slug_name: slug_name
description: description
config_fields:
- name: name
options:
- label: label
value: value
- label: label
value: value
description: description
ui_options:
input_type: input_type
variant: variant
action:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
label: label
placeholder: placeholder
text: text
rows: rows
title: title
type: type
value: "{}"
required: true
- name: name
options:
- label: label
value: value
- label: label
value: value
description: description
ui_options:
input_type: input_type
variant: variant
action:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
label: label
placeholder: placeholder
text: text
rows: rows
title: title
type: type
value: "{}"
required: true
version: version
properties:
config_fields:
items:
$ref: '#/components/schemas/schema.ConfigField'
type: array
description:
type: string
name:
type: string
slug_name:
type: string
version:
type: string
type: object
schema.GetPluginListResp:
example:
have_config: true
link: link
name: name
slug_name: slug_name
description: description
version: version
enabled: true
properties:
description:
type: string
enabled:
type: boolean
have_config:
type: boolean
link:
type: string
name:
type: string
slug_name:
type: string
version:
type: string
type: object
schema.GetPrivilegesConfigResp:
example:
options:
- privileges:
- label: label
value: 0
key: key
- label: label
value: 0
key: key
level: null
level_desc: level_desc
- privileges:
- label: label
value: 0
key: key
- label: label
value: 0
key: key
level: null
level_desc: level_desc
selected_level: null
properties:
options:
items:
$ref: '#/components/schemas/schema.PrivilegeOption'
type: array
selected_level:
$ref: '#/components/schemas/schema.PrivilegeLevel'
type: object
schema.GetRankPersonalPageResp:
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.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.GetUserActivationResp:
example:
activation_url: activation_url
properties:
activation_url:
type: string
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.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.LoadingAction:
example:
state: state
text: text
properties:
state:
type: string
text:
type: string
type: object
schema.NotificationClearIDRequest:
properties:
id:
type: string
type: object
schema.NotificationClearRequest:
properties:
type:
description: inbox achievement
type: string
type: object
schema.OnCompleteAction:
example:
toast_return_message: true
refresh_form_config: true
properties:
refresh_form_config:
type: boolean
toast_return_message:
type: boolean
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.PrivilegeLevel:
enum:
- 1
- 2
- 3
type: integer
x-enum-varnames:
- PrivilegeLevel1
- PrivilegeLevel2
- PrivilegeLevel3
schema.PrivilegeOption:
example:
privileges:
- label: label
value: 0
key: key
- label: label
value: 0
key: key
level: null
level_desc: level_desc
properties:
level:
$ref: '#/components/schemas/schema.PrivilegeLevel'
level_desc:
type: string
privileges:
items:
$ref: '#/components/schemas/constant.Privilege'
type: array
type: object
schema.QuestionAdd:
properties:
captcha_code:
type: string
captcha_id:
description: captcha_id
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:
- content
- tags
- title
type: object
schema.QuestionAddByAnswer:
properties:
answer_content:
maxLength: 65535
minLength: 6
type: string
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
content:
description: content
maxLength: 65535
minLength: 6
type: string
mention_username_list:
items:
type: string
type: array
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.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:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
content:
description: content
maxLength: 65535
minLength: 6
type: string
edit_summary:
description: edit summary
type: string
id:
description: question id
type: string
invite_user:
items:
type: string
type: array
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.QuestionUpdateInviteUser:
properties:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
id:
type: string
invite_user:
items:
type: string
type: array
required:
- id
type: object
schema.RemoveAnswerReq:
properties:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
id:
description: answer id
type: string
required:
- id
type: object
schema.RemoveCommentReq:
properties:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
comment_id:
description: comment id
type: string
required:
- comment_id
type: object
schema.RemoveQuestionReq:
properties:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
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: null
- object_type: object_type
object: null
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:
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_SearchObject_user_info'
vote_count:
type: integer
type: object
schema.SearchResp:
example:
object_type: object_type
object: null
properties:
object:
$ref: '#/components/schemas/schema_SearchResp_object'
object_type:
description: object_type
type: string
type: object
schema.SendUserActivationReq:
properties:
user_id:
type: string
required:
- user_id
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
custom_sidebar:
maxLength: 65536
type: string
type: object
schema.SiteCustomCssHTMLResp:
example:
custom_footer: custom_footer
custom_sidebar: custom_sidebar
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
custom_sidebar:
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_sidebar: custom_sidebar
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:
language: language
time_zone: time_zone
login:
allow_email_registrations: true
allow_email_domains:
- allow_email_domains
- allow_email_domains
login_required: true
allow_new_registrations: true
version: version
revision: revision
site_users:
allow_update_display_name: true
allow_update_bio: true
allow_update_avatar: true
allow_update_website: true
gravatar_base_url: gravatar_base_url
allow_update_location: true
default_avatar: system
allow_update_username: true
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.SiteSeoResp'
site_users:
$ref: '#/components/schemas/schema.SiteUsersResp'
theme:
$ref: '#/components/schemas/schema.SiteThemeResp'
version:
type: string
type: object
schema.SiteInterfaceReq:
properties:
language:
maxLength: 128
type: string
time_zone:
maxLength: 128
type: string
required:
- language
- time_zone
type: object
schema.SiteInterfaceResp:
example:
language: language
time_zone: time_zone
properties:
language:
maxLength: 128
type: string
time_zone:
maxLength: 128
type: string
required:
- 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_email_domains:
items:
type: string
type: array
allow_email_registrations:
type: boolean
allow_new_registrations:
type: boolean
login_required:
type: boolean
type: object
schema.SiteLoginResp:
example:
allow_email_registrations: true
allow_email_domains:
- allow_email_domains
- allow_email_domains
login_required: true
allow_new_registrations: true
properties:
allow_email_domains:
items:
type: string
type: array
allow_email_registrations:
type: boolean
allow_new_registrations:
type: boolean
login_required:
type: boolean
type: object
schema.SiteSeoReq:
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.SiteUsersReq:
properties:
allow_update_avatar:
type: boolean
allow_update_bio:
type: boolean
allow_update_display_name:
type: boolean
allow_update_location:
type: boolean
allow_update_username:
type: boolean
allow_update_website:
type: boolean
default_avatar:
enum:
- system
- gravatar
type: string
gravatar_base_url:
type: string
required:
- default_avatar
type: object
schema.SiteUsersResp:
example:
allow_update_display_name: true
allow_update_bio: true
allow_update_avatar: true
allow_update_website: true
gravatar_base_url: gravatar_base_url
allow_update_location: true
default_avatar: system
allow_update_username: true
properties:
allow_update_avatar:
type: boolean
allow_update_bio:
type: boolean
allow_update_display_name:
type: boolean
allow_update_location:
type: boolean
allow_update_username:
type: boolean
allow_update_website:
type: boolean
default_avatar:
enum:
- system
- gravatar
type: string
gravatar_base_url:
type: string
required:
- default_avatar
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:
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.UIOptionAction:
example:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
properties:
loading:
$ref: '#/components/schemas/schema.LoadingAction'
method:
type: string
on_complete:
$ref: '#/components/schemas/schema.OnCompleteAction'
url:
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:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
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_UpdateInfoRequest_avatar'
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
type: object
schema.UpdatePluginConfigReq:
properties:
config_fields:
additionalProperties:
type: object
type: object
plugin_slug_name:
maxLength: 100
type: string
required:
- plugin_slug_name
type: object
schema.UpdatePluginStatusReq:
properties:
enabled:
type: boolean
plugin_slug_name:
maxLength: 100
type: string
required:
- plugin_slug_name
type: object
schema.UpdatePrivilegesConfigReq:
properties:
level:
allOf:
- $ref: '#/components/schemas/schema.PrivilegeLevel'
type: object
required:
- level
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
pass:
maxLength: 32
minLength: 8
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.UserLoginResp:
example:
bio: bio
created_at: 1
language: language
answer_count: 0
have_password: true
authority_group: 6
role_id: 2
e_mail: e_mail
rank: 3
id: id
website: website
notice_status: 7
mobile: mobile
avatar: avatar
display_name: display_name
last_login_date: 5
access_token: access_token
question_count: 9
bio_html: bio_html
follow_count: 5
mail_status: 2
location: location
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
have_password:
description: user have password
type: boolean
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.UserModifyPasswordReq:
properties:
captcha_code:
maxLength: 500
type: string
captcha_id:
maxLength: 500
type: string
old_pass:
maxLength: 32
minLength: 8
type: string
pass:
maxLength: 32
minLength: 8
type: string
required:
- pass
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:
captcha_code:
type: string
captcha_id:
description: captcha_id
type: string
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_plugin_config_get_200_response:
example:
data:
name: name
slug_name: slug_name
description: description
config_fields:
- name: name
options:
- label: label
value: value
- label: label
value: value
description: description
ui_options:
input_type: input_type
variant: variant
action:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
label: label
placeholder: placeholder
text: text
rows: rows
title: title
type: type
value: "{}"
required: true
- name: name
options:
- label: label
value: value
- label: label
value: value
description: description
ui_options:
input_type: input_type
variant: variant
action:
method: method
on_complete:
toast_return_message: true
refresh_form_config: true
loading:
state: state
text: text
url: url
label: label
placeholder: placeholder
text: text
rows: rows
title: title
type: type
value: "{}"
required: true
version: version
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.GetPluginConfigResp'
handler.RespBody:
$ref: '#/components/schemas/handler.RespBody'
type: object
_answer_admin_api_plugins_get_200_response:
example:
data:
- have_config: true
link: link
name: name
slug_name: slug_name
description: description
version: version
enabled: true
- have_config: true
link: link
name: name
slug_name: slug_name
description: description
version: version
enabled: true
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
items:
$ref: '#/components/schemas/schema.GetPluginListResp'
type: array
handler.RespBody:
$ref: '#/components/schemas/handler.RespBody'
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_privileges_get_200_response:
example:
data:
options:
- privileges:
- label: label
value: 0
key: key
- label: label
value: 0
key: key
level: null
level_desc: level_desc
- privileges:
- label: label
value: 0
key: key
- label: label
value: 0
key: key
level: null
level_desc: level_desc
selected_level: null
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.GetPrivilegesConfigResp'
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_sidebar: custom_sidebar
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:
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:
allow_email_registrations: true
allow_email_domains:
- allow_email_domains
- allow_email_domains
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_users_get_200_response:
example:
data:
allow_update_display_name: true
allow_update_bio: true
allow_update_avatar: true
allow_update_website: true
gravatar_base_url: gravatar_base_url
allow_update_location: true
default_avatar: system
allow_update_username: true
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.SiteUsersResp'
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_user_activation_get_200_response:
example:
data:
activation_url: activation_url
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.GetUserActivationResp'
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_connector_binding_email_post_200_response:
example:
data:
access_token: access_token
email_exist_and_must_be_confirmed: true
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.ExternalLoginBindingUserSendEmailResp'
handler.RespBody:
$ref: '#/components/schemas/handler.RespBody'
type: object
_answer_api_v1_connector_info_get_200_response:
example:
data:
- icon: icon
link: link
name: name
- icon: icon
link: link
name: name
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
items:
$ref: '#/components/schemas/schema.ConnectorInfoResp'
type: array
handler.RespBody:
$ref: '#/components/schemas/handler.RespBody'
type: object
_answer_api_v1_connector_user_info_get_200_response:
example:
data:
- icon: icon
link: link
name: name
binding: true
external_id: external_id
- icon: icon
link: link
name: name
binding: true
external_id: external_id
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
items:
$ref: '#/components/schemas/schema.ConnectorUserInfoResp'
type: array
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_permission_get_200_response:
example:
data:
key: true
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
additionalProperties:
type: boolean
type: object
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.GetRankPersonalPageResp'
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_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: null
- object_type: object_type
object: null
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_sidebar: custom_sidebar
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:
language: language
time_zone: time_zone
login:
allow_email_registrations: true
allow_email_domains:
- allow_email_domains
- allow_email_domains
login_required: true
allow_new_registrations: true
version: version
revision: revision
site_users:
allow_update_display_name: true
allow_update_bio: true
allow_update_avatar: true
allow_update_website: true
gravatar_base_url: gravatar_base_url
allow_update_location: true
default_avatar: system
allow_update_username: true
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:
bio: bio
created_at: 1
language: language
answer_count: 0
have_password: true
authority_group: 6
role_id: 2
e_mail: e_mail
rank: 3
id: id
website: website
notice_status: 7
mobile: mobile
avatar: avatar
display_name: display_name
last_login_date: 5
access_token: access_token
question_count: 9
bio_html: bio_html
follow_count: 5
mail_status: 2
location: location
ip_info: ip_info
status: status
username: username
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.UserLoginResp'
handler.RespBody:
$ref: '#/components/schemas/handler.RespBody'
type: object
_answer_api_v1_user_info_get_200_response:
example:
data:
bio: bio
created_at: 1
language: language
answer_count: 0
have_password: true
authority_group: 6
role_id: 2
e_mail: e_mail
rank: 3
id: id
website: website
notice_status: 7
mobile: mobile
avatar:
gravatar: gravatar
custom: custom
type: type
display_name: display_name
last_login_date: 5
access_token: access_token
question_count: 9
bio_html: bio_html
follow_count: 5
mail_status: 2
location: location
ip_info: ip_info
status: status
username: username
handler.RespBody:
msg: msg
reason: reason
code: 0
data: "{}"
properties:
data:
$ref: '#/components/schemas/schema.GetCurrentLoginUserInfoResp'
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
schema_SearchObject_user_info:
allOf:
- $ref: '#/components/schemas/schema.UserBasicInfo'
description: user info
type: object
schema_SearchResp_object:
allOf:
- $ref: '#/components/schemas/schema.SearchObject'
description: this object
type: object
schema_UpdateInfoRequest_avatar:
allOf:
- $ref: '#/components/schemas/schema.AvatarInfo'
description: avatar
type: object
securitySchemes:
ApiKeyAuth:
in: header
name: Authorization
type: apiKey
x-original-swagger-version: "2.0"