=== APP ROUTES === {'HEAD', 'GET'} /openapi.json {'HEAD', 'GET'} /docs {'HEAD', 'GET'} /docs/oauth2-redirect {'HEAD', 'GET'} /redoc N/A /static {'GET'} /api/auth/status {'POST'} /api/auth/setup {'POST'} /api/auth/login {'POST'} /api/auth/login/json {'GET'} /api/auth/me {'PUT'} /api/auth/password {'GET'} /api/hosts/groups {'GET'} /api/hosts/by-name/{host_name} {'POST'} /api/hosts/refresh {'POST'} /api/hosts/sync {'GET'} /api/hosts/{host_id} {'GET'} /api/hosts {'POST'} /api/hosts {'PUT'} /api/hosts/{host_name} {'DELETE'} /api/hosts/by-name/{host_name} {'DELETE'} /api/hosts/{host_id} {'GET'} /api/groups {'GET'} /api/groups/{group_name} {'POST'} /api/groups {'PUT'} /api/groups/{group_name} {'DELETE'} /api/groups/{group_name} {'GET'} /api/tasks {'GET'} /api/tasks/running {'GET'} /api/tasks/logs {'GET'} /api/tasks/logs/dates {'GET'} /api/tasks/logs/stats {'GET'} /api/tasks/logs/{log_id} {'DELETE'} /api/tasks/logs/{log_id} {'POST'} /api/tasks/{task_id}/cancel {'GET'} /api/tasks/{task_id} {'DELETE'} /api/tasks/{task_id} {'POST'} /api/tasks {'GET'} /api/logs {'POST'} /api/logs {'DELETE'} /api/logs {'GET'} /api/ansible/playbooks {'GET'} /api/ansible/inventory {'GET'} /api/ansible/groups {'GET'} /api/ansible/ssh-config {'POST'} /api/ansible/bootstrap {'POST'} /api/ansible/execute {'POST'} /api/ansible/adhoc {'GET'} /api/playbooks/{filename}/content {'PUT'} /api/playbooks/{filename}/content {'DELETE'} /api/playbooks/{filename} {'GET'} /api/schedules {'GET'} /api/schedules/stats {'GET'} /api/schedules/upcoming {'GET'} /api/schedules/validate-cron {'GET'} /api/schedules/{schedule_id} {'POST'} /api/schedules {'PUT'} /api/schedules/{schedule_id} {'DELETE'} /api/schedules/{schedule_id} {'POST'} /api/schedules/{schedule_id}/run {'POST'} /api/schedules/{schedule_id}/pause {'POST'} /api/schedules/{schedule_id}/resume {'GET'} /api/schedules/{schedule_id}/runs {'GET'} /api/adhoc/history {'GET'} /api/adhoc/categories {'POST'} /api/adhoc/categories {'PUT'} /api/adhoc/categories/{category_name} {'DELETE'} /api/adhoc/categories/{category_name} {'PUT'} /api/adhoc/history/{command_id}/category {'DELETE'} /api/adhoc/history/{command_id} {'GET'} /api/bootstrap/status {'GET'} /api/bootstrap/status/{host_name} {'POST'} /api/bootstrap/status/{host_name} {'POST'} /api/bootstrap {'GET'} /api/health {'GET'} /api/health/global {'GET'} /api/health/runtime {'GET'} /api/health/{host_name} {'POST'} /api/health/refresh {'GET'} /api/notifications/config {'POST'} /api/notifications/test {'POST'} /api/notifications/send {'POST'} /api/notifications/toggle {'GET'} /api/help/content {'GET'} /api/help/documentation.md {'GET'} /api/help/documentation.pdf {'GET'} /api/help/catalog {'GET'} /api/monitoring {'GET'} /api/monitoring/all-hosts {'GET'} /api/monitoring/collection-schedule {'POST'} /api/monitoring/collection-schedule {'GET'} /api/monitoring/{host_id} {'GET'} /api/builtin-playbooks {'GET'} /api/builtin-playbooks/{builtin_id} {'POST'} /api/builtin-playbooks/execute {'POST'} /api/builtin-playbooks/execute-background {'POST'} /api/builtin-playbooks/collect-all {'GET'} /api/server/logs {'POST'} /api/alerts {'GET'} /api/alerts {'GET'} /api/alerts/unread-count {'POST'} /api/alerts/{alert_id}/read {'POST'} /api/alerts/mark-all-read {'DELETE'} /api/alerts/{alert_id} {'GET'} /api/docker/container-customizations {'PUT'} /api/docker/container-customizations/{host_id}/{container_id} {'DELETE'} /api/docker/container-customizations/{host_id}/{container_id} {'GET'} /api/docker/hosts {'POST'} /api/docker/hosts/{host_id}/enable {'POST'} /api/docker/hosts/{host_id}/collect {'POST'} /api/docker/collect-all {'GET'} /api/docker/containers {'GET'} /api/docker/hosts/{host_id}/containers {'POST'} /api/docker/containers/{host_id}/{container_id}/start {'POST'} /api/docker/containers/{host_id}/{container_id}/stop {'POST'} /api/docker/containers/{host_id}/{container_id}/restart {'POST'} /api/docker/containers/{host_id}/{container_id}/remove {'POST'} /api/docker/containers/{host_id}/{container_id}/redeploy {'GET'} /api/docker/containers/{host_id}/{container_id}/logs {'GET'} /api/docker/containers/{host_id}/{container_id}/inspect {'GET'} /api/docker/hosts/{host_id}/images {'DELETE'} /api/docker/images/{host_id}/{image_id} {'GET'} /api/docker/hosts/{host_id}/volumes {'GET'} /api/docker/alerts {'POST'} /api/docker/alerts/{alert_id}/acknowledge {'POST'} /api/docker/alerts/{alert_id}/close {'GET'} /api/docker/stats {'POST'} /api/playbooks/{filename}/lint {'GET'} /api/playbooks/results {'GET'} /api/playbooks/results/{filename} {'GET'} /api/playbooks/rules {'GET'} /api/terminal/status {'GET'} /api/terminal/sessions/{session_id}/probe {'GET'} /api/terminal/proxy/{session_id} {'PATCH', 'DELETE', 'GET', 'OPTIONS', 'POST', 'HEAD', 'PUT'} /api/terminal/proxy/{session_id}/{proxy_path:path} N/A /api/terminal/proxy/{session_id}/ws {'POST'} /api/terminal/{host_id}/terminal-sessions {'DELETE'} /api/terminal/sessions/{session_id} {'POST'} /api/terminal/sessions/{session_id}/heartbeat {'POST'} /api/terminal/sessions/{session_id}/close-beacon {'POST'} /api/terminal/cleanup {'POST'} /api/terminal/sessions/{session_id}/command {'GET'} /api/terminal/connect/{session_id} {'GET'} /api/terminal/popout/{session_id} {'GET'} /api/terminal/{host_id}/command-history {'GET'} /api/terminal/{host_id}/shell-history {'GET'} /api/terminal/{host_id}/command-history/unique {'POST'} /api/terminal/{host_id}/command-history/{command_hash}/pin {'GET'} /api/terminal/command-history {'DELETE'} /api/terminal/{host_id}/command-history {'POST'} /api/terminal/command-history/purge {'GET'} /api/favorites/groups {'POST'} /api/favorites/groups {'PATCH'} /api/favorites/groups/{group_id} {'DELETE'} /api/favorites/groups/{group_id} {'GET'} /api/favorites/containers {'POST'} /api/favorites/containers {'DELETE'} /api/favorites/containers/{favorite_id} {'GET'} /api/config N/A /ws N/A /terminal/ws/{session_id} {'GET'} / {'GET'} /favicon.ico {'GET'} /api