{"apis":[{"endpoint":"flasgger.static","methods":["GET"],"route":"/flasgger_static/<path:filename>"},{"endpoint":"flasgger.apidocs","methods":["GET"],"route":"/apidocs/"},{"endpoint":"flasgger.oauth_redirect","methods":["GET"],"route":"/oauth2-redirect.html"},{"endpoint":"flasgger.<lambda>","methods":["GET"],"route":"/apidocs/index.html"},{"endpoint":"flasgger./api/apispec_1","methods":["GET"],"route":"/api/apispec_1.json"},{"endpoint":"health","methods":["GET"],"route":"/api/health"},{"endpoint":"ai.list_providers","methods":["GET"],"route":"/api/ai/providers"},{"endpoint":"ai.add_provider","methods":["POST"],"route":"/api/ai/providers"},{"endpoint":"ai.update_provider","methods":["PUT"],"route":"/api/ai/providers/<string:provider_name>"},{"endpoint":"ai.remove_provider","methods":["DELETE"],"route":"/api/ai/providers/<string:provider_name>"},{"endpoint":"ai.switch_provider","methods":["POST"],"route":"/api/ai/providers/switch/<string:provider_name>"},{"endpoint":"ai.chat_completions","methods":["POST"],"route":"/api/ai/chat/completions"},{"endpoint":"category.get_categories","methods":["GET"],"route":"/api/category/"},{"endpoint":"category.add_category","methods":["POST"],"route":"/api/category/add_category"},{"endpoint":"category.update_category","methods":["PUT"],"route":"/api/category/<int:category_id>/update_category"},{"endpoint":"category.delete_category","methods":["DELETE"],"route":"/api/category/<int:category_id>"},{"endpoint":"group.get_groups","methods":["GET"],"route":"/api/groups/"},{"endpoint":"group.get_group","methods":["GET"],"route":"/api/groups/<int:group_id>/items"},{"endpoint":"group.create_group","methods":["POST"],"route":"/api/groups/add_group"},{"endpoint":"group.update_group","methods":["PUT"],"route":"/api/groups/<int:group_id>/update_group"},{"endpoint":"group.delete_group","methods":["DELETE"],"route":"/api/groups/<int:group_id>"},{"endpoint":"group.add_user_to_group","methods":["POST"],"route":"/api/groups/<int:group_id>/users"},{"endpoint":"group.remove_user_from_group","methods":["DELETE"],"route":"/api/groups/<int:group_id>/users/<int:user_id>"},{"endpoint":"group.search_groups","methods":["POST"],"route":"/api/groups/search"},{"endpoint":"knowledge.get_knowledge_base","methods":["GET"],"route":"/api/knowledge/"},{"endpoint":"knowledge.get_knowledge_item","methods":["GET"],"route":"/api/knowledge/<int:kb_id>"},{"endpoint":"knowledge.create_knowledge","methods":["POST"],"route":"/api/knowledge/"},{"endpoint":"knowledge.update_knowledge","methods":["PUT"],"route":"/api/knowledge/<int:kb_id>"},{"endpoint":"knowledge.delete_knowledge","methods":["DELETE"],"route":"/api/knowledge/<int:kb_id>"},{"endpoint":"news.get_news","methods":["GET"],"route":"/api/news/"},{"endpoint":"news.create_news","methods":["POST"],"route":"/api/news/add_news"},{"endpoint":"news.get_news_item","methods":["GET"],"route":"/api/news/<int:news_id>/items"},{"endpoint":"news.update_news","methods":["PUT"],"route":"/api/news/<int:news_id>/update_news"},{"endpoint":"news.delete_news","methods":["DELETE"],"route":"/api/news/<int:news_id>"},{"endpoint":"news.filter_news","methods":["GET"],"route":"/api/news/filter"},{"endpoint":"news.get_news_by_category","methods":["GET"],"route":"/api/news/category/<string:category_name>"},{"endpoint":"permission.get_permissions","methods":["GET"],"route":"/api/permissions/"},{"endpoint":"permission.get_permission","methods":["GET"],"route":"/api/permissions/<int:permission_id>"},{"endpoint":"permission.create_permission","methods":["POST"],"route":"/api/permissions/"},{"endpoint":"permission.assign_permission_to_group","methods":["POST"],"route":"/api/permissions/<int:permission_id>/groups"},{"endpoint":"permission.remove_permission_from_group","methods":["DELETE"],"route":"/api/permissions/<int:permission_id>/groups/<int:group_id>"},{"endpoint":"probe.collect_probe_data","methods":["POST"],"route":"/api/probe/collect"},{"endpoint":"probe.get_probe_stats","methods":["GET"],"route":"/api/probe/stats"},{"endpoint":"probe.get_recent_probes","methods":["GET"],"route":"/api/probe/recent"},{"endpoint":"tokens.get_tokens","methods":["GET"],"route":"/api/tokens/"},{"endpoint":"tokens.delete_token","methods":["DELETE"],"route":"/api/tokens/<int:token_id>"},{"endpoint":"tokens.add_token_for_user","methods":["POST"],"route":"/api/tokens/<int:user_id>/tokens"},{"endpoint":"tokens.update_token","methods":["POST"],"route":"/api/tokens/<int:user_id>/update_token"},{"endpoint":"tokens.validate_token","methods":["POST"],"route":"/api/tokens/validate_token"},{"endpoint":"update.check_update","methods":["GET"],"route":"/api/update/check-update"},{"endpoint":"user.login","methods":["POST"],"route":"/api/user/login"},{"endpoint":"user.logout","methods":["POST"],"route":"/api/user/logout"},{"endpoint":"user.filter_users","methods":["POST"],"route":"/api/user/filter"},{"endpoint":"user.get_users","methods":["GET"],"route":"/api/user/"},{"endpoint":"user.get_users_with_groups","methods":["GET"],"route":"/api/user/users_with_groups"},{"endpoint":"user.add_user","methods":["POST"],"route":"/api/user/add_user"},{"endpoint":"user.get_user","methods":["GET"],"route":"/api/user/items/<int:user_id>"},{"endpoint":"user.update_user","methods":["PUT"],"route":"/api/user/update_user/<int:user_id>"},{"endpoint":"user.delete_user","methods":["DELETE"],"route":"/api/user/<int:user_id>"},{"endpoint":"user.change_password","methods":["PUT"],"route":"/api/user/change_password/<int:user_id>"},{"endpoint":"user.reset_password","methods":["PUT"],"route":"/api/user/reset_password/<int:user_id>"},{"endpoint":"user.generate_captcha","methods":["GET"],"route":"/api/user/captcha"},{"endpoint":"user.verify_captcha","methods":["POST"],"route":"/api/user/verify_captcha"},{"endpoint":"user.compare_password","methods":["POST"],"route":"/api/user/compare_password"},{"endpoint":"user.check_username","methods":["POST"],"route":"/api/user/check_username"},{"endpoint":"tesla.tesla_auth","methods":["GET"],"route":"/api/tesla/auth"},{"endpoint":"tesla.tesla_callback","methods":["POST","GET"],"route":"/api/tesla/callback"},{"endpoint":"tesla.refresh_tesla_token","methods":["POST"],"route":"/api/tesla/refresh_token"},{"endpoint":"tesla.auto_authenticate","methods":["POST"],"route":"/api/tesla/auto_auth"},{"endpoint":"tesla.get_tesla_vehicles","methods":["GET"],"route":"/api/tesla/vehicles"},{"endpoint":"tesla.get_tesla_vehicle_data","methods":["GET"],"route":"/api/tesla/vehicle/<vehicle_id>/data"},{"endpoint":"tesla.wake_up_tesla_vehicle","methods":["POST"],"route":"/api/tesla/vehicle/<vehicle_id>/wake_up"},{"endpoint":"tesla.send_tesla_command","methods":["POST"],"route":"/api/tesla/vehicle/<vehicle_id>/command/<command>"},{"endpoint":"tesla.get_warranty_details","methods":["GET"],"route":"/api/tesla/warranty/details"},{"endpoint":"tesla.register_partner","methods":["GET"],"route":"/api/tesla/register_partner"},{"endpoint":"tesla.verify_tesla_token","methods":["GET"],"route":"/api/tesla/verify_token"},{"endpoint":"log.list_logs","methods":["GET"],"route":"/api/log/logs"},{"endpoint":"log.get_log","methods":["GET"],"route":"/api/log/logs/<log_type>"},{"endpoint":"hr.bind_staff_to_user","methods":["POST"],"route":"/api/hr/staff/<int:staff_id>/bind_user/<int:user_id>"},{"endpoint":"hr.unbind_staff_from_user","methods":["POST"],"route":"/api/hr/staff/<int:staff_id>/unbind_user"},{"endpoint":"hr.get_staff_by_user","methods":["GET"],"route":"/api/hr/user/<int:user_id>/staff"},{"endpoint":"hr.create_department","methods":["POST"],"route":"/api/hr/departments"},{"endpoint":"hr.get_departments_list","methods":["GET"],"route":"/api/hr/departments"},{"endpoint":"hr.get_department","methods":["GET"],"route":"/api/hr/departments/<int:department_id>"},{"endpoint":"hr.update_department","methods":["PUT"],"route":"/api/hr/departments/<int:department_id>"},{"endpoint":"hr.delete_department","methods":["DELETE"],"route":"/api/hr/departments/<int:department_id>"},{"endpoint":"hr.get_department_tree","methods":["GET"],"route":"/api/hr/departments/tree"},{"endpoint":"hr.create_staff","methods":["POST"],"route":"/api/hr/staff"},{"endpoint":"hr.get_staff_list","methods":["GET"],"route":"/api/hr/staff"},{"endpoint":"hr.get_staff","methods":["GET"],"route":"/api/hr/staff/<int:staff_id>"},{"endpoint":"hr.update_staff","methods":["PUT"],"route":"/api/hr/staff/<int:staff_id>"},{"endpoint":"docs.get_api_docs","methods":["GET"],"route":"/api/docs/"},{"endpoint":"docs.api_docs_ui","methods":["GET"],"route":"/api/docs/ui"},{"endpoint":"menu.create_menu","methods":["POST"],"route":"/api/menus/"},{"endpoint":"menu.get_menus","methods":["GET"],"route":"/api/menus/"},{"endpoint":"menu.get_menu","methods":["GET"],"route":"/api/menus/<int:menu_id>"},{"endpoint":"menu.update_menu","methods":["PUT"],"route":"/api/menus/<int:menu_id>"},{"endpoint":"menu.delete_menu","methods":["DELETE"],"route":"/api/menus/<int:menu_id>"},{"endpoint":"menu.reorder_menus","methods":["POST"],"route":"/api/menus/reorder"},{"endpoint":"access_log.create_access_log","methods":["POST"],"route":"/api/access-log/"},{"endpoint":"access_log.get_access_logs","methods":["GET"],"route":"/api/access-log/"},{"endpoint":"access_log.get_access_log","methods":["GET"],"route":"/api/access-log/<int:log_id>"},{"endpoint":"access_log.delete_access_log","methods":["DELETE"],"route":"/api/access-log/<int:log_id>"},{"endpoint":"access_log.get_access_stats","methods":["GET"],"route":"/api/access-log/stats"},{"endpoint":"access_log.get_area_access_stats","methods":["GET"],"route":"/api/access-log/area-stats"},{"endpoint":"access_log.get_path_access_stats","methods":["GET"],"route":"/api/access-log/path-stats"},{"endpoint":"access_log.get_ip_access_stats","methods":["GET"],"route":"/api/access-log/ip-stats"},{"endpoint":"access_log.get_login_logs","methods":["GET"],"route":"/api/access-log/login-logs"},{"endpoint":"access_log.get_login_log_stats","methods":["GET"],"route":"/api/access-log/login-logs/stats"},{"endpoint":"access_log.get_daily_access_stats","methods":["GET"],"route":"/api/access-log/daily-stats"},{"endpoint":"access_log.get_browser_stats","methods":["GET"],"route":"/api/access-log/browser-stats"},{"endpoint":"access_log.get_os_stats","methods":["GET"],"route":"/api/access-log/os-stats"},{"endpoint":"access_log.get_mobile_stats","methods":["GET"],"route":"/api/access-log/mobile-stats"},{"endpoint":"access_log.get_hourly_stats","methods":["GET"],"route":"/api/access-log/hourly-stats"},{"endpoint":"cos.create_bucket","methods":["POST"],"route":"/api/cos/buckets"},{"endpoint":"cos.delete_bucket","methods":["DELETE"],"route":"/api/cos/buckets/<bucket_name>"},{"endpoint":"cos.list_buckets","methods":["GET"],"route":"/api/cos/buckets"},{"endpoint":"cos.upload_file","methods":["POST"],"route":"/api/cos/files"},{"endpoint":"cos.upload_file_from_bytes","methods":["POST"],"route":"/api/cos/files/content"},{"endpoint":"cos.get_file","methods":["GET"],"route":"/api/cos/files/<bucket_name>/<path:key>"},{"endpoint":"cos.delete_file","methods":["DELETE"],"route":"/api/cos/files/<bucket_name>/<path:key>"},{"endpoint":"cos.list_files","methods":["GET"],"route":"/api/cos/files/<bucket_name>"},{"endpoint":"cos.get_temporary_credentials","methods":["GET"],"route":"/api/cos/credentials"},{"endpoint":"db_monitor.get_database_overview","methods":["GET"],"route":"/api/db-monitor/overview"},{"endpoint":"db_monitor.get_table_details","methods":["GET"],"route":"/api/db-monitor/tables"},{"endpoint":"db_monitor.get_performance_stats","methods":["GET"],"route":"/api/db-monitor/performance"},{"endpoint":"db_monitor.get_index_analysis","methods":["GET"],"route":"/api/db-monitor/indexes"},{"endpoint":"login_log.get_login_logs","methods":["GET"],"route":"/api/login-log/"},{"endpoint":"login_log.get_login_log_stats","methods":["GET"],"route":"/api/login-log/stats"},{"endpoint":"stats.collect_api_efficiency","methods":["POST"],"route":"/api/stats/api-efficiency"},{"endpoint":"stats.get_api_efficiency","methods":["GET"],"route":"/api/stats/api-efficiency"},{"endpoint":"stats.api_efficiency_page","methods":["GET"],"route":"/api/stats/api-efficiency-page"},{"endpoint":"stats.get_realtime_api_stats","methods":["GET"],"route":"/api/stats/realtime-api-stats"},{"endpoint":"license.register","methods":["POST"],"route":"/api/license/register"},{"endpoint":"license.verify_email","methods":["GET"],"route":"/api/license/verify-email/<int:application_id>/<token>"},{"endpoint":"license.resend_verification","methods":["POST"],"route":"/api/license/resend-verification"},{"endpoint":"license.validate_license","methods":["POST"],"route":"/api/license/validate"},{"endpoint":"license.get_license_list","methods":["GET"],"route":"/api/license/list"},{"endpoint":"license.approve_application","methods":["POST"],"route":"/api/license/approve/<int:application_id>"},{"endpoint":"ip.visitor_ip","methods":["GET"],"route":"/api/ip/visitor"}]}
