# Functions
@Title get self avatar @Summary get self avatar src as base64 @Description @Tags User @Accept json @Produce json @Success 200 "OK - get avatar src base64" @Failure 404 "Fail - avatar is empty" @Failure 500 "Fail - internal error" @Router /api/user/avatar [get] @Security ApiKeyAuth.
@Title user heartbeats @Summary frequently call this to indicate that front-end user is active.
@Title get user profile @Summary get user profile @Description @Tags User @Accept json @Produce json @Success 200 "OK - profile get successfully" @Failure 500 "Fail - internal error" @Router /api/user/profile [get] @Security ApiKeyAuth.
@Title set user profile @Summary set user profile @Description @Tags User @Accept multipart/form-data @Produce json @Param name formData string false "real name" @Param phone formData string false "phone number" @Param addr formData string false "address" @Param city formData string false "city" @Param country formData string false "country" @Param pidtype formData string false "personal id type" @Param pid formData string false "personal id" @Param gender formData string false "gender M/F" @Param dob formData string false "date of birth" @Param position formData string false "job position" @Param title formData string false "title" @Param employer formData string false "employer" @Param bio formData string false "biography" @Param avatar formData file false "avatar" @Success 200 "OK - profile set successfully" @Failure 400 "Fail - invalid set fields" @Failure 500 "Fail - internal error" @Router /api/user/setprofile [post] @Security ApiKeyAuth.