# VocaStar ## API Docs - auth [Login](https://vocastar.snowy.moe/352458955e0.md): - auth [Register](https://vocastar.snowy.moe/352458956e0.md): - auth [Logout](https://vocastar.snowy.moe/352458957e0.md): - user [resetpw](https://vocastar.snowy.moe/353307234e0.md): - user [profile](https://vocastar.snowy.moe/353307235e0.md): - user [Set Profile](https://vocastar.snowy.moe/357931599e0.md): - user [Upload Avatar](https://vocastar.snowy.moe/357931380e0.md): 校验头像文件并保存至本地后更新用户头像地址。 - quiz [Start Quiz](https://vocastar.snowy.moe/358132289e0.md): 开始一个测评,这将返回一个 session_id 来获取题目/提交答案等操作。 - quiz [Get Profile](https://vocastar.snowy.moe/359761071e0.md): 获取用户个性化档案。 - quiz [Save Profile](https://vocastar.snowy.moe/359761072e0.md): 保存或更新用户个性化档案。 - quiz [Get Questions](https://vocastar.snowy.moe/358132290e0.md): 通过 session_id 获取到该评测的所有题目。 - quiz [Answer Questions](https://vocastar.snowy.moe/358132291e0.md): 提交单个问题的回答 - quiz [Submit Quiz](https://vocastar.snowy.moe/358132292e0.md): 在所有答案均已提交后将评测标记为已完成并返回测评报告。在成功生成基础报告后立即返回 QuizReportResponse。该结构包含 report.unique_advantage(若无法判定则为空)以及 report.holland_report(首次返回通常为 null,后端会在后台队列中异步调用 LLM 写回完整 HollandReport)。前端需轮询 /api/quiz/report 或等待刷新以获取最终报告。 - quiz [Get Report](https://vocastar.snowy.moe/358132293e0.md): 获取测评报告,建议填写 slug 字段来获取最新的测评报告。若后台 LLM 已生成个性化 HollandReport,则 report.holland_report 包含 career_directions(固定 3 条,每条含 career/description/recommended_action[])与 action_roadmap(含 3 个 small_goals、need_attention、conclusion);若仍在生成或失败则该字段为 null。返回中始终携带 report.unique_advantage、dimension_scores、recommendations 等同步信息。 - career [Get Careers](https://vocastar.snowy.moe/358568502e0.md): - career [Get Career Detail By ID](https://vocastar.snowy.moe/358568504e0.md): - career [Get Career Recommendations List](https://vocastar.snowy.moe/358568503e0.md): - career [Get Career Galaxies List](https://vocastar.snowy.moe/359975991e0.md): - cosplay [列出可用的 Cosplay 剧本](https://vocastar.snowy.moe/361387101e0.md): Cosplay 流程: - cosplay [获取指定 Cosplay 剧本详情](https://vocastar.snowy.moe/361387102e0.md): 根据剧本 ID 获取详细内容与场景信息。 - cosplay [创建或恢复 Cosplay 会话](https://vocastar.snowy.moe/361387103e0.md): 为当前用户创建新的 Cosplay 会话或恢复已存在的会话。 - cosplay [获取 Cosplay 会话当前状态](https://vocastar.snowy.moe/361387104e0.md): 查询指定 Cosplay 会话的最新状态。 - cosplay [在当前场景中选择一个选项](https://vocastar.snowy.moe/361387105e0.md): 在指定会话的当前场景中提交用户的选项选择。 - cosplay [获取 Cosplay 会话最终报告](https://vocastar.snowy.moe/361387106e0.md): 获取已经完成的 Cosplay 会话的总结报告。 - home [首页聚合信息](https://vocastar.snowy.moe/362441600e0.md): - profile [Get My Profile](https://vocastar.snowy.moe/366454882e0.md): - profile [Set My Profile](https://vocastar.snowy.moe/366454883e0.md): - profile [Get My Dashboard](https://vocastar.snowy.moe/366454884e0.md): - profile [List Explorations](https://vocastar.snowy.moe/366454885e0.md): - profile [Upsert Explorations](https://vocastar.snowy.moe/366454886e0.md): - profile [List Favorites](https://vocastar.snowy.moe/366454887e0.md): - profile [Add Favorite](https://vocastar.snowy.moe/366454888e0.md): - profile [List Wrongbook](https://vocastar.snowy.moe/366454889e0.md): 获取错题本 ## Schemas - Schemas [Body_login_api_auth_login_post](https://vocastar.snowy.moe/203467912d0.md): - Schemas [AbilityScore](https://vocastar.snowy.moe/210105666d0.md): - Schemas [CosplayChoiceResponse](https://vocastar.snowy.moe/211724061d0.md): - Schemas [HTTPValidationError](https://vocastar.snowy.moe/203467913d0.md): - Schemas [Body_upload_avatar_api_user_avatar_post](https://vocastar.snowy.moe/207049696d0.md): - Schemas [AddFavoriteRequest](https://vocastar.snowy.moe/212536548d0.md): - Schemas [ActionRoadMap](https://vocastar.snowy.moe/212669090d0.md): - Schemas [RegisterRequest](https://vocastar.snowy.moe/203467914d0.md): - Schemas [UserResetPasswordRequest](https://vocastar.snowy.moe/204004728d0.md): - Schemas [CareerDetail](https://vocastar.snowy.moe/207487870d0.md): - Schemas [ValidationError](https://vocastar.snowy.moe/203467915d0.md): - Schemas [UserSetProfileRequest](https://vocastar.snowy.moe/204004729d0.md): - Schemas [QuestionActivityEntry](https://vocastar.snowy.moe/207164550d0.md): - Schemas [CareerListResponse](https://vocastar.snowy.moe/207487871d0.md): - Schemas [CareerExploreFilters](https://vocastar.snowy.moe/208490563d0.md): - Schemas [UserInfoResponse](https://vocastar.snowy.moe/207049697d0.md): - Schemas [QuestionDimensionEntry](https://vocastar.snowy.moe/207164551d0.md): - Schemas [CareerSummary](https://vocastar.snowy.moe/207487872d0.md): - Schemas [CareerExploreGalaxy](https://vocastar.snowy.moe/208490564d0.md): - Schemas [QuestionScaleConfig](https://vocastar.snowy.moe/207164552d0.md): - Schemas [CareerExplorePlanet](https://vocastar.snowy.moe/208490565d0.md): - Schemas [QuestionSettings](https://vocastar.snowy.moe/207164553d0.md): - Schemas [CareerExploreResponse](https://vocastar.snowy.moe/208490566d0.md): - Schemas [QuizAllocationAnswer](https://vocastar.snowy.moe/207164554d0.md): - Schemas [CareerExploreSalaryRange](https://vocastar.snowy.moe/208490567d0.md): - Schemas [QuizAnswerRequest](https://vocastar.snowy.moe/207164555d0.md): - Schemas [QuizAnswerResponse](https://vocastar.snowy.moe/207164556d0.md): - Schemas [QuizMetricsAnswer](https://vocastar.snowy.moe/207164557d0.md): - Schemas [CosplayAbilityDescriptor](https://vocastar.snowy.moe/209439745d0.md): - Schemas [CareerRecommendationItem](https://vocastar.snowy.moe/210105667d0.md): - Schemas [QuizMultipleChoiceAnswer](https://vocastar.snowy.moe/207164558d0.md): - Schemas [CosplayChoiceRequest](https://vocastar.snowy.moe/209439746d0.md): - Schemas [QuizOption](https://vocastar.snowy.moe/207164559d0.md): - Schemas [CosplayHistoryRecord](https://vocastar.snowy.moe/209439747d0.md): - Schemas [CareerOverview](https://vocastar.snowy.moe/213075605d0.md): - Schemas [QuizQuestion](https://vocastar.snowy.moe/207164560d0.md): - Schemas [CosplayOptionView](https://vocastar.snowy.moe/209439748d0.md): - Schemas [CareerSuggestion](https://vocastar.snowy.moe/212669091d0.md): - Schemas [QuizQuestionsResponse](https://vocastar.snowy.moe/207164561d0.md): - Schemas [CosplayReportPayload](https://vocastar.snowy.moe/209439749d0.md): - Schemas [QuizRatingAnswer](https://vocastar.snowy.moe/207164562d0.md): - Schemas [CosplaySceneView](https://vocastar.snowy.moe/209439750d0.md): - Schemas [QuizRecommendation](https://vocastar.snowy.moe/207164563d0.md): - Schemas [QuizProfileRequest](https://vocastar.snowy.moe/208375302d0.md): - Schemas [CosplayScriptDetail](https://vocastar.snowy.moe/209439751d0.md): - Schemas [CompetencyRequirements](https://vocastar.snowy.moe/213075606d0.md): - Schemas [QuizReportData](https://vocastar.snowy.moe/207164564d0.md): - Schemas [QuizProfileResponse](https://vocastar.snowy.moe/208375303d0.md): - Schemas [CosplayScriptDetailResponse](https://vocastar.snowy.moe/209439752d0.md): - Schemas [QuizReportResponse](https://vocastar.snowy.moe/207164565d0.md): - Schemas [CosplayScriptSummary](https://vocastar.snowy.moe/209439753d0.md): - Schemas [QuizSingleChoiceAnswer](https://vocastar.snowy.moe/207164566d0.md): - Schemas [CosplaySessionListResponse](https://vocastar.snowy.moe/209439754d0.md): - Schemas [QuizStartResponse](https://vocastar.snowy.moe/207164567d0.md): - Schemas [CosplaySessionResumeRequest](https://vocastar.snowy.moe/209439755d0.md): - Schemas [QuizSubmitRequest](https://vocastar.snowy.moe/207164568d0.md): - Schemas [CosplaySessionState](https://vocastar.snowy.moe/209439756d0.md): - Schemas [CosplaySessionStateResponse](https://vocastar.snowy.moe/209439757d0.md): - Schemas [HomeSummaryResponse](https://vocastar.snowy.moe/210105668d0.md): - Schemas [PersonalOverview](https://vocastar.snowy.moe/210105669d0.md): - Schemas [DashboardRecommendation](https://vocastar.snowy.moe/212536549d0.md): - Schemas [PlanetProgress](https://vocastar.snowy.moe/210105670d0.md): - Schemas [DashboardResponse](https://vocastar.snowy.moe/212536550d0.md): - Schemas [PointEntry](https://vocastar.snowy.moe/210105671d0.md): - Schemas [ExplorationItem](https://vocastar.snowy.moe/212536551d0.md): - Schemas [ExplorationListResponse](https://vocastar.snowy.moe/212536552d0.md): - Schemas [ExplorationRecord](https://vocastar.snowy.moe/212536553d0.md): - Schemas [ExplorationUpsertRequest](https://vocastar.snowy.moe/212536554d0.md): - Schemas [FavoriteListResponse](https://vocastar.snowy.moe/212536555d0.md): - Schemas [FavoriteRecord](https://vocastar.snowy.moe/212536556d0.md): - Schemas [QuizClassicScenarioAnswer](https://vocastar.snowy.moe/210105672d0.md): - Schemas [HollandPortrait](https://vocastar.snowy.moe/212536557d0.md): - Schemas [QuizImagePreferenceAnswer](https://vocastar.snowy.moe/210105673d0.md): - Schemas [QuizLegacyAllocationAnswer](https://vocastar.snowy.moe/210105674d0.md): - Schemas [QuizLegacyMetricsAnswer](https://vocastar.snowy.moe/210105675d0.md): - Schemas [HollandReport](https://vocastar.snowy.moe/212669092d0.md): - Schemas [QuizLegacyMultipleChoiceAnswer](https://vocastar.snowy.moe/210105676d0.md): - Schemas [QuizLegacySingleChoiceAnswer](https://vocastar.snowy.moe/210105677d0.md): - Schemas [KnowledgeBackground](https://vocastar.snowy.moe/213075607d0.md): - Schemas [QuizTimeAllocationAnswer](https://vocastar.snowy.moe/210105678d0.md): - Schemas [QuizValueBalanceAnswer](https://vocastar.snowy.moe/210105679d0.md): - Schemas [QuizWordChoiceAnswer](https://vocastar.snowy.moe/210105680d0.md): - Schemas [TodayPointsSummary](https://vocastar.snowy.moe/210105681d0.md): - Schemas [UserProfileSummary](https://vocastar.snowy.moe/212536558d0.md): - Schemas [SmallGoal](https://vocastar.snowy.moe/212669093d0.md): - Schemas [WrongbookItem](https://vocastar.snowy.moe/212536559d0.md): - Schemas [SalaryAndDistribution](https://vocastar.snowy.moe/213075608d0.md): - Schemas [WrongbookListResponse](https://vocastar.snowy.moe/212536560d0.md): - Schemas [SkillEnhancementStage](https://vocastar.snowy.moe/213075609d0.md): - Schemas [SkillMap](https://vocastar.snowy.moe/213075610d0.md):