{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-1c24778efb899913", "name": "Possibly dead Python function: require_auth", "shortDescription": {"text": "Possibly dead Python function: require_auth"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-703ae6b64a0966df", "name": "Possibly dead Python function: ensure_legal_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_legal_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0be3d682788218ff", "name": "Possibly dead Python function: ensure_capacity_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_capacity_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e02598d5543cc0fe", "name": "Possibly dead Python function: ensure_school_fees_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_school_fees_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10e14074a61feaee", "name": "Possibly dead Python function: ensure_waitlist_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_waitlist_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de514a646e65e6aa", "name": "Possibly dead Python function: add_to_waitlist", "shortDescription": {"text": "Possibly dead Python function: add_to_waitlist"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-532aa3ea37c7c71d", "name": "Possibly dead Python function: ensure_identity_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_identity_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb10da50ccf821c3", "name": "Possibly dead Python function: ensure_email_cadence_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_email_cadence_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2629541f1bb622ec", "name": "Possibly dead Python function: ensure_email_finder_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_email_finder_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cb9148518f913ec", "name": "Possibly dead Python function: ensure_connection_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_connection_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0dd16c969714075d", "name": "Possibly dead Python function: set_enabled", "shortDescription": {"text": "Possibly dead Python function: set_enabled"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-574f921774ec4fca", "name": "Possibly dead Python function: ensure_spike_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_spike_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c45ec0bdadbb10a", "name": "Possibly dead Python function: is_spike_paused", "shortDescription": {"text": "Possibly dead Python function: is_spike_paused"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f06f378852797a75", "name": "Possibly dead Python function: ensure_settings_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_settings_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd2158062abbd54f", "name": "Possibly dead Python function: ensure_pricing_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_pricing_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0df6555813bf899", "name": "Possibly dead Python function: plan_brain_table", "shortDescription": {"text": "Possibly dead Python function: plan_brain_table"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c566e85ad872d6f7", "name": "Possibly dead Python function: ensure_memory_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_memory_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c57dd3795a3cb2c", "name": "Possibly dead Python function: ensure_outcome_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_outcome_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ebb6099b4a4376f", "name": "Possibly dead Python function: ensure_demand_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_demand_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9e3b76b71c2daab", "name": "Possibly dead Python function: ensure_inventory_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_inventory_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-edea30d226659507", "name": "Possibly dead Python function: badge_html", "shortDescription": {"text": "Possibly dead Python function: badge_html"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-594a9f70ef826ac2", "name": "Possibly dead Python function: ensure_rules_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_rules_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f7dcedaac9738bb", "name": "Possibly dead Python function: ensure_brief_streak_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_brief_streak_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d8b38d7d232de40", "name": "Possibly dead Python function: list_all", "shortDescription": {"text": "Possibly dead Python function: list_all"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e5caf5d592e6171", "name": "Possibly dead Python function: ensure_scorecard_indexes", "shortDescription": {"text": "Possibly dead Python function: ensure_scorecard_indexes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a23fdac1b63d38a4", "name": "Possible secret in .github/workflows/ci.yml", "shortDescription": {"text": "Possible secret in .github/workflows/ci.yml"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0402338b1c8bd5cf", "name": "Very large file: api/marketing.py (1104 lines)", "shortDescription": {"text": "Very large file: api/marketing.py (1104 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c602e606e62e7577", "name": "Very large file: agent/brain.py (1231 lines)", "shortDescription": {"text": "Very large file: agent/brain.py (1231 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "45 tests / 270 src (ratio 0.17)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 55 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 42 placeholder/mock markers across 16 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-07b38a73946ed431", "name": "Commented-code block (5 lines) in config.py:45", "shortDescription": {"text": "Commented-code block (5 lines) in config.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c0909ffb031a426", "name": "Legacy-named symbol `outreach_short_link_legacy` in api/marketing.py:685", "shortDescription": {"text": "Legacy-named symbol `outreach_short_link_legacy` in api/marketing.py:685"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8053fb477385843f", "name": "Commented-code block (8 lines) in api/marketing.py:442", "shortDescription": {"text": "Commented-code block (8 lines) in api/marketing.py:442"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-41fea8fb729c0ae2", "name": "Commented-code block (5 lines) in api/webhooks.py:274", "shortDescription": {"text": "Commented-code block (5 lines) in api/webhooks.py:274"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8d57f79f9743ffe", "name": "Commented-code block (5 lines) in services/haggle_wire.py:81", "shortDescription": {"text": "Commented-code block (5 lines) in services/haggle_wire.py:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7161a27a54d9b67d", "name": "Commented-code block (5 lines) in services/reachng_self_outreach.py:44", "shortDescription": {"text": "Commented-code block (5 lines) in services/reachng_self_outreach.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c936caa10f7397b7", "name": "Commented-code block (21 lines) in services/demo_datasets.py:15", "shortDescription": {"text": "Commented-code block (21 lines) in services/demo_datasets.py:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8854d2f5d5d1d15d", "name": "Commented-code block (6 lines) in campaigns/base.py:410", "shortDescription": {"text": "Commented-code block (6 lines) in campaigns/base.py:410"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1abb46fba94e7414", "name": "Commented-code block (5 lines) in tools/ig_discovery.py:34", "shortDescription": {"text": "Commented-code block (5 lines) in tools/ig_discovery.py:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3638325a1138d09f", "name": "Commented-code block (6 lines) in tools/account_guard.py:56", "shortDescription": {"text": "Commented-code block (6 lines) in tools/account_guard.py:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c5a842e7d4f152b", "name": "Commented-code block (6 lines) in tools/hitl.py:180", "shortDescription": {"text": "Commented-code block (6 lines) in tools/hitl.py:180"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\napi/salary_erosion.py:se_add_staff, api/fx_salary.py:fxs_add_staff\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ntools/notifier.py:notify_whatsapp, tools/notifier.py:notify_slack, tools/notifier.py:notify_owner\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-030134a61985b829", "name": "FastAPI POST `admin_accept` without auth dependency \u2014 api/legal.py:197", "shortDescription": {"text": "FastAPI POST `admin_accept` without auth dependency \u2014 api/legal.py:197"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9be0f63a026747b5", "name": "FastAPI POST `admin_revoke` without auth dependency \u2014 api/legal.py:220", "shortDescription": {"text": "FastAPI POST `admin_revoke` without auth dependency \u2014 api/legal.py:220"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e49b1ac3e0701b06", "name": "FastAPI POST `review_contract` without auth dependency \u2014 api/legal_review.py:17", "shortDescription": {"text": "FastAPI POST `review_contract` without auth dependency \u2014 api/legal_review.py:17"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-157ff78b8f3f0cfe", "name": "FastAPI POST `log_breakdown` without auth dependency \u2014 api/fleet_dispatcher.py:63", "shortDescription": {"text": "FastAPI POST `log_breakdown` without auth dependency \u2014 api/fleet_dispatcher.py:63"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f19ac3102d96834a", "name": "FastAPI PATCH `approve_incident` without auth dependency \u2014 api/fleet_dispatcher.py:105", "shortDescription": {"text": "FastAPI PATCH `approve_incident` without auth dependency \u2014 api/fleet_dispatcher.py:105"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d88cb67a52e16c10", "name": "FastAPI PATCH `resolve_incident` without auth dependency \u2014 api/fleet_dispatcher.py:113", "shortDescription": {"text": "FastAPI PATCH `resolve_incident` without auth dependency \u2014 api/fleet_dispatcher.py:113"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e2f052a5fafb6e47", "name": "FastAPI POST `se_add_staff` without auth dependency \u2014 api/salary_erosion.py:59", "shortDescription": {"text": "FastAPI POST `se_add_staff` without auth dependency \u2014 api/salary_erosion.py:59"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98d5153be0d41c8c", "name": "FastAPI POST `meta_receive` without auth dependency \u2014 api/meta_messaging.py:33", "shortDescription": {"text": "FastAPI POST `meta_receive` without auth dependency \u2014 api/meta_messaging.py:33"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1bb0bf070475872", "name": "FastAPI POST `record_reply` without auth dependency \u2014 api/ab_testing.py:14", "shortDescription": {"text": "FastAPI POST `record_reply` without auth dependency \u2014 api/ab_testing.py:14"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e7bde2af4458921", "name": "FastAPI POST `resend_webhook` without auth dependency \u2014 api/resend_webhook.py:101", "shortDescription": {"text": "FastAPI POST `resend_webhook` without auth dependency \u2014 api/resend_webhook.py:101"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aee0e84d3fe80f2f", "name": "FastAPI POST `parse_invoice` without auth dependency \u2014 api/invoice_chaser.py:58", "shortDescription": {"text": "FastAPI POST `parse_invoice` without auth dependency \u2014 api/invoice_chaser.py:58"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a601a40409c47f74", "name": "FastAPI POST `send_reminder` without auth dependency \u2014 api/invoice_chaser.py:98", "shortDescription": {"text": "FastAPI POST `send_reminder` without auth dependency \u2014 api/invoice_chaser.py:98"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b71c6fa737d5e505", "name": "FastAPI POST `estate_portal_add_property` without auth dependency \u2014 api/portal_estate.py:85", "shortDescription": {"text": "FastAPI POST `estate_portal_add_property` without auth dependency \u2014 api/portal_estate.py:85"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-57cfee487c05cb83", "name": "FastAPI POST `estate_portal_scorecard` without auth dependency \u2014 api/portal_estate.py:101", "shortDescription": {"text": "FastAPI POST `estate_portal_scorecard` without auth dependency \u2014 api/portal_estate.py:101"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71cd55b5bf5c2bd2", "name": "FastAPI POST `estate_portal_concierge` without auth dependency \u2014 api/portal_estate.py:118", "shortDescription": {"text": "FastAPI POST `estate_portal_concierge` without auth dependency \u2014 api/portal_estate.py:118"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f6731767675cfaf", "name": "FastAPI POST `estate_portal_pof` without auth dependency \u2014 api/portal_estate.py:158", "shortDescription": {"text": "FastAPI POST `estate_portal_pof` without auth dependency \u2014 api/portal_estate.py:158"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73eb5dbe72b02455", "name": "FastAPI POST `estate_portal_kyc` without auth dependency \u2014 api/portal_estate.py:184", "shortDescription": {"text": "FastAPI POST `estate_portal_kyc` without auth dependency \u2014 api/portal_estate.py:184"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-492976858c41c55e", "name": "FastAPI POST `estate_portal_bg` without auth dependency \u2014 api/portal_estate.py:219", "shortDescription": {"text": "FastAPI POST `estate_portal_bg` without auth dependency \u2014 api/portal_estate.py:219"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-560b5d5c0d479d3e", "name": "FastAPI POST `estate_portal_lawyer` without auth dependency \u2014 api/portal_estate.py:252", "shortDescription": {"text": "FastAPI POST `estate_portal_lawyer` without auth dependency \u2014 api/portal_estate.py:252"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d75520932d8b1aa9", "name": "FastAPI POST `create_plan` without auth dependency \u2014 api/plans.py:168", "shortDescription": {"text": "FastAPI POST `create_plan` without auth dependency \u2014 api/plans.py:168"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be545bc61ebf5e5d", "name": "FastAPI PATCH `update_plan` without auth dependency \u2014 api/plans.py:194", "shortDescription": {"text": "FastAPI PATCH `update_plan` without auth dependency \u2014 api/plans.py:194"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ddd1cbc8a08480a4", "name": "FastAPI DELETE `delete_plan` without auth dependency \u2014 api/plans.py:247", "shortDescription": {"text": "FastAPI DELETE `delete_plan` without auth dependency \u2014 api/plans.py:247"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9dbd6b1eb817ccfc", "name": "FastAPI POST `upsert_client` without auth dependency \u2014 api/clients.py:202", "shortDescription": {"text": "FastAPI POST `upsert_client` without auth dependency \u2014 api/clients.py:202"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb110d72545ef423", "name": "FastAPI PATCH `update_payment_status` without auth dependency \u2014 api/clients.py:291", "shortDescription": {"text": "FastAPI PATCH `update_payment_status` without auth dependency \u2014 api/clients.py:291"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d87a93947f3ffb07", "name": "FastAPI POST `offboard` without auth dependency \u2014 api/clients.py:465", "shortDescription": {"text": "FastAPI POST `offboard` without auth dependency \u2014 api/clients.py:465"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-743ea6a813206f53", "name": "FastAPI PATCH `set_autopilot` without auth dependency \u2014 api/clients.py:482", "shortDescription": {"text": "FastAPI PATCH `set_autopilot` without auth dependency \u2014 api/clients.py:482"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-effb36b0914253a3", "name": "FastAPI PATCH `set_signal_listening` without auth dependency \u2014 api/clients.py:516", "shortDescription": {"text": "FastAPI PATCH `set_signal_listening` without auth dependency \u2014 api/clients.py:516"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ec095568218c8a7", "name": "FastAPI PATCH `set_eyo_flag` without auth dependency \u2014 api/clients.py:535", "shortDescription": {"text": "FastAPI PATCH `set_eyo_flag` without auth dependency \u2014 api/clients.py:535"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-22bfe6e0dff736ce", "name": "FastAPI PUT `put_client_meta_messaging` without auth dependency \u2014 api/clients.py:566", "shortDescription": {"text": "FastAPI PUT `put_client_meta_messaging` without auth dependency \u2014 api/clients.py:566"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ee64c8595d9b2b2", "name": "FastAPI PUT `put_client_email_credentials` without auth dependency \u2014 api/clients.py:597", "shortDescription": {"text": "FastAPI PUT `put_client_email_credentials` without auth dependency \u2014 api/clients.py:597"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8d5ae4b6d67609d", "name": "FastAPI PUT `put_client_pricing` without auth dependency \u2014 api/clients.py:621", "shortDescription": {"text": "FastAPI PUT `put_client_pricing` without auth dependency \u2014 api/clients.py:621"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-57b12d2476e178cd", "name": "FastAPI PATCH `set_holding_message` without auth dependency \u2014 api/clients.py:637", "shortDescription": {"text": "FastAPI PATCH `set_holding_message` without auth dependency \u2014 api/clients.py:637"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a75746fac4259031", "name": "FastAPI DELETE `deactivate_client` without auth dependency \u2014 api/clients.py:654", "shortDescription": {"text": "FastAPI DELETE `deactivate_client` without auth dependency \u2014 api/clients.py:654"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0fcf62efd2392b74", "name": "FastAPI POST `initialize_payment` without auth dependency \u2014 api/paystack.py:25", "shortDescription": {"text": "FastAPI POST `initialize_payment` without auth dependency \u2014 api/paystack.py:25"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6ba73987a5095682", "name": "FastAPI POST `dry_run` without auth dependency \u2014 api/self_outreach.py:123", "shortDescription": {"text": "FastAPI POST `dry_run` without auth dependency \u2014 api/self_outreach.py:123"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a667f53f69eacd9", "name": "FastAPI POST `preview_one` without auth dependency \u2014 api/self_outreach.py:156", "shortDescription": {"text": "FastAPI POST `preview_one` without auth dependency \u2014 api/self_outreach.py:156"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a63c5bc3c557d1aa", "name": "FastAPI POST `reply_poll_run_now` without auth dependency \u2014 api/self_outreach.py:177", "shortDescription": {"text": "FastAPI POST `reply_poll_run_now` without auth dependency \u2014 api/self_outreach.py:177"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a80c6ffc6167bf85", "name": "FastAPI POST `portal_start_pairing` without auth dependency \u2014 api/whatsapp_connect.py:65", "shortDescription": {"text": "FastAPI POST `portal_start_pairing` without auth dependency \u2014 api/whatsapp_connect.py:65"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-383cb9af76d53b88", "name": "FastAPI POST `portal_start_email_pairing` without auth dependency \u2014 api/whatsapp_connect.py:134", "shortDescription": {"text": "FastAPI POST `portal_start_email_pairing` without auth dependency \u2014 api/whatsapp_connect.py:134"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-85716fc28962b2da", "name": "FastAPI POST `unipile_account_webhook` without auth dependency \u2014 api/whatsapp_connect.py:217", "shortDescription": {"text": "FastAPI POST `unipile_account_webhook` without auth dependency \u2014 api/whatsapp_connect.py:217"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ca485b490ea2d245", "name": "FastAPI POST `unipile_email_webhook` without auth dependency \u2014 api/whatsapp_connect.py:326", "shortDescription": {"text": "FastAPI POST `unipile_email_webhook` without auth dependency \u2014 api/whatsapp_connect.py:326"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5893b39a2528618c", "name": "FastAPI POST `portal_promote_line` without auth dependency \u2014 api/whatsapp_connect.py:413", "shortDescription": {"text": "FastAPI POST `portal_promote_line` without auth dependency \u2014 api/whatsapp_connect.py:413"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-51eaab96ce259f14", "name": "FastAPI POST `portal_reset_health` without auth dependency \u2014 api/whatsapp_connect.py:432", "shortDescription": {"text": "FastAPI POST `portal_reset_health` without auth dependency \u2014 api/whatsapp_connect.py:432"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93e3a87dd88bb376", "name": "FastAPI POST `portal_remove_line` without auth dependency \u2014 api/whatsapp_connect.py:448", "shortDescription": {"text": "FastAPI POST `portal_remove_line` without auth dependency \u2014 api/whatsapp_connect.py:448"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-507f75d9ef834d9f", "name": "FastAPI POST `add_invoice` without auth dependency \u2014 api/invoices.py:51", "shortDescription": {"text": "FastAPI POST `add_invoice` without auth dependency \u2014 api/invoices.py:51"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a6dbf709aeb7edc", "name": "FastAPI POST `mark_invoice_paid` without auth dependency \u2014 api/invoices.py:95", "shortDescription": {"text": "FastAPI POST `mark_invoice_paid` without auth dependency \u2014 api/invoices.py:95"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cec84c8a690fb47f", "name": "FastAPI POST `write_off` without auth dependency \u2014 api/invoices.py:104", "shortDescription": {"text": "FastAPI POST `write_off` without auth dependency \u2014 api/invoices.py:104"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6812cc1b4c43a3a3", "name": "FastAPI POST `debtor_responded` without auth dependency \u2014 api/invoices.py:113", "shortDescription": {"text": "FastAPI POST `debtor_responded` without auth dependency \u2014 api/invoices.py:113"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fdbdff47792b6e2f", "name": "FastAPI POST `add_invoice_note` without auth dependency \u2014 api/invoices.py:123", "shortDescription": {"text": "FastAPI POST `add_invoice_note` without auth dependency \u2014 api/invoices.py:123"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f786d6f2dcfe33c", "name": "FastAPI POST `send_manual_reminder` without auth dependency \u2014 api/invoices.py:130", "shortDescription": {"text": "FastAPI POST `send_manual_reminder` without auth dependency \u2014 api/invoices.py:130"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-074f77c2739459ad", "name": "FastAPI POST `portal_create_inventory` without auth dependency \u2014 api/inventory.py:69", "shortDescription": {"text": "FastAPI POST `portal_create_inventory` without auth dependency \u2014 api/inventory.py:69"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00d858714d6bdbae", "name": "FastAPI PUT `portal_update_inventory` without auth dependency \u2014 api/inventory.py:82", "shortDescription": {"text": "FastAPI PUT `portal_update_inventory` without auth dependency \u2014 api/inventory.py:82"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-48004b3b4e086afa", "name": "FastAPI DELETE `portal_delete_inventory` without auth dependency \u2014 api/inventory.py:95", "shortDescription": {"text": "FastAPI DELETE `portal_delete_inventory` without auth dependency \u2014 api/inventory.py:95"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b9c19a1b9820d870", "name": "FastAPI POST `fxs_add_staff` without auth dependency \u2014 api/fx_salary.py:51", "shortDescription": {"text": "FastAPI POST `fxs_add_staff` without auth dependency \u2014 api/fx_salary.py:51"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a00487fb1a9127ca", "name": "FastAPI POST `run_discovery` without auth dependency \u2014 api/competitors.py:7", "shortDescription": {"text": "FastAPI POST `run_discovery` without auth dependency \u2014 api/competitors.py:7"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d4152b28a3b5c94", "name": "FastAPI POST `update_agent_name` without auth dependency \u2014 api/portal.py:120", "shortDescription": {"text": "FastAPI POST `update_agent_name` without auth dependency \u2014 api/portal.py:120"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a944eb3dd2f43967", "name": "FastAPI POST `confirm_identity` without auth dependency \u2014 api/portal.py:536", "shortDescription": {"text": "FastAPI POST `confirm_identity` without auth dependency \u2014 api/portal.py:536"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7ca977807b4a837", "name": "FastAPI POST `reject_identity` without auth dependency \u2014 api/portal.py:546", "shortDescription": {"text": "FastAPI POST `reject_identity` without auth dependency \u2014 api/portal.py:546"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5736c7ffbcc5b17", "name": "FastAPI POST `upload_leads_submit` without auth dependency \u2014 api/portal.py:704", "shortDescription": {"text": "FastAPI POST `upload_leads_submit` without auth dependency \u2014 api/portal.py:704"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd93b433dc349406", "name": "FastAPI POST `run_resurrection` without auth dependency \u2014 api/portal.py:778", "shortDescription": {"text": "FastAPI POST `run_resurrection` without auth dependency \u2014 api/portal.py:778"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-275c768c24563290", "name": "FastAPI POST `book_upload_vcf` without auth dependency \u2014 api/portal.py:932", "shortDescription": {"text": "FastAPI POST `book_upload_vcf` without auth dependency \u2014 api/portal.py:932"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-049b839c89174160", "name": "FastAPI POST `book_paste` without auth dependency \u2014 api/portal.py:965", "shortDescription": {"text": "FastAPI POST `book_paste` without auth dependency \u2014 api/portal.py:965"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b472e29c64df436a", "name": "FastAPI POST `portal_add_rule` without auth dependency \u2014 api/client_rules.py:215", "shortDescription": {"text": "FastAPI POST `portal_add_rule` without auth dependency \u2014 api/client_rules.py:215"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd947eac29c411d1", "name": "FastAPI PATCH `portal_update_rule` without auth dependency \u2014 api/client_rules.py:222", "shortDescription": {"text": "FastAPI PATCH `portal_update_rule` without auth dependency \u2014 api/client_rules.py:222"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-75a1a3e2d179481f", "name": "FastAPI DELETE `portal_delete_rule` without auth dependency \u2014 api/client_rules.py:229", "shortDescription": {"text": "FastAPI DELETE `portal_delete_rule` without auth dependency \u2014 api/client_rules.py:229"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-78cc06f7bf8b32ab", "name": "FastAPI POST `portal_activate_scenario` without auth dependency \u2014 api/client_rules.py:243", "shortDescription": {"text": "FastAPI POST `portal_activate_scenario` without auth dependency \u2014 api/client_rules.py:243"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1aebe2701a72276", "name": "FastAPI POST `portal_sandbox` without auth dependency \u2014 api/client_rules.py:249", "shortDescription": {"text": "FastAPI POST `portal_sandbox` without auth dependency \u2014 api/client_rules.py:249"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e4696a552b8c9340", "name": "FastAPI POST `set_vertical_custom` without auth dependency \u2014 api/marketing.py:556", "shortDescription": {"text": "FastAPI POST `set_vertical_custom` without auth dependency \u2014 api/marketing.py:556"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae88bf570beab27d", "name": "FastAPI POST `contact_submit` without auth dependency \u2014 api/marketing.py:711", "shortDescription": {"text": "FastAPI POST `contact_submit` without auth dependency \u2014 api/marketing.py:711"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5d6bcc6b7eb8e7e7", "name": "FastAPI POST `paystack_webhook` without auth dependency \u2014 api/marketing.py:879", "shortDescription": {"text": "FastAPI POST `paystack_webhook` without auth dependency \u2014 api/marketing.py:879"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6bb3c33555fab0f", "name": "FastAPI POST `fr_add_route` without auth dependency \u2014 api/fuel_reprice.py:68", "shortDescription": {"text": "FastAPI POST `fr_add_route` without auth dependency \u2014 api/fuel_reprice.py:68"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb96abbbf211c3b2", "name": "FastAPI POST `fr_generate_letter` without auth dependency \u2014 api/fuel_reprice.py:79", "shortDescription": {"text": "FastAPI POST `fr_generate_letter` without auth dependency \u2014 api/fuel_reprice.py:79"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6672076c4958b06", "name": "FastAPI PATCH `contact_replied` without auth dependency \u2014 api/contacts.py:154", "shortDescription": {"text": "FastAPI PATCH `contact_replied` without auth dependency \u2014 api/contacts.py:154"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-737b7a97c5185f0a", "name": "FastAPI PATCH `contact_converted` without auth dependency \u2014 api/contacts.py:162", "shortDescription": {"text": "FastAPI PATCH `contact_converted` without auth dependency \u2014 api/contacts.py:162"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c734ba86d8e255c8", "name": "FastAPI PATCH `contact_opted_out` without auth dependency \u2014 api/contacts.py:170", "shortDescription": {"text": "FastAPI PATCH `contact_opted_out` without auth dependency \u2014 api/contacts.py:170"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a688f2f6d664836c", "name": "FastAPI PATCH `contact_closed_won` without auth dependency \u2014 api/contacts.py:189", "shortDescription": {"text": "FastAPI PATCH `contact_closed_won` without auth dependency \u2014 api/contacts.py:189"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb46edfcdb405b11", "name": "FastAPI POST `sync_replies` without auth dependency \u2014 api/contacts.py:233", "shortDescription": {"text": "FastAPI POST `sync_replies` without auth dependency \u2014 api/contacts.py:233"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c9f9068c02b5a382", "name": "FastAPI POST `onboard_as_client` without auth dependency \u2014 api/contacts.py:356", "shortDescription": {"text": "FastAPI POST `onboard_as_client` without auth dependency \u2014 api/contacts.py:356"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd90730970f388f4", "name": "FastAPI POST `estate_add_property` without auth dependency \u2014 api/estate.py:133", "shortDescription": {"text": "FastAPI POST `estate_add_property` without auth dependency \u2014 api/estate.py:133"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5dd2960e01a411f", "name": "FastAPI POST `estate_scorecard` without auth dependency \u2014 api/estate.py:157", "shortDescription": {"text": "FastAPI POST `estate_scorecard` without auth dependency \u2014 api/estate.py:157"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-623351367670ac1b", "name": "FastAPI POST `estate_concierge_ask` without auth dependency \u2014 api/estate.py:166", "shortDescription": {"text": "FastAPI POST `estate_concierge_ask` without auth dependency \u2014 api/estate.py:166"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ada4b4123eb40764", "name": "FastAPI POST `estate_pof_assess` without auth dependency \u2014 api/estate.py:186", "shortDescription": {"text": "FastAPI POST `estate_pof_assess` without auth dependency \u2014 api/estate.py:186"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f1b2456c4e69c1a", "name": "FastAPI POST `estate_kyc_extract` without auth dependency \u2014 api/estate.py:203", "shortDescription": {"text": "FastAPI POST `estate_kyc_extract` without auth dependency \u2014 api/estate.py:203"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2e32f6b09d921c9", "name": "FastAPI POST `estate_kyc_extract_image` without auth dependency \u2014 api/estate.py:217", "shortDescription": {"text": "FastAPI POST `estate_kyc_extract_image` without auth dependency \u2014 api/estate.py:217"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec6bfb7753d3868c", "name": "FastAPI POST `estate_background_check` without auth dependency \u2014 api/estate.py:246", "shortDescription": {"text": "FastAPI POST `estate_background_check` without auth dependency \u2014 api/estate.py:246"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6c0df7ae19dcc45d", "name": "FastAPI POST `estate_lawyer_bundle` without auth dependency \u2014 api/estate.py:267", "shortDescription": {"text": "FastAPI POST `estate_lawyer_bundle` without auth dependency \u2014 api/estate.py:267"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d2c74f8ef4883565", "name": "FastAPI POST `estate_lawyer_bundle_attach` without auth dependency \u2014 api/estate.py:292", "shortDescription": {"text": "FastAPI POST `estate_lawyer_bundle_attach` without auth dependency \u2014 api/estate.py:292"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72f5309807256983", "name": "FastAPI POST `try_eyo` without auth dependency \u2014 api/try_eyo.py:101", "shortDescription": {"text": "FastAPI POST `try_eyo` without auth dependency \u2014 api/try_eyo.py:101"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89667c1e161dd259", "name": "FastAPI POST `whatsapp_inbound` without auth dependency \u2014 api/webhooks.py:228", "shortDescription": {"text": "FastAPI POST `whatsapp_inbound` without auth dependency \u2014 api/webhooks.py:228"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0adb1ccbe5a9f136", "name": "FastAPI POST `dc_add_case` without auth dependency \u2014 api/debt_collector.py:78", "shortDescription": {"text": "FastAPI POST `dc_add_case` without auth dependency \u2014 api/debt_collector.py:78"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4e4a4610d0fbd919", "name": "FastAPI POST `dc_mark_paid` without auth dependency \u2014 api/debt_collector.py:98", "shortDescription": {"text": "FastAPI POST `dc_mark_paid` without auth dependency \u2014 api/debt_collector.py:98"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71709723575cd537", "name": "FastAPI POST `dc_payment_link` without auth dependency \u2014 api/debt_collector.py:108", "shortDescription": {"text": "FastAPI POST `dc_payment_link` without auth dependency \u2014 api/debt_collector.py:108"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f2893e77eb5806d6", "name": "FastAPI POST `fxl_lock_quote` without auth dependency \u2014 api/fx_lock.py:79", "shortDescription": {"text": "FastAPI POST `fxl_lock_quote` without auth dependency \u2014 api/fx_lock.py:79"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-347dc2fdde76dff0", "name": "FastAPI POST `fxl_settings` without auth dependency \u2014 api/fx_lock.py:104", "shortDescription": {"text": "FastAPI POST `fxl_settings` without auth dependency \u2014 api/fx_lock.py:104"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5796966f25af869c", "name": "FastAPI POST `ml_analyse` without auth dependency \u2014 api/moonlighting.py:48", "shortDescription": {"text": "FastAPI POST `ml_analyse` without auth dependency \u2014 api/moonlighting.py:48"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-da05f4a58a633bb6", "name": "FastAPI POST `record_booking` without auth dependency \u2014 api/venue_capacity.py:152", "shortDescription": {"text": "FastAPI POST `record_booking` without auth dependency \u2014 api/venue_capacity.py:152"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a1f1759fec0fbd09", "name": "FastAPI PUT `admin_upsert_primer` without auth dependency \u2014 api/brief.py:104", "shortDescription": {"text": "FastAPI PUT `admin_upsert_primer` without auth dependency \u2014 api/brief.py:104"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef2b08c5733bdd41", "name": "FastAPI PUT `admin_put_client_brief` without auth dependency \u2014 api/brief.py:130", "shortDescription": {"text": "FastAPI PUT `admin_put_client_brief` without auth dependency \u2014 api/brief.py:130"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bef651ebe230905c", "name": "FastAPI POST `admin_brief_restore` without auth dependency \u2014 api/brief.py:149", "shortDescription": {"text": "FastAPI POST `admin_brief_restore` without auth dependency \u2014 api/brief.py:149"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1929c551dd77eaa0", "name": "FastAPI POST `admin_intake` without auth dependency \u2014 api/brief.py:160", "shortDescription": {"text": "FastAPI POST `admin_intake` without auth dependency \u2014 api/brief.py:160"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4977b11b0cc3a43", "name": "FastAPI POST `admin_draft_brief` without auth dependency \u2014 api/brief.py:176", "shortDescription": {"text": "FastAPI POST `admin_draft_brief` without auth dependency \u2014 api/brief.py:176"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc95299ce42cd023", "name": "FastAPI POST `pa_scan` without auth dependency \u2014 api/product_auth.py:52", "shortDescription": {"text": "FastAPI POST `pa_scan` without auth dependency \u2014 api/product_auth.py:52"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cbb92d71206b6d61", "name": "FastAPI POST `upsert_school` without auth dependency \u2014 api/school_fees.py:109", "shortDescription": {"text": "FastAPI POST `upsert_school` without auth dependency \u2014 api/school_fees.py:109"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0741a163d4ea0c84", "name": "FastAPI DELETE `deactivate_school` without auth dependency \u2014 api/school_fees.py:137", "shortDescription": {"text": "FastAPI DELETE `deactivate_school` without auth dependency \u2014 api/school_fees.py:137"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c17544d3c5b78729", "name": "FastAPI PATCH `patch_student` without auth dependency \u2014 api/school_fees.py:168", "shortDescription": {"text": "FastAPI PATCH `patch_student` without auth dependency \u2014 api/school_fees.py:168"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53810d7a71a3b57a", "name": "FastAPI POST `confirm_claimed_payment` without auth dependency \u2014 api/school_fees.py:182", "shortDescription": {"text": "FastAPI POST `confirm_claimed_payment` without auth dependency \u2014 api/school_fees.py:182"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0e863ce49eb6438b", "name": "FastAPI POST `reject_claimed_payment` without auth dependency \u2014 api/school_fees.py:196", "shortDescription": {"text": "FastAPI POST `reject_claimed_payment` without auth dependency \u2014 api/school_fees.py:196"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-acd40c68417d4954", "name": "FastAPI POST `upsert_student` without auth dependency \u2014 api/school_fees.py:209", "shortDescription": {"text": "FastAPI POST `upsert_student` without auth dependency \u2014 api/school_fees.py:209"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-addf0c5a99322d72", "name": "FastAPI POST `record_payment` without auth dependency \u2014 api/school_fees.py:249", "shortDescription": {"text": "FastAPI POST `record_payment` without auth dependency \u2014 api/school_fees.py:249"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f0e94aa7f7bfd95", "name": "FastAPI POST `send_reminders` without auth dependency \u2014 api/school_fees.py:352", "shortDescription": {"text": "FastAPI POST `send_reminders` without auth dependency \u2014 api/school_fees.py:352"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3136b7386a41e9ec", "name": "FastAPI POST `mc_apply` without auth dependency \u2014 api/market_credit.py:48", "shortDescription": {"text": "FastAPI POST `mc_apply` without auth dependency \u2014 api/market_credit.py:48"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c46bf202de2647ec", "name": "FastAPI POST `mch_check` without auth dependency \u2014 api/material_check.py:52", "shortDescription": {"text": "FastAPI POST `mch_check` without auth dependency \u2014 api/material_check.py:52"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7d14c0d4691a0f27", "name": "FastAPI POST `mch_blacklist` without auth dependency \u2014 api/material_check.py:65", "shortDescription": {"text": "FastAPI POST `mch_blacklist` without auth dependency \u2014 api/material_check.py:65"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-43d94b4d34ebc110", "name": "FastAPI POST `upload_b2c_csv` without auth dependency \u2014 api/b2c.py:200", "shortDescription": {"text": "FastAPI POST `upload_b2c_csv` without auth dependency \u2014 api/b2c.py:200"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-30be7e1f1353279c", "name": "FastAPI POST `resume_client_outreach` without auth dependency \u2014 api/b2c.py:275", "shortDescription": {"text": "FastAPI POST `resume_client_outreach` without auth dependency \u2014 api/b2c.py:275"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a7e8bacc3e2d3707", "name": "FastAPI POST `run_b2c_campaign` without auth dependency \u2014 api/b2c.py:314", "shortDescription": {"text": "FastAPI POST `run_b2c_campaign` without auth dependency \u2014 api/b2c.py:314"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89512152d0a2ece1", "name": "FastAPI PATCH `b2c_opt_out` without auth dependency \u2014 api/b2c.py:445", "shortDescription": {"text": "FastAPI PATCH `b2c_opt_out` without auth dependency \u2014 api/b2c.py:445"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb351d9657143677", "name": "FastAPI POST `generate` without auth dependency \u2014 api/hooks.py:21", "shortDescription": {"text": "FastAPI POST `generate` without auth dependency \u2014 api/hooks.py:21"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6ebee9b66ca48623", "name": "FastAPI POST `portal_paste_kb` without auth dependency \u2014 api/knowledge_base.py:127", "shortDescription": {"text": "FastAPI POST `portal_paste_kb` without auth dependency \u2014 api/knowledge_base.py:127"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b13a6204f0ddf79", "name": "FastAPI POST `portal_upload_kb` without auth dependency \u2014 api/knowledge_base.py:142", "shortDescription": {"text": "FastAPI POST `portal_upload_kb` without auth dependency \u2014 api/knowledge_base.py:142"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb94aac47a636db2", "name": "FastAPI DELETE `portal_delete_kb` without auth dependency \u2014 api/knowledge_base.py:165", "shortDescription": {"text": "FastAPI DELETE `portal_delete_kb` without auth dependency \u2014 api/knowledge_base.py:165"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cecf23e0f61eacac", "name": "FastAPI POST `save_step` without auth dependency \u2014 api/onboarding.py:82", "shortDescription": {"text": "FastAPI POST `save_step` without auth dependency \u2014 api/onboarding.py:82"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec33d6760441351b", "name": "FastAPI POST `test_draft` without auth dependency \u2014 api/onboarding.py:156", "shortDescription": {"text": "FastAPI POST `test_draft` without auth dependency \u2014 api/onboarding.py:156"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a0648f1cbdc68cdc", "name": "FastAPI POST `complete_onboarding` without auth dependency \u2014 api/onboarding.py:184", "shortDescription": {"text": "FastAPI POST `complete_onboarding` without auth dependency \u2014 api/onboarding.py:184"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-329f794da0292144", "name": "FastAPI POST `concierge_setup` without auth dependency \u2014 api/onboarding.py:233", "shortDescription": {"text": "FastAPI POST `concierge_setup` without auth dependency \u2014 api/onboarding.py:233"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1323e07a01d03464", "name": "FastAPI POST `create_route` without auth dependency \u2014 api/prospect_interviews.py:68", "shortDescription": {"text": "FastAPI POST `create_route` without auth dependency \u2014 api/prospect_interviews.py:68"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73d3c3d31af04b44", "name": "FastAPI PATCH `patch_route` without auth dependency \u2014 api/prospect_interviews.py:74", "shortDescription": {"text": "FastAPI PATCH `patch_route` without auth dependency \u2014 api/prospect_interviews.py:74"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-defac194c23acdd3", "name": "FastAPI DELETE `delete_route` without auth dependency \u2014 api/prospect_interviews.py:82", "shortDescription": {"text": "FastAPI DELETE `delete_route` without auth dependency \u2014 api/prospect_interviews.py:82"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0e418a84c43362a", "name": "FastAPI POST `upload_file` without auth dependency \u2014 api/data.py:29", "shortDescription": {"text": "FastAPI POST `upload_file` without auth dependency \u2014 api/data.py:29"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-04724cdb3436f171", "name": "FastAPI POST `query_data` without auth dependency \u2014 api/data.py:70", "shortDescription": {"text": "FastAPI POST `query_data` without auth dependency \u2014 api/data.py:70"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af0f090df457b5dc", "name": "FastAPI DELETE `delete_data` without auth dependency \u2014 api/data.py:108", "shortDescription": {"text": "FastAPI DELETE `delete_data` without auth dependency \u2014 api/data.py:108"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-54e057a6007274f8", "name": "FastAPI POST `fo_add_agent` without auth dependency \u2014 api/float_optimizer.py:74", "shortDescription": {"text": "FastAPI POST `fo_add_agent` without auth dependency \u2014 api/float_optimizer.py:74"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-519b8bc7cf2363ea", "name": "FastAPI POST `rr_add_unit` without auth dependency \u2014 api/rent_roll.py:94", "shortDescription": {"text": "FastAPI POST `rr_add_unit` without auth dependency \u2014 api/rent_roll.py:94"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfddacbea7074b4e", "name": "FastAPI POST `rr_assign_tenant` without auth dependency \u2014 api/rent_roll.py:118", "shortDescription": {"text": "FastAPI POST `rr_assign_tenant` without auth dependency \u2014 api/rent_roll.py:118"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b5fb1030a8961752", "name": "FastAPI POST `rr_open_period` without auth dependency \u2014 api/rent_roll.py:139", "shortDescription": {"text": "FastAPI POST `rr_open_period` without auth dependency \u2014 api/rent_roll.py:139"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-43b109afe7136b69", "name": "FastAPI POST `rr_mark_paid` without auth dependency \u2014 api/rent_roll.py:152", "shortDescription": {"text": "FastAPI POST `rr_mark_paid` without auth dependency \u2014 api/rent_roll.py:152"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1934517f1449252d", "name": "FastAPI POST `rr_run_chase` without auth dependency \u2014 api/rent_roll.py:163", "shortDescription": {"text": "FastAPI POST `rr_run_chase` without auth dependency \u2014 api/rent_roll.py:163"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dbed8bf5261c534c", "name": "FastAPI POST `create_referral` without auth dependency \u2014 api/referrals.py:15", "shortDescription": {"text": "FastAPI POST `create_referral` without auth dependency \u2014 api/referrals.py:15"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea26ab1bbcab5012", "name": "FastAPI POST `convert` without auth dependency \u2014 api/referrals.py:25", "shortDescription": {"text": "FastAPI POST `convert` without auth dependency \u2014 api/referrals.py:25"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-16d589055648293f", "name": "FastAPI POST `reward` without auth dependency \u2014 api/referrals.py:33", "shortDescription": {"text": "FastAPI POST `reward` without auth dependency \u2014 api/referrals.py:33"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-45581aa593efba12", "name": "FastAPI PUT `set_client_brief` without auth dependency \u2014 api/closer.py:174", "shortDescription": {"text": "FastAPI PUT `set_client_brief` without auth dependency \u2014 api/closer.py:174"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc67b9217e01b67a", "name": "FastAPI PATCH `patch_stage` without auth dependency \u2014 api/closer.py:209", "shortDescription": {"text": "FastAPI PATCH `patch_stage` without auth dependency \u2014 api/closer.py:209"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f9351073dadb8ecc", "name": "FastAPI POST `draft_next_for_lead` without auth dependency \u2014 api/closer.py:221", "shortDescription": {"text": "FastAPI POST `draft_next_for_lead` without auth dependency \u2014 api/closer.py:221"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8d1c6ed801b2b16", "name": "FastAPI POST `add_note` without auth dependency \u2014 api/closer.py:263", "shortDescription": {"text": "FastAPI POST `add_note` without auth dependency \u2014 api/closer.py:263"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f1df4e205653a99f", "name": "FastAPI POST `closer_dry_run` without auth dependency \u2014 api/closer.py:294", "shortDescription": {"text": "FastAPI POST `closer_dry_run` without auth dependency \u2014 api/closer.py:294"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc5c74c3da840fe3", "name": "FastAPI POST `add_price` without auth dependency \u2014 api/market_os.py:58", "shortDescription": {"text": "FastAPI POST `add_price` without auth dependency \u2014 api/market_os.py:58"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6cb3e0c041c5cee", "name": "FastAPI POST `daily_briefing` without auth dependency \u2014 api/market_os.py:75", "shortDescription": {"text": "FastAPI POST `daily_briefing` without auth dependency \u2014 api/market_os.py:75"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9db2b46e779ce3e9", "name": "FastAPI POST `create_alert` without auth dependency \u2014 api/market_os.py:90", "shortDescription": {"text": "FastAPI POST `create_alert` without auth dependency \u2014 api/market_os.py:90"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c8c7413bf90a2c9c", "name": "FastAPI POST `draft_from_signal` without auth dependency \u2014 api/client_signals.py:44", "shortDescription": {"text": "FastAPI POST `draft_from_signal` without auth dependency \u2014 api/client_signals.py:44"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9488c36589a74172", "name": "FastAPI POST `skip_signal_endpoint` without auth dependency \u2014 api/client_signals.py:141", "shortDescription": {"text": "FastAPI POST `skip_signal_endpoint` without auth dependency \u2014 api/client_signals.py:141"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56a4dd8c25a27df7", "name": "FastAPI POST `trigger_listener` without auth dependency \u2014 api/client_signals.py:151", "shortDescription": {"text": "FastAPI POST `trigger_listener` without auth dependency \u2014 api/client_signals.py:151"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-478087566732dad5", "name": "FastAPI POST `run_campaign` without auth dependency \u2014 api/campaigns.py:30", "shortDescription": {"text": "FastAPI POST `run_campaign` without auth dependency \u2014 api/campaigns.py:30"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-26d6b3db31c9eee2", "name": "FastAPI POST `run_all_campaigns` without auth dependency \u2014 api/campaigns.py:74", "shortDescription": {"text": "FastAPI POST `run_all_campaigns` without auth dependency \u2014 api/campaigns.py:74"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee751ec7ff48caab", "name": "FastAPI POST `run_followups` without auth dependency \u2014 api/campaigns.py:93", "shortDescription": {"text": "FastAPI POST `run_followups` without auth dependency \u2014 api/campaigns.py:93"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71f2ebd1182cc14f", "name": "FastAPI POST `approve` without auth dependency \u2014 api/approvals.py:49", "shortDescription": {"text": "FastAPI POST `approve` without auth dependency \u2014 api/approvals.py:49"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-db7ca64a27ad1731", "name": "FastAPI POST `edit_and_approve` without auth dependency \u2014 api/approvals.py:64", "shortDescription": {"text": "FastAPI POST `edit_and_approve` without auth dependency \u2014 api/approvals.py:64"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cad16e2ed7192666", "name": "FastAPI POST `skip` without auth dependency \u2014 api/approvals.py:101", "shortDescription": {"text": "FastAPI POST `skip` without auth dependency \u2014 api/approvals.py:101"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-471434066320cf25", "name": "FastAPI POST `approve_all` without auth dependency \u2014 api/approvals.py:124", "shortDescription": {"text": "FastAPI POST `approve_all` without auth dependency \u2014 api/approvals.py:124"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c0350586e070508", "name": "FastAPI POST `skip_all` without auth dependency \u2014 api/approvals.py:141", "shortDescription": {"text": "FastAPI POST `skip_all` without auth dependency \u2014 api/approvals.py:141"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98cb921ad120e975", "name": "FastAPI POST `regenerate_draft_route` without auth dependency \u2014 api/approvals.py:167", "shortDescription": {"text": "FastAPI POST `regenerate_draft_route` without auth dependency \u2014 api/approvals.py:167"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f22cf013c13a7f0c", "name": "Unused endpoint: GET /sw.js", "shortDescription": {"text": "Unused endpoint: GET /sw.js"}, "fullDescription": {"text": "`main.py` declares `GET /sw.js` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-769398a8a95bd693", "name": "Unused endpoint: GET /app", "shortDescription": {"text": "Unused endpoint: GET /app"}, "fullDescription": {"text": "`main.py` declares `GET /app` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e0e6dfd61369a8b", "name": "Unused endpoint: POST /api/v1/debug/sentry-test", "shortDescription": {"text": "Unused endpoint: POST /api/v1/debug/sentry-test"}, "fullDescription": {"text": "`main.py` declares `POST /api/v1/debug/sentry-test` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d710e276f58d7609", "name": "Unused endpoint: GET /api/v1/logs/recent", "shortDescription": {"text": "Unused endpoint: GET /api/v1/logs/recent"}, "fullDescription": {"text": "`main.py` declares `GET /api/v1/logs/recent` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1bb00ed9db7c0cfa", "name": "Unused endpoint: DELETE /api/v1/logs/clear", "shortDescription": {"text": "Unused endpoint: DELETE /api/v1/logs/clear"}, "fullDescription": {"text": "`main.py` declares `DELETE /api/v1/logs/clear` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06d91e112bb9d362", "name": "Unused endpoint: POST /api/v1/demo/seed-landlord", "shortDescription": {"text": "Unused endpoint: POST /api/v1/demo/seed-landlord"}, "fullDescription": {"text": "`main.py` declares `POST /api/v1/demo/seed-landlord` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ef49b91115629df", "name": "Unused endpoint: POST /api/v1/demo/seed-all", "shortDescription": {"text": "Unused endpoint: POST /api/v1/demo/seed-all"}, "fullDescription": {"text": "`main.py` declares `POST /api/v1/demo/seed-all` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f554c1d66c7ba75", "name": "Unused endpoint: POST /api/v1/clients/backfill-tokens", "shortDescription": {"text": "Unused endpoint: POST /api/v1/clients/backfill-tokens"}, "fullDescription": {"text": "`main.py` declares `POST /api/v1/clients/backfill-tokens` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a436691337284d03", "name": "Unused endpoint: GET /api/v1/health", "shortDescription": {"text": "Unused endpoint: GET /api/v1/health"}, "fullDescription": {"text": "`main.py` declares `GET /api/v1/health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8715e4e2e328262", "name": "Unused endpoint: POST /api/v1/system/sweep", "shortDescription": {"text": "Unused endpoint: POST /api/v1/system/sweep"}, "fullDescription": {"text": "`main.py` declares `POST /api/v1/system/sweep` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45cfaefbd2257ad9", "name": "Unused endpoint: GET /debug/apollo", "shortDescription": {"text": "Unused endpoint: GET /debug/apollo"}, "fullDescription": {"text": "`main.py` declares `GET /debug/apollo` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e55639ecbb06e915", "name": "Unused endpoint: GET /debug/maps", "shortDescription": {"text": "Unused endpoint: GET /debug/maps"}, "fullDescription": {"text": "`main.py` declares `GET /debug/maps` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29c34d18caa7ccfc", "name": "Unused endpoint: GET /debug/apify", "shortDescription": {"text": "Unused endpoint: GET /debug/apify"}, "fullDescription": {"text": "`main.py` declares `GET /debug/apify` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb0428442a390121", "name": "Unused endpoint: GET /docs", "shortDescription": {"text": "Unused endpoint: GET /docs"}, "fullDescription": {"text": "`api/legal.py` declares `GET /docs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-403892bbdb15fc9d", "name": "Unused endpoint: GET /docs/{slug}.pdf", "shortDescription": {"text": "Unused endpoint: GET /docs/{slug}.pdf"}, "fullDescription": {"text": "`api/legal.py` declares `GET /docs/{slug}.pdf` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa9d5c2d14c9beb0", "name": "Unused endpoint: GET /clients/{name}", "shortDescription": {"text": "Unused endpoint: GET /clients/{name}"}, "fullDescription": {"text": "`api/legal.py` declares `GET /clients/{name}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0b589209a864207", "name": "Unused endpoint: POST /clients/{name}/accept", "shortDescription": {"text": "Unused endpoint: POST /clients/{name}/accept"}, "fullDescription": {"text": "`api/legal.py` declares `POST /clients/{name}/accept` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-052b4389ed69a613", "name": "Unused endpoint: POST /clients/{name}/revoke", "shortDescription": {"text": "Unused endpoint: POST /clients/{name}/revoke"}, "fullDescription": {"text": "`api/legal.py` declares `POST /clients/{name}/revoke` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3817e2d01813801", "name": "Unused endpoint: GET /{token}/docs", "shortDescription": {"text": "Unused endpoint: GET /{token}/docs"}, "fullDescription": {"text": "`api/legal.py` declares `GET /{token}/docs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c42582b84fc1faef", "name": "Unused endpoint: GET /{token}/docs/{slug}.pdf", "shortDescription": {"text": "Unused endpoint: GET /{token}/docs/{slug}.pdf"}, "fullDescription": {"text": "`api/legal.py` declares `GET /{token}/docs/{slug}.pdf` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b669d08e31c577c", "name": "Unused endpoint: POST /{token}/accept", "shortDescription": {"text": "Unused endpoint: POST /{token}/accept"}, "fullDescription": {"text": "`api/legal.py` declares `POST /{token}/accept` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-695f81f1e96c2565", "name": "Unused endpoint: POST /review", "shortDescription": {"text": "Unused endpoint: POST /review"}, "fullDescription": {"text": "`api/legal_review.py` declares `POST /review` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81f27a6c6c707add", "name": "Unused endpoint: GET /reviews", "shortDescription": {"text": "Unused endpoint: GET /reviews"}, "fullDescription": {"text": "`api/legal_review.py` declares `GET /reviews` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3f7181b5cbeb904", "name": "Unused endpoint: GET /reviews/{review_id}", "shortDescription": {"text": "Unused endpoint: GET /reviews/{review_id}"}, "fullDescription": {"text": "`api/legal_review.py` declares `GET /reviews/{review_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbe94c8508f4d2c1", "name": "Unused endpoint: GET /portal", "shortDescription": {"text": "Unused endpoint: GET /portal"}, "fullDescription": {"text": "`api/legal_review.py` declares `GET /portal` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d8c76e02794df7a", "name": "Unused endpoint: GET /trucks", "shortDescription": {"text": "Unused endpoint: GET /trucks"}, "fullDescription": {"text": "`api/fleet_dispatcher.py` declares `GET /trucks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6362d5e0c9eb8458", "name": "Unused endpoint: POST /trucks", "shortDescription": {"text": "Unused endpoint: POST /trucks"}, "fullDescription": {"text": "`api/fleet_dispatcher.py` declares `POST /trucks` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e42ec65737468f8", "name": "Unused endpoint: POST /incidents", "shortDescription": {"text": "Unused endpoint: POST /incidents"}, "fullDescription": {"text": "`api/fleet_dispatcher.py` declares `POST /incidents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed9730b55b9ee052", "name": "Unused endpoint: GET /incidents", "shortDescription": {"text": "Unused endpoint: GET /incidents"}, "fullDescription": {"text": "`api/fleet_dispatcher.py` declares `GET /incidents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85572252c683199f", "name": "Unused endpoint: PATCH /incidents/{incident_id}/approve", "shortDescription": {"text": "Unused endpoint: PATCH /incidents/{incident_id}/approve"}, "fullDescription": {"text": "`api/fleet_dispatcher.py` declares `PATCH /incidents/{incident_id}/approve` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9bdf68604fff39a", "name": "Unused endpoint: PATCH /incidents/{incident_id}/resolve", "shortDescription": {"text": "Unused endpoint: PATCH /incidents/{incident_id}/resolve"}, "fullDescription": {"text": "`api/fleet_dispatcher.py` declares `PATCH /incidents/{incident_id}/resolve` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d504b80adc9409ec", "name": "Unused endpoint: GET /dashboard", "shortDescription": {"text": "Unused endpoint: GET /dashboard"}, "fullDescription": {"text": "`api/salary_erosion.py` declares `GET /dashboard` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19b2faca53374659", "name": "Unused endpoint: POST /staff", "shortDescription": {"text": "Unused endpoint: POST /staff"}, "fullDescription": {"text": "`api/salary_erosion.py` declares `POST /staff` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-621f858deaa3be43", "name": "Unused endpoint: GET /report", "shortDescription": {"text": "Unused endpoint: GET /report"}, "fullDescription": {"text": "`api/salary_erosion.py` declares `GET /report` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69c765cf708f4c4a", "name": "Unused endpoint: GET /api/v1/webhooks/meta/messaging", "shortDescription": {"text": "Unused endpoint: GET /api/v1/webhooks/meta/messaging"}, "fullDescription": {"text": "`api/meta_messaging.py` declares `GET /api/v1/webhooks/meta/messaging` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbcd42b57f581000", "name": "Unused endpoint: POST /api/v1/webhooks/meta/messaging", "shortDescription": {"text": "Unused endpoint: POST /api/v1/webhooks/meta/messaging"}, "fullDescription": {"text": "`api/meta_messaging.py` declares `POST /api/v1/webhooks/meta/messaging` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd8dc4599ec52a08", "name": "Unused endpoint: GET /stats", "shortDescription": {"text": "Unused endpoint: GET /stats"}, "fullDescription": {"text": "`api/ab_testing.py` declares `GET /stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd209cc1b9d92354", "name": "Unused endpoint: POST /replied/{contact_id}", "shortDescription": {"text": "Unused endpoint: POST /replied/{contact_id}"}, "fullDescription": {"text": "`api/ab_testing.py` declares `POST /replied/{contact_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbf29c44abd8361a", "name": "Unused endpoint: POST /api/v1/waitlist", "shortDescription": {"text": "Unused endpoint: POST /api/v1/waitlist"}, "fullDescription": {"text": "`api/waitlist.py` declares `POST /api/v1/waitlist` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-652e022d3ea1e6d7", "name": "Unused endpoint: GET /api/v1/waitlist/counter", "shortDescription": {"text": "Unused endpoint: GET /api/v1/waitlist/counter"}, "fullDescription": {"text": "`api/waitlist.py` declares `GET /api/v1/waitlist/counter` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e4545d93d3477e7", "name": "Unused endpoint: GET /waitlist", "shortDescription": {"text": "Unused endpoint: GET /waitlist"}, "fullDescription": {"text": "`api/waitlist.py` declares `GET /waitlist` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23763fd42c8b0064", "name": "Unused endpoint: GET /api/v1/admin/waitlist", "shortDescription": {"text": "Unused endpoint: GET /api/v1/admin/waitlist"}, "fullDescription": {"text": "`api/waitlist.py` declares `GET /api/v1/admin/waitlist` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebee5301b91e3910", "name": "Unused endpoint: POST /api/v1/admin/waitlist/{position}/invite", "shortDescription": {"text": "Unused endpoint: POST /api/v1/admin/waitlist/{position}/invite"}, "fullDescription": {"text": "`api/waitlist.py` declares `POST /api/v1/admin/waitlist/{position}/invite` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bffc93e1a377228c", "name": "Unused endpoint: POST /resend", "shortDescription": {"text": "Unused endpoint: POST /resend"}, "fullDescription": {"text": "`api/resend_webhook.py` declares `POST /resend` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21d4e3431aa9b5dc", "name": "Unused endpoint: POST /parse", "shortDescription": {"text": "Unused endpoint: POST /parse"}, "fullDescription": {"text": "`api/invoice_chaser.py` declares `POST /parse` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abb8ce01d67281b6", "name": "Unused endpoint: POST /send-reminder", "shortDescription": {"text": "Unused endpoint: POST /send-reminder"}, "fullDescription": {"text": "`api/invoice_chaser.py` declares `POST /send-reminder` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aaefb1f9e103e93f", "name": "Unused endpoint: GET /history/{client_name}", "shortDescription": {"text": "Unused endpoint: GET /history/{client_name}"}, "fullDescription": {"text": "`api/invoice_chaser.py` declares `GET /history/{client_name}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-861df316c8820e94", "name": "Unused endpoint: GET /{token}", "shortDescription": {"text": "Unused endpoint: GET /{token}"}, "fullDescription": {"text": "`api/portal_estate.py` declares `GET /{token}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-018eb56ef9bedd37", "name": "Unused endpoint: GET /{token}/overview", "shortDescription": {"text": "Unused endpoint: GET /{token}/overview"}, "fullDescription": {"text": "`api/portal_estate.py` declares `GET /{token}/overview` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5d7e6898149df86", "name": "Unused endpoint: GET /{token}/properties", "shortDescription": {"text": "Unused endpoint: GET /{token}/properties"}, "fullDescription": {"text": "`api/portal_estate.py` declares `GET /{token}/properties` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/23313"}, "properties": {"repository": "YoriJags/ReachNG", "repoUrl": "https://github.com/YoriJags/ReachNG", "branch": "main"}, "results": [{"ruleId": "scanner-1c24778efb899913", "level": "note", "message": {"text": "Possibly dead Python function: require_auth"}, "properties": {"repobilityId": "d7855475dea79341", "scanner": "scanner-primary", "fingerprint": "1c24778efb899913", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "auth.py:17"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-703ae6b64a0966df", "level": "note", "message": {"text": "Possibly dead Python function: ensure_legal_indexes"}, "properties": {"repobilityId": "c21f2f00652e7507", "scanner": "scanner-primary", "fingerprint": "703ae6b64a0966df", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/legal.py:150"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0be3d682788218ff", "level": "note", "message": {"text": "Possibly dead Python function: ensure_capacity_indexes"}, "properties": {"repobilityId": "c34c75c42e8a2595", "scanner": "scanner-primary", "fingerprint": "0be3d682788218ff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/venue_capacity.py:24"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e02598d5543cc0fe", "level": "note", "message": {"text": "Possibly dead Python function: ensure_school_fees_indexes"}, "properties": {"repobilityId": "d62ff229d95dbbbf", "scanner": "scanner-primary", "fingerprint": "e02598d5543cc0fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py:44"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10e14074a61feaee", "level": "note", "message": {"text": "Possibly dead Python function: ensure_waitlist_indexes"}, "properties": {"repobilityId": "6a03b78d7e10b8a0", "scanner": "scanner-primary", "fingerprint": "10e14074a61feaee", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/waitlist.py:42"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de514a646e65e6aa", "level": "note", "message": {"text": "Possibly dead Python function: add_to_waitlist"}, "properties": {"repobilityId": "7394a3f239b682fc", "scanner": "scanner-primary", "fingerprint": "de514a646e65e6aa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/waitlist.py:89"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-532aa3ea37c7c71d", "level": "note", "message": {"text": "Possibly dead Python function: ensure_identity_indexes"}, "properties": {"repobilityId": "b0c08c1aca63f550", "scanner": "scanner-primary", "fingerprint": "532aa3ea37c7c71d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/identity.py:70"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb10da50ccf821c3", "level": "note", "message": {"text": "Possibly dead Python function: ensure_email_cadence_indexes"}, "properties": {"repobilityId": "ac86ee3184935841", "scanner": "scanner-primary", "fingerprint": "cb10da50ccf821c3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/email_cadence.py:88"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2629541f1bb622ec", "level": "note", "message": {"text": "Possibly dead Python function: ensure_email_finder_indexes"}, "properties": {"repobilityId": "ec48a66a379f6aa8", "scanner": "scanner-primary", "fingerprint": "2629541f1bb622ec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/email_finder.py:233"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7cb9148518f913ec", "level": "note", "message": {"text": "Possibly dead Python function: ensure_connection_indexes"}, "properties": {"repobilityId": "882a388c6a03faf9", "scanner": "scanner-primary", "fingerprint": "7cb9148518f913ec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/connections.py:58"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0dd16c969714075d", "level": "note", "message": {"text": "Possibly dead Python function: set_enabled"}, "properties": {"repobilityId": "b836d2f04ca520e7", "scanner": "scanner-primary", "fingerprint": "0dd16c969714075d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/connections.py:116"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-574f921774ec4fca", "level": "note", "message": {"text": "Possibly dead Python function: ensure_spike_indexes"}, "properties": {"repobilityId": "0bd4a4ebf5b8e10a", "scanner": "scanner-primary", "fingerprint": "574f921774ec4fca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/spike_guard.py:48"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c45ec0bdadbb10a", "level": "note", "message": {"text": "Possibly dead Python function: is_spike_paused"}, "properties": {"repobilityId": "63f136b8d9cf3d2b", "scanner": "scanner-primary", "fingerprint": "0c45ec0bdadbb10a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/spike_guard.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f06f378852797a75", "level": "note", "message": {"text": "Possibly dead Python function: ensure_settings_indexes"}, "properties": {"repobilityId": "cc2275f8ea65a824", "scanner": "scanner-primary", "fingerprint": "f06f378852797a75", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/platform_settings.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd2158062abbd54f", "level": "note", "message": {"text": "Possibly dead Python function: ensure_pricing_indexes"}, "properties": {"repobilityId": "6d92769db3497401", "scanner": "scanner-primary", "fingerprint": "cd2158062abbd54f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/pricing.py:28"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b0df6555813bf899", "level": "note", "message": {"text": "Possibly dead Python function: plan_brain_table"}, "properties": {"repobilityId": "102c1ebb071ea22a", "scanner": "scanner-primary", "fingerprint": "b0df6555813bf899", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/model_tier.py:100"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c566e85ad872d6f7", "level": "note", "message": {"text": "Possibly dead Python function: ensure_memory_indexes"}, "properties": {"repobilityId": "afb7b7e29f3d2808", "scanner": "scanner-primary", "fingerprint": "c566e85ad872d6f7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/client_memory.py:71"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5c57dd3795a3cb2c", "level": "note", "message": {"text": "Possibly dead Python function: ensure_outcome_indexes"}, "properties": {"repobilityId": "7c53c7fdebf30d57", "scanner": "scanner-primary", "fingerprint": "5c57dd3795a3cb2c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/outcome_learning.py:60"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ebb6099b4a4376f", "level": "note", "message": {"text": "Possibly dead Python function: ensure_demand_indexes"}, "properties": {"repobilityId": "1addd8a678f2d882", "scanner": "scanner-primary", "fingerprint": "5ebb6099b4a4376f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/demand_intel.py:35"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e9e3b76b71c2daab", "level": "note", "message": {"text": "Possibly dead Python function: ensure_inventory_indexes"}, "properties": {"repobilityId": "c53803b96769028e", "scanner": "scanner-primary", "fingerprint": "e9e3b76b71c2daab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/inventory.py:54"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-edea30d226659507", "level": "note", "message": {"text": "Possibly dead Python function: badge_html"}, "properties": {"repobilityId": "67982d9a7cc5829d", "scanner": "scanner-primary", "fingerprint": "edea30d226659507", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/inbound_classifier.py:299"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-594a9f70ef826ac2", "level": "note", "message": {"text": "Possibly dead Python function: ensure_rules_indexes"}, "properties": {"repobilityId": "e043a9c0eae45be6", "scanner": "scanner-primary", "fingerprint": "594a9f70ef826ac2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/client_rules.py:46"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f7dcedaac9738bb", "level": "note", "message": {"text": "Possibly dead Python function: ensure_brief_streak_indexes"}, "properties": {"repobilityId": "7ca2e34e9c258fa2", "scanner": "scanner-primary", "fingerprint": "3f7dcedaac9738bb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/brief_streak.py:153"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d8b38d7d232de40", "level": "note", "message": {"text": "Possibly dead Python function: list_all"}, "properties": {"repobilityId": "5fe3cec67036bbab", "scanner": "scanner-primary", "fingerprint": "8d8b38d7d232de40", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/scenario_library.py:208"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e5caf5d592e6171", "level": "note", "message": {"text": "Possibly dead Python function: ensure_scorecard_indexes"}, "properties": {"repobilityId": "729b56ea55f15c7e", "scanner": "scanner-primary", "fingerprint": "3e5caf5d592e6171", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/scorecard.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-a23fdac1b63d38a4", "level": "error", "message": {"text": "Possible secret in .github/workflows/ci.yml"}, "properties": {"repobilityId": "f537e33a05dd0cf9", "scanner": "scanner-primary", "fingerprint": "a23fdac1b63d38a4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f57d208548fcef", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-0402338b1c8bd5cf", "level": "note", "message": {"text": "Very large file: api/marketing.py (1104 lines)"}, "properties": {"repobilityId": "659a5bc832dd2569", "scanner": "scanner-primary", "fingerprint": "0402338b1c8bd5cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c602e606e62e7577", "level": "note", "message": {"text": "Very large file: agent/brain.py (1231 lines)"}, "properties": {"repobilityId": "8400ac834c5fe7d7", "scanner": "scanner-primary", "fingerprint": "c602e606e62e7577", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "d12a58200267fec5", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "bea2f221f85be516", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "6797b84c9c0cdc49", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "e06ef728f9c92563", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "5e5c2fc6635343a7", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "00eaf6e29c637487", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "5b2013dbcf64c862", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-07b38a73946ed431", "level": "none", "message": {"text": "Commented-code block (5 lines) in config.py:45"}, "properties": {"repobilityId": "ef624f286668f1d0", "scanner": "scanner-primary", "fingerprint": "07b38a73946ed431", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c0909ffb031a426", "level": "note", "message": {"text": "Legacy-named symbol `outreach_short_link_legacy` in api/marketing.py:685"}, "properties": {"repobilityId": "31408f39e5f61951", "scanner": "scanner-primary", "fingerprint": "5c0909ffb031a426", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8053fb477385843f", "level": "none", "message": {"text": "Commented-code block (8 lines) in api/marketing.py:442"}, "properties": {"repobilityId": "947f2f5734d31c11", "scanner": "scanner-primary", "fingerprint": "8053fb477385843f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41fea8fb729c0ae2", "level": "none", "message": {"text": "Commented-code block (5 lines) in api/webhooks.py:274"}, "properties": {"repobilityId": "b7e8b093321bb3c9", "scanner": "scanner-primary", "fingerprint": "41fea8fb729c0ae2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8d57f79f9743ffe", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/haggle_wire.py:81"}, "properties": {"repobilityId": "366e7e84148b2f07", "scanner": "scanner-primary", "fingerprint": "f8d57f79f9743ffe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7161a27a54d9b67d", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/reachng_self_outreach.py:44"}, "properties": {"repobilityId": "35743c939433cb17", "scanner": "scanner-primary", "fingerprint": "7161a27a54d9b67d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c936caa10f7397b7", "level": "none", "message": {"text": "Commented-code block (21 lines) in services/demo_datasets.py:15"}, "properties": {"repobilityId": "9035478d9a6319a7", "scanner": "scanner-primary", "fingerprint": "c936caa10f7397b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8854d2f5d5d1d15d", "level": "none", "message": {"text": "Commented-code block (6 lines) in campaigns/base.py:410"}, "properties": {"repobilityId": "2ee546e6571e4416", "scanner": "scanner-primary", "fingerprint": "8854d2f5d5d1d15d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1abb46fba94e7414", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/ig_discovery.py:34"}, "properties": {"repobilityId": "e649ae9aec36b1c7", "scanner": "scanner-primary", "fingerprint": "1abb46fba94e7414", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3638325a1138d09f", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/account_guard.py:56"}, "properties": {"repobilityId": "62ee83c2ee210e5b", "scanner": "scanner-primary", "fingerprint": "3638325a1138d09f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c5a842e7d4f152b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/hitl.py:180"}, "properties": {"repobilityId": "fc7bc5b7d3b31047", "scanner": "scanner-primary", "fingerprint": "4c5a842e7d4f152b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "0fb49607e9033041", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "0973ebd2ef162eaa", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "039d2ac170a3c210", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "02476cd77ef7352d", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2ef45dfd2ee2a87f", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7ec43d49df503abe", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "eb4a1fd278532e52", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "18fbfbfbfd4692a9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "eee1dafc56f3ce27", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "dbb8d261379a1407", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "e82fd4359ec929cc", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7f9e6cbf49910bb4", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "d7e3a738eddd7aa9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "aab42b2336945c31", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-030134a61985b829", "level": "error", "message": {"text": "FastAPI POST `admin_accept` without auth dependency \u2014 api/legal.py:197"}, "properties": {"repobilityId": "3d747275edbec2ad", "scanner": "scanner-primary", "fingerprint": "030134a61985b829", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/legal.py"}, "region": {"startLine": 197}}}]}, {"ruleId": "scanner-9be0f63a026747b5", "level": "error", "message": {"text": "FastAPI POST `admin_revoke` without auth dependency \u2014 api/legal.py:220"}, "properties": {"repobilityId": "fa55a7ced084fd0b", "scanner": "scanner-primary", "fingerprint": "9be0f63a026747b5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/legal.py"}, "region": {"startLine": 220}}}]}, {"ruleId": "scanner-e49b1ac3e0701b06", "level": "error", "message": {"text": "FastAPI POST `review_contract` without auth dependency \u2014 api/legal_review.py:17"}, "properties": {"repobilityId": "5cea412a18d9c1da", "scanner": "scanner-primary", "fingerprint": "e49b1ac3e0701b06", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/legal_review.py"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-157ff78b8f3f0cfe", "level": "error", "message": {"text": "FastAPI POST `log_breakdown` without auth dependency \u2014 api/fleet_dispatcher.py:63"}, "properties": {"repobilityId": "e5fe3be5ebf19d73", "scanner": "scanner-primary", "fingerprint": "157ff78b8f3f0cfe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fleet_dispatcher.py"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-f19ac3102d96834a", "level": "error", "message": {"text": "FastAPI PATCH `approve_incident` without auth dependency \u2014 api/fleet_dispatcher.py:105"}, "properties": {"repobilityId": "52d311344e7db0bb", "scanner": "scanner-primary", "fingerprint": "f19ac3102d96834a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fleet_dispatcher.py"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-d88cb67a52e16c10", "level": "error", "message": {"text": "FastAPI PATCH `resolve_incident` without auth dependency \u2014 api/fleet_dispatcher.py:113"}, "properties": {"repobilityId": "819e6d7062f29d8f", "scanner": "scanner-primary", "fingerprint": "d88cb67a52e16c10", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fleet_dispatcher.py"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-e2f052a5fafb6e47", "level": "error", "message": {"text": "FastAPI POST `se_add_staff` without auth dependency \u2014 api/salary_erosion.py:59"}, "properties": {"repobilityId": "bd3077fbfc425b5f", "scanner": "scanner-primary", "fingerprint": "e2f052a5fafb6e47", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/salary_erosion.py"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-98d5153be0d41c8c", "level": "error", "message": {"text": "FastAPI POST `meta_receive` without auth dependency \u2014 api/meta_messaging.py:33"}, "properties": {"repobilityId": "bcd1b13366a00ed4", "scanner": "scanner-primary", "fingerprint": "98d5153be0d41c8c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/meta_messaging.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-b1bb0bf070475872", "level": "error", "message": {"text": "FastAPI POST `record_reply` without auth dependency \u2014 api/ab_testing.py:14"}, "properties": {"repobilityId": "d66c949957bc31ce", "scanner": "scanner-primary", "fingerprint": "b1bb0bf070475872", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/ab_testing.py"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-3e7bde2af4458921", "level": "error", "message": {"text": "FastAPI POST `resend_webhook` without auth dependency \u2014 api/resend_webhook.py:101"}, "properties": {"repobilityId": "8bf0ffdb15725fac", "scanner": "scanner-primary", "fingerprint": "3e7bde2af4458921", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/resend_webhook.py"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-aee0e84d3fe80f2f", "level": "error", "message": {"text": "FastAPI POST `parse_invoice` without auth dependency \u2014 api/invoice_chaser.py:58"}, "properties": {"repobilityId": "2c90d5a29c73a93d", "scanner": "scanner-primary", "fingerprint": "aee0e84d3fe80f2f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoice_chaser.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-a601a40409c47f74", "level": "error", "message": {"text": "FastAPI POST `send_reminder` without auth dependency \u2014 api/invoice_chaser.py:98"}, "properties": {"repobilityId": "518a4cea1489a2ff", "scanner": "scanner-primary", "fingerprint": "a601a40409c47f74", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoice_chaser.py"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-b71c6fa737d5e505", "level": "error", "message": {"text": "FastAPI POST `estate_portal_add_property` without auth dependency \u2014 api/portal_estate.py:85"}, "properties": {"repobilityId": "a4c37b3b7c532b5d", "scanner": "scanner-primary", "fingerprint": "b71c6fa737d5e505", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-57cfee487c05cb83", "level": "error", "message": {"text": "FastAPI POST `estate_portal_scorecard` without auth dependency \u2014 api/portal_estate.py:101"}, "properties": {"repobilityId": "3185194291b2eb25", "scanner": "scanner-primary", "fingerprint": "57cfee487c05cb83", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-71cd55b5bf5c2bd2", "level": "error", "message": {"text": "FastAPI POST `estate_portal_concierge` without auth dependency \u2014 api/portal_estate.py:118"}, "properties": {"repobilityId": "05d5b81f6588002f", "scanner": "scanner-primary", "fingerprint": "71cd55b5bf5c2bd2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-5f6731767675cfaf", "level": "error", "message": {"text": "FastAPI POST `estate_portal_pof` without auth dependency \u2014 api/portal_estate.py:158"}, "properties": {"repobilityId": "b531006f7838306b", "scanner": "scanner-primary", "fingerprint": "5f6731767675cfaf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 158}}}]}, {"ruleId": "scanner-73eb5dbe72b02455", "level": "error", "message": {"text": "FastAPI POST `estate_portal_kyc` without auth dependency \u2014 api/portal_estate.py:184"}, "properties": {"repobilityId": "190402681ab1c289", "scanner": "scanner-primary", "fingerprint": "73eb5dbe72b02455", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-492976858c41c55e", "level": "error", "message": {"text": "FastAPI POST `estate_portal_bg` without auth dependency \u2014 api/portal_estate.py:219"}, "properties": {"repobilityId": "6d75669ee563840e", "scanner": "scanner-primary", "fingerprint": "492976858c41c55e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 219}}}]}, {"ruleId": "scanner-560b5d5c0d479d3e", "level": "error", "message": {"text": "FastAPI POST `estate_portal_lawyer` without auth dependency \u2014 api/portal_estate.py:252"}, "properties": {"repobilityId": "228b0ab9af96a0dd", "scanner": "scanner-primary", "fingerprint": "560b5d5c0d479d3e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal_estate.py"}, "region": {"startLine": 252}}}]}, {"ruleId": "scanner-d75520932d8b1aa9", "level": "error", "message": {"text": "FastAPI POST `create_plan` without auth dependency \u2014 api/plans.py:168"}, "properties": {"repobilityId": "6fbc10943b6b18ac", "scanner": "scanner-primary", "fingerprint": "d75520932d8b1aa9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/plans.py"}, "region": {"startLine": 168}}}]}, {"ruleId": "scanner-be545bc61ebf5e5d", "level": "error", "message": {"text": "FastAPI PATCH `update_plan` without auth dependency \u2014 api/plans.py:194"}, "properties": {"repobilityId": "aaaa4ba0f6162118", "scanner": "scanner-primary", "fingerprint": "be545bc61ebf5e5d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/plans.py"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-ddd1cbc8a08480a4", "level": "error", "message": {"text": "FastAPI DELETE `delete_plan` without auth dependency \u2014 api/plans.py:247"}, "properties": {"repobilityId": "cc2084ce6c25c855", "scanner": "scanner-primary", "fingerprint": "ddd1cbc8a08480a4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/plans.py"}, "region": {"startLine": 247}}}]}, {"ruleId": "scanner-9dbd6b1eb817ccfc", "level": "error", "message": {"text": "FastAPI POST `upsert_client` without auth dependency \u2014 api/clients.py:202"}, "properties": {"repobilityId": "f9ae190eab2d8fd4", "scanner": "scanner-primary", "fingerprint": "9dbd6b1eb817ccfc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 202}}}]}, {"ruleId": "scanner-eb110d72545ef423", "level": "error", "message": {"text": "FastAPI PATCH `update_payment_status` without auth dependency \u2014 api/clients.py:291"}, "properties": {"repobilityId": "fb775f8cf941196f", "scanner": "scanner-primary", "fingerprint": "eb110d72545ef423", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 291}}}]}, {"ruleId": "scanner-d87a93947f3ffb07", "level": "error", "message": {"text": "FastAPI POST `offboard` without auth dependency \u2014 api/clients.py:465"}, "properties": {"repobilityId": "dd003d02f9db78ce", "scanner": "scanner-primary", "fingerprint": "d87a93947f3ffb07", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 465}}}]}, {"ruleId": "scanner-743ea6a813206f53", "level": "error", "message": {"text": "FastAPI PATCH `set_autopilot` without auth dependency \u2014 api/clients.py:482"}, "properties": {"repobilityId": "0b1355b33312d3ea", "scanner": "scanner-primary", "fingerprint": "743ea6a813206f53", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 482}}}]}, {"ruleId": "scanner-effb36b0914253a3", "level": "error", "message": {"text": "FastAPI PATCH `set_signal_listening` without auth dependency \u2014 api/clients.py:516"}, "properties": {"repobilityId": "88064402625e2f40", "scanner": "scanner-primary", "fingerprint": "effb36b0914253a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 516}}}]}, {"ruleId": "scanner-0ec095568218c8a7", "level": "error", "message": {"text": "FastAPI PATCH `set_eyo_flag` without auth dependency \u2014 api/clients.py:535"}, "properties": {"repobilityId": "6b41eb27e76c608b", "scanner": "scanner-primary", "fingerprint": "0ec095568218c8a7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 535}}}]}, {"ruleId": "scanner-22bfe6e0dff736ce", "level": "error", "message": {"text": "FastAPI PUT `put_client_meta_messaging` without auth dependency \u2014 api/clients.py:566"}, "properties": {"repobilityId": "f4f08d75a388afad", "scanner": "scanner-primary", "fingerprint": "22bfe6e0dff736ce", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 566}}}]}, {"ruleId": "scanner-5ee64c8595d9b2b2", "level": "error", "message": {"text": "FastAPI PUT `put_client_email_credentials` without auth dependency \u2014 api/clients.py:597"}, "properties": {"repobilityId": "95251446849780d6", "scanner": "scanner-primary", "fingerprint": "5ee64c8595d9b2b2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 597}}}]}, {"ruleId": "scanner-e8d5ae4b6d67609d", "level": "error", "message": {"text": "FastAPI PUT `put_client_pricing` without auth dependency \u2014 api/clients.py:621"}, "properties": {"repobilityId": "d4b51876e0414dd2", "scanner": "scanner-primary", "fingerprint": "e8d5ae4b6d67609d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 621}}}]}, {"ruleId": "scanner-57b12d2476e178cd", "level": "error", "message": {"text": "FastAPI PATCH `set_holding_message` without auth dependency \u2014 api/clients.py:637"}, "properties": {"repobilityId": "1354f59d4a5e6afb", "scanner": "scanner-primary", "fingerprint": "57b12d2476e178cd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 637}}}]}, {"ruleId": "scanner-a75746fac4259031", "level": "error", "message": {"text": "FastAPI DELETE `deactivate_client` without auth dependency \u2014 api/clients.py:654"}, "properties": {"repobilityId": "e12a5a999d0b7aa6", "scanner": "scanner-primary", "fingerprint": "a75746fac4259031", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/clients.py"}, "region": {"startLine": 654}}}]}, {"ruleId": "scanner-0fcf62efd2392b74", "level": "error", "message": {"text": "FastAPI POST `initialize_payment` without auth dependency \u2014 api/paystack.py:25"}, "properties": {"repobilityId": "2c1a4b7dfb834f2d", "scanner": "scanner-primary", "fingerprint": "0fcf62efd2392b74", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/paystack.py"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-6ba73987a5095682", "level": "error", "message": {"text": "FastAPI POST `dry_run` without auth dependency \u2014 api/self_outreach.py:123"}, "properties": {"repobilityId": "ba77ec5390a26c6c", "scanner": "scanner-primary", "fingerprint": "6ba73987a5095682", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/self_outreach.py"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-4a667f53f69eacd9", "level": "error", "message": {"text": "FastAPI POST `preview_one` without auth dependency \u2014 api/self_outreach.py:156"}, "properties": {"repobilityId": "b16f5f5f0507f86d", "scanner": "scanner-primary", "fingerprint": "4a667f53f69eacd9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/self_outreach.py"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-a63c5bc3c557d1aa", "level": "error", "message": {"text": "FastAPI POST `reply_poll_run_now` without auth dependency \u2014 api/self_outreach.py:177"}, "properties": {"repobilityId": "39066a9e0200dbdf", "scanner": "scanner-primary", "fingerprint": "a63c5bc3c557d1aa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/self_outreach.py"}, "region": {"startLine": 177}}}]}, {"ruleId": "scanner-a80c6ffc6167bf85", "level": "error", "message": {"text": "FastAPI POST `portal_start_pairing` without auth dependency \u2014 api/whatsapp_connect.py:65"}, "properties": {"repobilityId": "9a643cdcf6d0d355", "scanner": "scanner-primary", "fingerprint": "a80c6ffc6167bf85", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-383cb9af76d53b88", "level": "error", "message": {"text": "FastAPI POST `portal_start_email_pairing` without auth dependency \u2014 api/whatsapp_connect.py:134"}, "properties": {"repobilityId": "aefbf4a9d8ade820", "scanner": "scanner-primary", "fingerprint": "383cb9af76d53b88", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 134}}}]}, {"ruleId": "scanner-85716fc28962b2da", "level": "error", "message": {"text": "FastAPI POST `unipile_account_webhook` without auth dependency \u2014 api/whatsapp_connect.py:217"}, "properties": {"repobilityId": "bf094103dc136bf7", "scanner": "scanner-primary", "fingerprint": "85716fc28962b2da", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-ca485b490ea2d245", "level": "error", "message": {"text": "FastAPI POST `unipile_email_webhook` without auth dependency \u2014 api/whatsapp_connect.py:326"}, "properties": {"repobilityId": "538207ec555edbb3", "scanner": "scanner-primary", "fingerprint": "ca485b490ea2d245", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 326}}}]}, {"ruleId": "scanner-5893b39a2528618c", "level": "error", "message": {"text": "FastAPI POST `portal_promote_line` without auth dependency \u2014 api/whatsapp_connect.py:413"}, "properties": {"repobilityId": "48f622a01c343854", "scanner": "scanner-primary", "fingerprint": "5893b39a2528618c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 413}}}]}, {"ruleId": "scanner-51eaab96ce259f14", "level": "error", "message": {"text": "FastAPI POST `portal_reset_health` without auth dependency \u2014 api/whatsapp_connect.py:432"}, "properties": {"repobilityId": "0b3dd9928e427371", "scanner": "scanner-primary", "fingerprint": "51eaab96ce259f14", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 432}}}]}, {"ruleId": "scanner-93e3a87dd88bb376", "level": "error", "message": {"text": "FastAPI POST `portal_remove_line` without auth dependency \u2014 api/whatsapp_connect.py:448"}, "properties": {"repobilityId": "1cd0cac9c05867ae", "scanner": "scanner-primary", "fingerprint": "93e3a87dd88bb376", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/whatsapp_connect.py"}, "region": {"startLine": 448}}}]}, {"ruleId": "scanner-507f75d9ef834d9f", "level": "error", "message": {"text": "FastAPI POST `add_invoice` without auth dependency \u2014 api/invoices.py:51"}, "properties": {"repobilityId": "64d82bd3f9ec22ff", "scanner": "scanner-primary", "fingerprint": "507f75d9ef834d9f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoices.py"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-9a6dbf709aeb7edc", "level": "error", "message": {"text": "FastAPI POST `mark_invoice_paid` without auth dependency \u2014 api/invoices.py:95"}, "properties": {"repobilityId": "0fa733ea7a0afd49", "scanner": "scanner-primary", "fingerprint": "9a6dbf709aeb7edc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoices.py"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-cec84c8a690fb47f", "level": "error", "message": {"text": "FastAPI POST `write_off` without auth dependency \u2014 api/invoices.py:104"}, "properties": {"repobilityId": "4a078de0348ea565", "scanner": "scanner-primary", "fingerprint": "cec84c8a690fb47f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoices.py"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-6812cc1b4c43a3a3", "level": "error", "message": {"text": "FastAPI POST `debtor_responded` without auth dependency \u2014 api/invoices.py:113"}, "properties": {"repobilityId": "cdaf3f3a1f14e4a2", "scanner": "scanner-primary", "fingerprint": "6812cc1b4c43a3a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoices.py"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-fdbdff47792b6e2f", "level": "error", "message": {"text": "FastAPI POST `add_invoice_note` without auth dependency \u2014 api/invoices.py:123"}, "properties": {"repobilityId": "ad55558575e531f2", "scanner": "scanner-primary", "fingerprint": "fdbdff47792b6e2f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoices.py"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-6f786d6f2dcfe33c", "level": "error", "message": {"text": "FastAPI POST `send_manual_reminder` without auth dependency \u2014 api/invoices.py:130"}, "properties": {"repobilityId": "5938672e920386c4", "scanner": "scanner-primary", "fingerprint": "6f786d6f2dcfe33c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/invoices.py"}, "region": {"startLine": 130}}}]}, {"ruleId": "scanner-074f77c2739459ad", "level": "error", "message": {"text": "FastAPI POST `portal_create_inventory` without auth dependency \u2014 api/inventory.py:69"}, "properties": {"repobilityId": "0a78b95632268f75", "scanner": "scanner-primary", "fingerprint": "074f77c2739459ad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/inventory.py"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-00d858714d6bdbae", "level": "error", "message": {"text": "FastAPI PUT `portal_update_inventory` without auth dependency \u2014 api/inventory.py:82"}, "properties": {"repobilityId": "c5d42d705698c92f", "scanner": "scanner-primary", "fingerprint": "00d858714d6bdbae", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/inventory.py"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-48004b3b4e086afa", "level": "error", "message": {"text": "FastAPI DELETE `portal_delete_inventory` without auth dependency \u2014 api/inventory.py:95"}, "properties": {"repobilityId": "0c7cd1a9dd6061d2", "scanner": "scanner-primary", "fingerprint": "48004b3b4e086afa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/inventory.py"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-b9c19a1b9820d870", "level": "error", "message": {"text": "FastAPI POST `fxs_add_staff` without auth dependency \u2014 api/fx_salary.py:51"}, "properties": {"repobilityId": "eb1b5ef608993b2c", "scanner": "scanner-primary", "fingerprint": "b9c19a1b9820d870", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fx_salary.py"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-a00487fb1a9127ca", "level": "error", "message": {"text": "FastAPI POST `run_discovery` without auth dependency \u2014 api/competitors.py:7"}, "properties": {"repobilityId": "d967035bfd75aa4d", "scanner": "scanner-primary", "fingerprint": "a00487fb1a9127ca", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/competitors.py"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-0d4152b28a3b5c94", "level": "error", "message": {"text": "FastAPI POST `update_agent_name` without auth dependency \u2014 api/portal.py:120"}, "properties": {"repobilityId": "fd25ff2d28838795", "scanner": "scanner-primary", "fingerprint": "0d4152b28a3b5c94", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-a944eb3dd2f43967", "level": "error", "message": {"text": "FastAPI POST `confirm_identity` without auth dependency \u2014 api/portal.py:536"}, "properties": {"repobilityId": "bb79788228128d6d", "scanner": "scanner-primary", "fingerprint": "a944eb3dd2f43967", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 536}}}]}, {"ruleId": "scanner-c7ca977807b4a837", "level": "error", "message": {"text": "FastAPI POST `reject_identity` without auth dependency \u2014 api/portal.py:546"}, "properties": {"repobilityId": "20f43b25b8f157d9", "scanner": "scanner-primary", "fingerprint": "c7ca977807b4a837", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 546}}}]}, {"ruleId": "scanner-c5736c7ffbcc5b17", "level": "error", "message": {"text": "FastAPI POST `upload_leads_submit` without auth dependency \u2014 api/portal.py:704"}, "properties": {"repobilityId": "2fccff689bea6a04", "scanner": "scanner-primary", "fingerprint": "c5736c7ffbcc5b17", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 704}}}]}, {"ruleId": "scanner-dd93b433dc349406", "level": "error", "message": {"text": "FastAPI POST `run_resurrection` without auth dependency \u2014 api/portal.py:778"}, "properties": {"repobilityId": "86ff1d7db30162b5", "scanner": "scanner-primary", "fingerprint": "dd93b433dc349406", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 778}}}]}, {"ruleId": "scanner-275c768c24563290", "level": "error", "message": {"text": "FastAPI POST `book_upload_vcf` without auth dependency \u2014 api/portal.py:932"}, "properties": {"repobilityId": "d81d82e02a48223b", "scanner": "scanner-primary", "fingerprint": "275c768c24563290", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 932}}}]}, {"ruleId": "scanner-049b839c89174160", "level": "error", "message": {"text": "FastAPI POST `book_paste` without auth dependency \u2014 api/portal.py:965"}, "properties": {"repobilityId": "7b1f7f03dcb9f529", "scanner": "scanner-primary", "fingerprint": "049b839c89174160", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/portal.py"}, "region": {"startLine": 965}}}]}, {"ruleId": "scanner-b472e29c64df436a", "level": "error", "message": {"text": "FastAPI POST `portal_add_rule` without auth dependency \u2014 api/client_rules.py:215"}, "properties": {"repobilityId": "8709ad0e688855cb", "scanner": "scanner-primary", "fingerprint": "b472e29c64df436a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_rules.py"}, "region": {"startLine": 215}}}]}, {"ruleId": "scanner-cd947eac29c411d1", "level": "error", "message": {"text": "FastAPI PATCH `portal_update_rule` without auth dependency \u2014 api/client_rules.py:222"}, "properties": {"repobilityId": "e8e38810c2d71ed4", "scanner": "scanner-primary", "fingerprint": "cd947eac29c411d1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_rules.py"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-75a1a3e2d179481f", "level": "error", "message": {"text": "FastAPI DELETE `portal_delete_rule` without auth dependency \u2014 api/client_rules.py:229"}, "properties": {"repobilityId": "ac3bbb681c11d923", "scanner": "scanner-primary", "fingerprint": "75a1a3e2d179481f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_rules.py"}, "region": {"startLine": 229}}}]}, {"ruleId": "scanner-78cc06f7bf8b32ab", "level": "error", "message": {"text": "FastAPI POST `portal_activate_scenario` without auth dependency \u2014 api/client_rules.py:243"}, "properties": {"repobilityId": "158b311c8a3692a6", "scanner": "scanner-primary", "fingerprint": "78cc06f7bf8b32ab", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_rules.py"}, "region": {"startLine": 243}}}]}, {"ruleId": "scanner-d1aebe2701a72276", "level": "error", "message": {"text": "FastAPI POST `portal_sandbox` without auth dependency \u2014 api/client_rules.py:249"}, "properties": {"repobilityId": "18600a882d3903af", "scanner": "scanner-primary", "fingerprint": "d1aebe2701a72276", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_rules.py"}, "region": {"startLine": 249}}}]}, {"ruleId": "scanner-e4696a552b8c9340", "level": "error", "message": {"text": "FastAPI POST `set_vertical_custom` without auth dependency \u2014 api/marketing.py:556"}, "properties": {"repobilityId": "8cebebffb8e17908", "scanner": "scanner-primary", "fingerprint": "e4696a552b8c9340", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/marketing.py"}, "region": {"startLine": 556}}}]}, {"ruleId": "scanner-ae88bf570beab27d", "level": "error", "message": {"text": "FastAPI POST `contact_submit` without auth dependency \u2014 api/marketing.py:711"}, "properties": {"repobilityId": "c04bb82769d7faf8", "scanner": "scanner-primary", "fingerprint": "ae88bf570beab27d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/marketing.py"}, "region": {"startLine": 711}}}]}, {"ruleId": "scanner-5d6bcc6b7eb8e7e7", "level": "error", "message": {"text": "FastAPI POST `paystack_webhook` without auth dependency \u2014 api/marketing.py:879"}, "properties": {"repobilityId": "6daab2e5da8765f9", "scanner": "scanner-primary", "fingerprint": "5d6bcc6b7eb8e7e7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/marketing.py"}, "region": {"startLine": 879}}}]}, {"ruleId": "scanner-c6bb3c33555fab0f", "level": "error", "message": {"text": "FastAPI POST `fr_add_route` without auth dependency \u2014 api/fuel_reprice.py:68"}, "properties": {"repobilityId": "89bfb615b56be0a6", "scanner": "scanner-primary", "fingerprint": "c6bb3c33555fab0f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fuel_reprice.py"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-fb96abbbf211c3b2", "level": "error", "message": {"text": "FastAPI POST `fr_generate_letter` without auth dependency \u2014 api/fuel_reprice.py:79"}, "properties": {"repobilityId": "0c884865c94f965f", "scanner": "scanner-primary", "fingerprint": "fb96abbbf211c3b2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fuel_reprice.py"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-c6672076c4958b06", "level": "error", "message": {"text": "FastAPI PATCH `contact_replied` without auth dependency \u2014 api/contacts.py:154"}, "properties": {"repobilityId": "bf80a53e64d54ea0", "scanner": "scanner-primary", "fingerprint": "c6672076c4958b06", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/contacts.py"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-737b7a97c5185f0a", "level": "error", "message": {"text": "FastAPI PATCH `contact_converted` without auth dependency \u2014 api/contacts.py:162"}, "properties": {"repobilityId": "1f81081e1b5390c3", "scanner": "scanner-primary", "fingerprint": "737b7a97c5185f0a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/contacts.py"}, "region": {"startLine": 162}}}]}, {"ruleId": "scanner-c734ba86d8e255c8", "level": "error", "message": {"text": "FastAPI PATCH `contact_opted_out` without auth dependency \u2014 api/contacts.py:170"}, "properties": {"repobilityId": "8931d005a794f317", "scanner": "scanner-primary", "fingerprint": "c734ba86d8e255c8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/contacts.py"}, "region": {"startLine": 170}}}]}, {"ruleId": "scanner-a688f2f6d664836c", "level": "error", "message": {"text": "FastAPI PATCH `contact_closed_won` without auth dependency \u2014 api/contacts.py:189"}, "properties": {"repobilityId": "d12638395455249a", "scanner": "scanner-primary", "fingerprint": "a688f2f6d664836c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/contacts.py"}, "region": {"startLine": 189}}}]}, {"ruleId": "scanner-bb46edfcdb405b11", "level": "error", "message": {"text": "FastAPI POST `sync_replies` without auth dependency \u2014 api/contacts.py:233"}, "properties": {"repobilityId": "b770b1a539beb2d0", "scanner": "scanner-primary", "fingerprint": "bb46edfcdb405b11", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/contacts.py"}, "region": {"startLine": 233}}}]}, {"ruleId": "scanner-c9f9068c02b5a382", "level": "error", "message": {"text": "FastAPI POST `onboard_as_client` without auth dependency \u2014 api/contacts.py:356"}, "properties": {"repobilityId": "b66d30b03c2200d3", "scanner": "scanner-primary", "fingerprint": "c9f9068c02b5a382", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/contacts.py"}, "region": {"startLine": 356}}}]}, {"ruleId": "scanner-dd90730970f388f4", "level": "error", "message": {"text": "FastAPI POST `estate_add_property` without auth dependency \u2014 api/estate.py:133"}, "properties": {"repobilityId": "7e761198b3802f4e", "scanner": "scanner-primary", "fingerprint": "dd90730970f388f4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-a5dd2960e01a411f", "level": "error", "message": {"text": "FastAPI POST `estate_scorecard` without auth dependency \u2014 api/estate.py:157"}, "properties": {"repobilityId": "83920a491f140f98", "scanner": "scanner-primary", "fingerprint": "a5dd2960e01a411f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-623351367670ac1b", "level": "error", "message": {"text": "FastAPI POST `estate_concierge_ask` without auth dependency \u2014 api/estate.py:166"}, "properties": {"repobilityId": "80b63ca6995853e6", "scanner": "scanner-primary", "fingerprint": "623351367670ac1b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 166}}}]}, {"ruleId": "scanner-ada4b4123eb40764", "level": "error", "message": {"text": "FastAPI POST `estate_pof_assess` without auth dependency \u2014 api/estate.py:186"}, "properties": {"repobilityId": "20d0d23f62dc7bfc", "scanner": "scanner-primary", "fingerprint": "ada4b4123eb40764", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-3f1b2456c4e69c1a", "level": "error", "message": {"text": "FastAPI POST `estate_kyc_extract` without auth dependency \u2014 api/estate.py:203"}, "properties": {"repobilityId": "7dfb6467dd5791dd", "scanner": "scanner-primary", "fingerprint": "3f1b2456c4e69c1a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 203}}}]}, {"ruleId": "scanner-b2e32f6b09d921c9", "level": "error", "message": {"text": "FastAPI POST `estate_kyc_extract_image` without auth dependency \u2014 api/estate.py:217"}, "properties": {"repobilityId": "4fecf5a2060b77d5", "scanner": "scanner-primary", "fingerprint": "b2e32f6b09d921c9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-ec6bfb7753d3868c", "level": "error", "message": {"text": "FastAPI POST `estate_background_check` without auth dependency \u2014 api/estate.py:246"}, "properties": {"repobilityId": "b7ef13387e97fafc", "scanner": "scanner-primary", "fingerprint": "ec6bfb7753d3868c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 246}}}]}, {"ruleId": "scanner-6c0df7ae19dcc45d", "level": "error", "message": {"text": "FastAPI POST `estate_lawyer_bundle` without auth dependency \u2014 api/estate.py:267"}, "properties": {"repobilityId": "671518854489d48f", "scanner": "scanner-primary", "fingerprint": "6c0df7ae19dcc45d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 267}}}]}, {"ruleId": "scanner-d2c74f8ef4883565", "level": "error", "message": {"text": "FastAPI POST `estate_lawyer_bundle_attach` without auth dependency \u2014 api/estate.py:292"}, "properties": {"repobilityId": "c20bc8304b23b209", "scanner": "scanner-primary", "fingerprint": "d2c74f8ef4883565", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/estate.py"}, "region": {"startLine": 292}}}]}, {"ruleId": "scanner-72f5309807256983", "level": "error", "message": {"text": "FastAPI POST `try_eyo` without auth dependency \u2014 api/try_eyo.py:101"}, "properties": {"repobilityId": "583638fb127872b5", "scanner": "scanner-primary", "fingerprint": "72f5309807256983", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/try_eyo.py"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-89667c1e161dd259", "level": "error", "message": {"text": "FastAPI POST `whatsapp_inbound` without auth dependency \u2014 api/webhooks.py:228"}, "properties": {"repobilityId": "656cd69181c32466", "scanner": "scanner-primary", "fingerprint": "89667c1e161dd259", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/webhooks.py"}, "region": {"startLine": 228}}}]}, {"ruleId": "scanner-0adb1ccbe5a9f136", "level": "error", "message": {"text": "FastAPI POST `dc_add_case` without auth dependency \u2014 api/debt_collector.py:78"}, "properties": {"repobilityId": "b4005d6ee78a1a4d", "scanner": "scanner-primary", "fingerprint": "0adb1ccbe5a9f136", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/debt_collector.py"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-4e4a4610d0fbd919", "level": "error", "message": {"text": "FastAPI POST `dc_mark_paid` without auth dependency \u2014 api/debt_collector.py:98"}, "properties": {"repobilityId": "f5d04e48b7660b0a", "scanner": "scanner-primary", "fingerprint": "4e4a4610d0fbd919", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/debt_collector.py"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-71709723575cd537", "level": "error", "message": {"text": "FastAPI POST `dc_payment_link` without auth dependency \u2014 api/debt_collector.py:108"}, "properties": {"repobilityId": "c2a05a6acfe5f652", "scanner": "scanner-primary", "fingerprint": "71709723575cd537", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/debt_collector.py"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-f2893e77eb5806d6", "level": "error", "message": {"text": "FastAPI POST `fxl_lock_quote` without auth dependency \u2014 api/fx_lock.py:79"}, "properties": {"repobilityId": "23aeb8a7f3a99611", "scanner": "scanner-primary", "fingerprint": "f2893e77eb5806d6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fx_lock.py"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-347dc2fdde76dff0", "level": "error", "message": {"text": "FastAPI POST `fxl_settings` without auth dependency \u2014 api/fx_lock.py:104"}, "properties": {"repobilityId": "db4ba20d022ccccd", "scanner": "scanner-primary", "fingerprint": "347dc2fdde76dff0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/fx_lock.py"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-5796966f25af869c", "level": "error", "message": {"text": "FastAPI POST `ml_analyse` without auth dependency \u2014 api/moonlighting.py:48"}, "properties": {"repobilityId": "64b9a9f467cf25b4", "scanner": "scanner-primary", "fingerprint": "5796966f25af869c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/moonlighting.py"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-da05f4a58a633bb6", "level": "error", "message": {"text": "FastAPI POST `record_booking` without auth dependency \u2014 api/venue_capacity.py:152"}, "properties": {"repobilityId": "98b3cf0f3dd6239c", "scanner": "scanner-primary", "fingerprint": "da05f4a58a633bb6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/venue_capacity.py"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-a1f1759fec0fbd09", "level": "error", "message": {"text": "FastAPI PUT `admin_upsert_primer` without auth dependency \u2014 api/brief.py:104"}, "properties": {"repobilityId": "1c34199bad9c60fa", "scanner": "scanner-primary", "fingerprint": "a1f1759fec0fbd09", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/brief.py"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-ef2b08c5733bdd41", "level": "error", "message": {"text": "FastAPI PUT `admin_put_client_brief` without auth dependency \u2014 api/brief.py:130"}, "properties": {"repobilityId": "8790c87e1eb4d5af", "scanner": "scanner-primary", "fingerprint": "ef2b08c5733bdd41", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/brief.py"}, "region": {"startLine": 130}}}]}, {"ruleId": "scanner-bef651ebe230905c", "level": "error", "message": {"text": "FastAPI POST `admin_brief_restore` without auth dependency \u2014 api/brief.py:149"}, "properties": {"repobilityId": "509132625c6de485", "scanner": "scanner-primary", "fingerprint": "bef651ebe230905c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/brief.py"}, "region": {"startLine": 149}}}]}, {"ruleId": "scanner-1929c551dd77eaa0", "level": "error", "message": {"text": "FastAPI POST `admin_intake` without auth dependency \u2014 api/brief.py:160"}, "properties": {"repobilityId": "9e78bf1b04d8285d", "scanner": "scanner-primary", "fingerprint": "1929c551dd77eaa0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/brief.py"}, "region": {"startLine": 160}}}]}, {"ruleId": "scanner-a4977b11b0cc3a43", "level": "error", "message": {"text": "FastAPI POST `admin_draft_brief` without auth dependency \u2014 api/brief.py:176"}, "properties": {"repobilityId": "8cb234aebc97a083", "scanner": "scanner-primary", "fingerprint": "a4977b11b0cc3a43", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/brief.py"}, "region": {"startLine": 176}}}]}, {"ruleId": "scanner-cc95299ce42cd023", "level": "error", "message": {"text": "FastAPI POST `pa_scan` without auth dependency \u2014 api/product_auth.py:52"}, "properties": {"repobilityId": "eebae8cf3646384e", "scanner": "scanner-primary", "fingerprint": "cc95299ce42cd023", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/product_auth.py"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-cbb92d71206b6d61", "level": "error", "message": {"text": "FastAPI POST `upsert_school` without auth dependency \u2014 api/school_fees.py:109"}, "properties": {"repobilityId": "d8e47660ad673120", "scanner": "scanner-primary", "fingerprint": "cbb92d71206b6d61", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-0741a163d4ea0c84", "level": "error", "message": {"text": "FastAPI DELETE `deactivate_school` without auth dependency \u2014 api/school_fees.py:137"}, "properties": {"repobilityId": "a7c781260fea81cd", "scanner": "scanner-primary", "fingerprint": "0741a163d4ea0c84", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-c17544d3c5b78729", "level": "error", "message": {"text": "FastAPI PATCH `patch_student` without auth dependency \u2014 api/school_fees.py:168"}, "properties": {"repobilityId": "876c698ebb66d089", "scanner": "scanner-primary", "fingerprint": "c17544d3c5b78729", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 168}}}]}, {"ruleId": "scanner-53810d7a71a3b57a", "level": "error", "message": {"text": "FastAPI POST `confirm_claimed_payment` without auth dependency \u2014 api/school_fees.py:182"}, "properties": {"repobilityId": "8ba3454863c05ec8", "scanner": "scanner-primary", "fingerprint": "53810d7a71a3b57a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 182}}}]}, {"ruleId": "scanner-0e863ce49eb6438b", "level": "error", "message": {"text": "FastAPI POST `reject_claimed_payment` without auth dependency \u2014 api/school_fees.py:196"}, "properties": {"repobilityId": "3183ca8e4de701df", "scanner": "scanner-primary", "fingerprint": "0e863ce49eb6438b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 196}}}]}, {"ruleId": "scanner-acd40c68417d4954", "level": "error", "message": {"text": "FastAPI POST `upsert_student` without auth dependency \u2014 api/school_fees.py:209"}, "properties": {"repobilityId": "e6c5714623ada2a9", "scanner": "scanner-primary", "fingerprint": "acd40c68417d4954", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 209}}}]}, {"ruleId": "scanner-addf0c5a99322d72", "level": "error", "message": {"text": "FastAPI POST `record_payment` without auth dependency \u2014 api/school_fees.py:249"}, "properties": {"repobilityId": "426f362018729031", "scanner": "scanner-primary", "fingerprint": "addf0c5a99322d72", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 249}}}]}, {"ruleId": "scanner-0f0e94aa7f7bfd95", "level": "error", "message": {"text": "FastAPI POST `send_reminders` without auth dependency \u2014 api/school_fees.py:352"}, "properties": {"repobilityId": "6057f1efea0a6ae6", "scanner": "scanner-primary", "fingerprint": "0f0e94aa7f7bfd95", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/school_fees.py"}, "region": {"startLine": 352}}}]}, {"ruleId": "scanner-3136b7386a41e9ec", "level": "error", "message": {"text": "FastAPI POST `mc_apply` without auth dependency \u2014 api/market_credit.py:48"}, "properties": {"repobilityId": "7c5270dae597b575", "scanner": "scanner-primary", "fingerprint": "3136b7386a41e9ec", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/market_credit.py"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-c46bf202de2647ec", "level": "error", "message": {"text": "FastAPI POST `mch_check` without auth dependency \u2014 api/material_check.py:52"}, "properties": {"repobilityId": "315a498dfe4c28d7", "scanner": "scanner-primary", "fingerprint": "c46bf202de2647ec", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/material_check.py"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-7d14c0d4691a0f27", "level": "error", "message": {"text": "FastAPI POST `mch_blacklist` without auth dependency \u2014 api/material_check.py:65"}, "properties": {"repobilityId": "5498831096b3afc7", "scanner": "scanner-primary", "fingerprint": "7d14c0d4691a0f27", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/material_check.py"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-43d94b4d34ebc110", "level": "error", "message": {"text": "FastAPI POST `upload_b2c_csv` without auth dependency \u2014 api/b2c.py:200"}, "properties": {"repobilityId": "b2d5f51422dbd0c0", "scanner": "scanner-primary", "fingerprint": "43d94b4d34ebc110", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/b2c.py"}, "region": {"startLine": 200}}}]}, {"ruleId": "scanner-30be7e1f1353279c", "level": "error", "message": {"text": "FastAPI POST `resume_client_outreach` without auth dependency \u2014 api/b2c.py:275"}, "properties": {"repobilityId": "88e847c17b71fada", "scanner": "scanner-primary", "fingerprint": "30be7e1f1353279c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/b2c.py"}, "region": {"startLine": 275}}}]}, {"ruleId": "scanner-a7e8bacc3e2d3707", "level": "error", "message": {"text": "FastAPI POST `run_b2c_campaign` without auth dependency \u2014 api/b2c.py:314"}, "properties": {"repobilityId": "54bbb24fe5168e0a", "scanner": "scanner-primary", "fingerprint": "a7e8bacc3e2d3707", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/b2c.py"}, "region": {"startLine": 314}}}]}, {"ruleId": "scanner-89512152d0a2ece1", "level": "error", "message": {"text": "FastAPI PATCH `b2c_opt_out` without auth dependency \u2014 api/b2c.py:445"}, "properties": {"repobilityId": "745c71774eccd11a", "scanner": "scanner-primary", "fingerprint": "89512152d0a2ece1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/b2c.py"}, "region": {"startLine": 445}}}]}, {"ruleId": "scanner-bb351d9657143677", "level": "error", "message": {"text": "FastAPI POST `generate` without auth dependency \u2014 api/hooks.py:21"}, "properties": {"repobilityId": "b2396117d670ebc2", "scanner": "scanner-primary", "fingerprint": "bb351d9657143677", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/hooks.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-6ebee9b66ca48623", "level": "error", "message": {"text": "FastAPI POST `portal_paste_kb` without auth dependency \u2014 api/knowledge_base.py:127"}, "properties": {"repobilityId": "53fc744b349e8dde", "scanner": "scanner-primary", "fingerprint": "6ebee9b66ca48623", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/knowledge_base.py"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-9b13a6204f0ddf79", "level": "error", "message": {"text": "FastAPI POST `portal_upload_kb` without auth dependency \u2014 api/knowledge_base.py:142"}, "properties": {"repobilityId": "9b83ceeebb35adee", "scanner": "scanner-primary", "fingerprint": "9b13a6204f0ddf79", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/knowledge_base.py"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-eb94aac47a636db2", "level": "error", "message": {"text": "FastAPI DELETE `portal_delete_kb` without auth dependency \u2014 api/knowledge_base.py:165"}, "properties": {"repobilityId": "ea782a3eb866c661", "scanner": "scanner-primary", "fingerprint": "eb94aac47a636db2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/knowledge_base.py"}, "region": {"startLine": 165}}}]}, {"ruleId": "scanner-cecf23e0f61eacac", "level": "error", "message": {"text": "FastAPI POST `save_step` without auth dependency \u2014 api/onboarding.py:82"}, "properties": {"repobilityId": "4c09f4797b97101e", "scanner": "scanner-primary", "fingerprint": "cecf23e0f61eacac", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/onboarding.py"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-ec33d6760441351b", "level": "error", "message": {"text": "FastAPI POST `test_draft` without auth dependency \u2014 api/onboarding.py:156"}, "properties": {"repobilityId": "eeba431421a771b8", "scanner": "scanner-primary", "fingerprint": "ec33d6760441351b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/onboarding.py"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-a0648f1cbdc68cdc", "level": "error", "message": {"text": "FastAPI POST `complete_onboarding` without auth dependency \u2014 api/onboarding.py:184"}, "properties": {"repobilityId": "a2971089d61ef445", "scanner": "scanner-primary", "fingerprint": "a0648f1cbdc68cdc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/onboarding.py"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-329f794da0292144", "level": "error", "message": {"text": "FastAPI POST `concierge_setup` without auth dependency \u2014 api/onboarding.py:233"}, "properties": {"repobilityId": "4878ee174804242f", "scanner": "scanner-primary", "fingerprint": "329f794da0292144", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/onboarding.py"}, "region": {"startLine": 233}}}]}, {"ruleId": "scanner-1323e07a01d03464", "level": "error", "message": {"text": "FastAPI POST `create_route` without auth dependency \u2014 api/prospect_interviews.py:68"}, "properties": {"repobilityId": "d9f7d83af30d0ab7", "scanner": "scanner-primary", "fingerprint": "1323e07a01d03464", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/prospect_interviews.py"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-73d3c3d31af04b44", "level": "error", "message": {"text": "FastAPI PATCH `patch_route` without auth dependency \u2014 api/prospect_interviews.py:74"}, "properties": {"repobilityId": "ae75ef25cefcd9c4", "scanner": "scanner-primary", "fingerprint": "73d3c3d31af04b44", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/prospect_interviews.py"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-defac194c23acdd3", "level": "error", "message": {"text": "FastAPI DELETE `delete_route` without auth dependency \u2014 api/prospect_interviews.py:82"}, "properties": {"repobilityId": "6782ae8ff5082351", "scanner": "scanner-primary", "fingerprint": "defac194c23acdd3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/prospect_interviews.py"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-b0e418a84c43362a", "level": "error", "message": {"text": "FastAPI POST `upload_file` without auth dependency \u2014 api/data.py:29"}, "properties": {"repobilityId": "3fcd2c75b5490ab1", "scanner": "scanner-primary", "fingerprint": "b0e418a84c43362a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/data.py"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-04724cdb3436f171", "level": "error", "message": {"text": "FastAPI POST `query_data` without auth dependency \u2014 api/data.py:70"}, "properties": {"repobilityId": "344ec90195f68b8b", "scanner": "scanner-primary", "fingerprint": "04724cdb3436f171", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/data.py"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-af0f090df457b5dc", "level": "error", "message": {"text": "FastAPI DELETE `delete_data` without auth dependency \u2014 api/data.py:108"}, "properties": {"repobilityId": "6327f0281621090a", "scanner": "scanner-primary", "fingerprint": "af0f090df457b5dc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/data.py"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-54e057a6007274f8", "level": "error", "message": {"text": "FastAPI POST `fo_add_agent` without auth dependency \u2014 api/float_optimizer.py:74"}, "properties": {"repobilityId": "7f9223fb468380f3", "scanner": "scanner-primary", "fingerprint": "54e057a6007274f8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/float_optimizer.py"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-519b8bc7cf2363ea", "level": "error", "message": {"text": "FastAPI POST `rr_add_unit` without auth dependency \u2014 api/rent_roll.py:94"}, "properties": {"repobilityId": "b4a2db4c503afdfa", "scanner": "scanner-primary", "fingerprint": "519b8bc7cf2363ea", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/rent_roll.py"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-bfddacbea7074b4e", "level": "error", "message": {"text": "FastAPI POST `rr_assign_tenant` without auth dependency \u2014 api/rent_roll.py:118"}, "properties": {"repobilityId": "f27580133a39fc36", "scanner": "scanner-primary", "fingerprint": "bfddacbea7074b4e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/rent_roll.py"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-b5fb1030a8961752", "level": "error", "message": {"text": "FastAPI POST `rr_open_period` without auth dependency \u2014 api/rent_roll.py:139"}, "properties": {"repobilityId": "042e0da30968fe86", "scanner": "scanner-primary", "fingerprint": "b5fb1030a8961752", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/rent_roll.py"}, "region": {"startLine": 139}}}]}, {"ruleId": "scanner-43b109afe7136b69", "level": "error", "message": {"text": "FastAPI POST `rr_mark_paid` without auth dependency \u2014 api/rent_roll.py:152"}, "properties": {"repobilityId": "637bd770dcc41b42", "scanner": "scanner-primary", "fingerprint": "43b109afe7136b69", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/rent_roll.py"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-1934517f1449252d", "level": "error", "message": {"text": "FastAPI POST `rr_run_chase` without auth dependency \u2014 api/rent_roll.py:163"}, "properties": {"repobilityId": "b9013a8ff593fe05", "scanner": "scanner-primary", "fingerprint": "1934517f1449252d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/rent_roll.py"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-dbed8bf5261c534c", "level": "error", "message": {"text": "FastAPI POST `create_referral` without auth dependency \u2014 api/referrals.py:15"}, "properties": {"repobilityId": "b1b8dc66bb668162", "scanner": "scanner-primary", "fingerprint": "dbed8bf5261c534c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/referrals.py"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-ea26ab1bbcab5012", "level": "error", "message": {"text": "FastAPI POST `convert` without auth dependency \u2014 api/referrals.py:25"}, "properties": {"repobilityId": "f1c2ffdd062fa583", "scanner": "scanner-primary", "fingerprint": "ea26ab1bbcab5012", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/referrals.py"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-16d589055648293f", "level": "error", "message": {"text": "FastAPI POST `reward` without auth dependency \u2014 api/referrals.py:33"}, "properties": {"repobilityId": "233f441cc06b4575", "scanner": "scanner-primary", "fingerprint": "16d589055648293f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/referrals.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-45581aa593efba12", "level": "error", "message": {"text": "FastAPI PUT `set_client_brief` without auth dependency \u2014 api/closer.py:174"}, "properties": {"repobilityId": "f0d0e18b8eba2379", "scanner": "scanner-primary", "fingerprint": "45581aa593efba12", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/closer.py"}, "region": {"startLine": 174}}}]}, {"ruleId": "scanner-dc67b9217e01b67a", "level": "error", "message": {"text": "FastAPI PATCH `patch_stage` without auth dependency \u2014 api/closer.py:209"}, "properties": {"repobilityId": "68f8418968a32a60", "scanner": "scanner-primary", "fingerprint": "dc67b9217e01b67a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/closer.py"}, "region": {"startLine": 209}}}]}, {"ruleId": "scanner-f9351073dadb8ecc", "level": "error", "message": {"text": "FastAPI POST `draft_next_for_lead` without auth dependency \u2014 api/closer.py:221"}, "properties": {"repobilityId": "3fef993789015221", "scanner": "scanner-primary", "fingerprint": "f9351073dadb8ecc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/closer.py"}, "region": {"startLine": 221}}}]}, {"ruleId": "scanner-a8d1c6ed801b2b16", "level": "error", "message": {"text": "FastAPI POST `add_note` without auth dependency \u2014 api/closer.py:263"}, "properties": {"repobilityId": "d7df09d3bd4aed69", "scanner": "scanner-primary", "fingerprint": "a8d1c6ed801b2b16", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/closer.py"}, "region": {"startLine": 263}}}]}, {"ruleId": "scanner-f1df4e205653a99f", "level": "error", "message": {"text": "FastAPI POST `closer_dry_run` without auth dependency \u2014 api/closer.py:294"}, "properties": {"repobilityId": "beda899f7007ddd4", "scanner": "scanner-primary", "fingerprint": "f1df4e205653a99f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/closer.py"}, "region": {"startLine": 294}}}]}, {"ruleId": "scanner-bc5c74c3da840fe3", "level": "error", "message": {"text": "FastAPI POST `add_price` without auth dependency \u2014 api/market_os.py:58"}, "properties": {"repobilityId": "7129b89b9d18dcf8", "scanner": "scanner-primary", "fingerprint": "bc5c74c3da840fe3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/market_os.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-a6cb3e0c041c5cee", "level": "error", "message": {"text": "FastAPI POST `daily_briefing` without auth dependency \u2014 api/market_os.py:75"}, "properties": {"repobilityId": "91e0a34cdd91e2c0", "scanner": "scanner-primary", "fingerprint": "a6cb3e0c041c5cee", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/market_os.py"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-9db2b46e779ce3e9", "level": "error", "message": {"text": "FastAPI POST `create_alert` without auth dependency \u2014 api/market_os.py:90"}, "properties": {"repobilityId": "e5d2854854b8cd52", "scanner": "scanner-primary", "fingerprint": "9db2b46e779ce3e9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/market_os.py"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-c8c7413bf90a2c9c", "level": "error", "message": {"text": "FastAPI POST `draft_from_signal` without auth dependency \u2014 api/client_signals.py:44"}, "properties": {"repobilityId": "2336a9710d28750f", "scanner": "scanner-primary", "fingerprint": "c8c7413bf90a2c9c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_signals.py"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9488c36589a74172", "level": "error", "message": {"text": "FastAPI POST `skip_signal_endpoint` without auth dependency \u2014 api/client_signals.py:141"}, "properties": {"repobilityId": "1c2f0c424510df28", "scanner": "scanner-primary", "fingerprint": "9488c36589a74172", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_signals.py"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-56a4dd8c25a27df7", "level": "error", "message": {"text": "FastAPI POST `trigger_listener` without auth dependency \u2014 api/client_signals.py:151"}, "properties": {"repobilityId": "d7175f3ce1dbbedf", "scanner": "scanner-primary", "fingerprint": "56a4dd8c25a27df7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/client_signals.py"}, "region": {"startLine": 151}}}]}, {"ruleId": "scanner-478087566732dad5", "level": "error", "message": {"text": "FastAPI POST `run_campaign` without auth dependency \u2014 api/campaigns.py:30"}, "properties": {"repobilityId": "9f37d054be5dcccb", "scanner": "scanner-primary", "fingerprint": "478087566732dad5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/campaigns.py"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-26d6b3db31c9eee2", "level": "error", "message": {"text": "FastAPI POST `run_all_campaigns` without auth dependency \u2014 api/campaigns.py:74"}, "properties": {"repobilityId": "6e2d4b5cdf6bd119", "scanner": "scanner-primary", "fingerprint": "26d6b3db31c9eee2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/campaigns.py"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-ee751ec7ff48caab", "level": "error", "message": {"text": "FastAPI POST `run_followups` without auth dependency \u2014 api/campaigns.py:93"}, "properties": {"repobilityId": "90c1618687175ead", "scanner": "scanner-primary", "fingerprint": "ee751ec7ff48caab", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/campaigns.py"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-71f2ebd1182cc14f", "level": "error", "message": {"text": "FastAPI POST `approve` without auth dependency \u2014 api/approvals.py:49"}, "properties": {"repobilityId": "d548ba7e86b3d197", "scanner": "scanner-primary", "fingerprint": "71f2ebd1182cc14f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/approvals.py"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-db7ca64a27ad1731", "level": "error", "message": {"text": "FastAPI POST `edit_and_approve` without auth dependency \u2014 api/approvals.py:64"}, "properties": {"repobilityId": "407b92b6d32b1121", "scanner": "scanner-primary", "fingerprint": "db7ca64a27ad1731", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/approvals.py"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-cad16e2ed7192666", "level": "error", "message": {"text": "FastAPI POST `skip` without auth dependency \u2014 api/approvals.py:101"}, "properties": {"repobilityId": "029edf2d08b2222b", "scanner": "scanner-primary", "fingerprint": "cad16e2ed7192666", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/approvals.py"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-471434066320cf25", "level": "error", "message": {"text": "FastAPI POST `approve_all` without auth dependency \u2014 api/approvals.py:124"}, "properties": {"repobilityId": "83994ebfb126093c", "scanner": "scanner-primary", "fingerprint": "471434066320cf25", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/approvals.py"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-1c0350586e070508", "level": "error", "message": {"text": "FastAPI POST `skip_all` without auth dependency \u2014 api/approvals.py:141"}, "properties": {"repobilityId": "148e851f2a3e9dda", "scanner": "scanner-primary", "fingerprint": "1c0350586e070508", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/approvals.py"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-98cb921ad120e975", "level": "error", "message": {"text": "FastAPI POST `regenerate_draft_route` without auth dependency \u2014 api/approvals.py:167"}, "properties": {"repobilityId": "fe13d6a8b9f7621e", "scanner": "scanner-primary", "fingerprint": "98cb921ad120e975", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "api/approvals.py"}, "region": {"startLine": 167}}}]}, {"ruleId": "scanner-f22cf013c13a7f0c", "level": "note", "message": {"text": "Unused endpoint: GET /sw.js"}, "properties": {"repobilityId": "b39b278d3b123607", "scanner": "scanner-primary", "fingerprint": "f22cf013c13a7f0c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-769398a8a95bd693", "level": "note", "message": {"text": "Unused endpoint: GET /app"}, "properties": {"repobilityId": "8e2a5a0cb2cdee21", "scanner": "scanner-primary", "fingerprint": "769398a8a95bd693", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9e0e6dfd61369a8b", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/debug/sentry-test"}, "properties": {"repobilityId": "3d57ac67723bac70", "scanner": "scanner-primary", "fingerprint": "9e0e6dfd61369a8b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d710e276f58d7609", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/logs/recent"}, "properties": {"repobilityId": "4be9a3079ce09ad0", "scanner": "scanner-primary", "fingerprint": "d710e276f58d7609", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1bb00ed9db7c0cfa", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/v1/logs/clear"}, "properties": {"repobilityId": "056094a1e786da0b", "scanner": "scanner-primary", "fingerprint": "1bb00ed9db7c0cfa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-06d91e112bb9d362", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/demo/seed-landlord"}, "properties": {"repobilityId": "2130e2971bff708a", "scanner": "scanner-primary", "fingerprint": "06d91e112bb9d362", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3ef49b91115629df", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/demo/seed-all"}, "properties": {"repobilityId": "af20a714f0483051", "scanner": "scanner-primary", "fingerprint": "3ef49b91115629df", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1f554c1d66c7ba75", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/clients/backfill-tokens"}, "properties": {"repobilityId": "8a776cb10241de53", "scanner": "scanner-primary", "fingerprint": "1f554c1d66c7ba75", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a436691337284d03", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/health"}, "properties": {"repobilityId": "87241ef427e48461", "scanner": "scanner-primary", "fingerprint": "a436691337284d03", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b8715e4e2e328262", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/system/sweep"}, "properties": {"repobilityId": "c2d757cd88bb85f0", "scanner": "scanner-primary", "fingerprint": "b8715e4e2e328262", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-45cfaefbd2257ad9", "level": "note", "message": {"text": "Unused endpoint: GET /debug/apollo"}, "properties": {"repobilityId": "248a774669659026", "scanner": "scanner-primary", "fingerprint": "45cfaefbd2257ad9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e55639ecbb06e915", "level": "note", "message": {"text": "Unused endpoint: GET /debug/maps"}, "properties": {"repobilityId": "9490650254e2c759", "scanner": "scanner-primary", "fingerprint": "e55639ecbb06e915", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-29c34d18caa7ccfc", "level": "note", "message": {"text": "Unused endpoint: GET /debug/apify"}, "properties": {"repobilityId": "dcb2e5691345f90b", "scanner": "scanner-primary", "fingerprint": "29c34d18caa7ccfc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-eb0428442a390121", "level": "note", "message": {"text": "Unused endpoint: GET /docs"}, "properties": {"repobilityId": "4921743f6bd2a0d4", "scanner": "scanner-primary", "fingerprint": "eb0428442a390121", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-403892bbdb15fc9d", "level": "note", "message": {"text": "Unused endpoint: GET /docs/{slug}.pdf"}, "properties": {"repobilityId": "4c5a4d967c64fb57", "scanner": "scanner-primary", "fingerprint": "403892bbdb15fc9d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fa9d5c2d14c9beb0", "level": "note", "message": {"text": "Unused endpoint: GET /clients/{name}"}, "properties": {"repobilityId": "3edaad0f50908ccb", "scanner": "scanner-primary", "fingerprint": "fa9d5c2d14c9beb0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f0b589209a864207", "level": "note", "message": {"text": "Unused endpoint: POST /clients/{name}/accept"}, "properties": {"repobilityId": "56543271992a7955", "scanner": "scanner-primary", "fingerprint": "f0b589209a864207", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-052b4389ed69a613", "level": "note", "message": {"text": "Unused endpoint: POST /clients/{name}/revoke"}, "properties": {"repobilityId": "3b89281addcb3f32", "scanner": "scanner-primary", "fingerprint": "052b4389ed69a613", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c3817e2d01813801", "level": "note", "message": {"text": "Unused endpoint: GET /{token}/docs"}, "properties": {"repobilityId": "eb2a99f4aa536125", "scanner": "scanner-primary", "fingerprint": "c3817e2d01813801", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c42582b84fc1faef", "level": "note", "message": {"text": "Unused endpoint: GET /{token}/docs/{slug}.pdf"}, "properties": {"repobilityId": "525842ef6628ab56", "scanner": "scanner-primary", "fingerprint": "c42582b84fc1faef", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7b669d08e31c577c", "level": "note", "message": {"text": "Unused endpoint: POST /{token}/accept"}, "properties": {"repobilityId": "7640833a15b166d6", "scanner": "scanner-primary", "fingerprint": "7b669d08e31c577c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-695f81f1e96c2565", "level": "note", "message": {"text": "Unused endpoint: POST /review"}, "properties": {"repobilityId": "86cd2d0d04616664", "scanner": "scanner-primary", "fingerprint": "695f81f1e96c2565", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-81f27a6c6c707add", "level": "note", "message": {"text": "Unused endpoint: GET /reviews"}, "properties": {"repobilityId": "eded0f9cb10b1dd0", "scanner": "scanner-primary", "fingerprint": "81f27a6c6c707add", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f3f7181b5cbeb904", "level": "note", "message": {"text": "Unused endpoint: GET /reviews/{review_id}"}, "properties": {"repobilityId": "5f6db267ebf6a715", "scanner": "scanner-primary", "fingerprint": "f3f7181b5cbeb904", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cbe94c8508f4d2c1", "level": "note", "message": {"text": "Unused endpoint: GET /portal"}, "properties": {"repobilityId": "5435fe6219939d70", "scanner": "scanner-primary", "fingerprint": "cbe94c8508f4d2c1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9d8c76e02794df7a", "level": "note", "message": {"text": "Unused endpoint: GET /trucks"}, "properties": {"repobilityId": "8e08cf044b2b9235", "scanner": "scanner-primary", "fingerprint": "9d8c76e02794df7a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6362d5e0c9eb8458", "level": "note", "message": {"text": "Unused endpoint: POST /trucks"}, "properties": {"repobilityId": "4286e2afc6f8ec92", "scanner": "scanner-primary", "fingerprint": "6362d5e0c9eb8458", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3e42ec65737468f8", "level": "note", "message": {"text": "Unused endpoint: POST /incidents"}, "properties": {"repobilityId": "953999d2634656a6", "scanner": "scanner-primary", "fingerprint": "3e42ec65737468f8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ed9730b55b9ee052", "level": "note", "message": {"text": "Unused endpoint: GET /incidents"}, "properties": {"repobilityId": "9959ea2764487a13", "scanner": "scanner-primary", "fingerprint": "ed9730b55b9ee052", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-85572252c683199f", "level": "note", "message": {"text": "Unused endpoint: PATCH /incidents/{incident_id}/approve"}, "properties": {"repobilityId": "7536f2965e0dc0cc", "scanner": "scanner-primary", "fingerprint": "85572252c683199f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b9bdf68604fff39a", "level": "note", "message": {"text": "Unused endpoint: PATCH /incidents/{incident_id}/resolve"}, "properties": {"repobilityId": "e11c012b26b28960", "scanner": "scanner-primary", "fingerprint": "b9bdf68604fff39a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d504b80adc9409ec", "level": "note", "message": {"text": "Unused endpoint: GET /dashboard"}, "properties": {"repobilityId": "0d0d5f7118b40b31", "scanner": "scanner-primary", "fingerprint": "d504b80adc9409ec", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-19b2faca53374659", "level": "note", "message": {"text": "Unused endpoint: POST /staff"}, "properties": {"repobilityId": "47d6831c5ed9c73b", "scanner": "scanner-primary", "fingerprint": "19b2faca53374659", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-621f858deaa3be43", "level": "note", "message": {"text": "Unused endpoint: GET /report"}, "properties": {"repobilityId": "702cfcd3bc626b2a", "scanner": "scanner-primary", "fingerprint": "621f858deaa3be43", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-69c765cf708f4c4a", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/webhooks/meta/messaging"}, "properties": {"repobilityId": "c05ede484fd142f3", "scanner": "scanner-primary", "fingerprint": "69c765cf708f4c4a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bbcd42b57f581000", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/webhooks/meta/messaging"}, "properties": {"repobilityId": "fd1db17407454b33", "scanner": "scanner-primary", "fingerprint": "bbcd42b57f581000", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cd8dc4599ec52a08", "level": "note", "message": {"text": "Unused endpoint: GET /stats"}, "properties": {"repobilityId": "75060bfcae24f79c", "scanner": "scanner-primary", "fingerprint": "cd8dc4599ec52a08", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cd209cc1b9d92354", "level": "note", "message": {"text": "Unused endpoint: POST /replied/{contact_id}"}, "properties": {"repobilityId": "787c3a481b3b61bf", "scanner": "scanner-primary", "fingerprint": "cd209cc1b9d92354", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bbf29c44abd8361a", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/waitlist"}, "properties": {"repobilityId": "8984174c0514397a", "scanner": "scanner-primary", "fingerprint": "bbf29c44abd8361a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-652e022d3ea1e6d7", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/waitlist/counter"}, "properties": {"repobilityId": "b500f5a5909b8365", "scanner": "scanner-primary", "fingerprint": "652e022d3ea1e6d7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1e4545d93d3477e7", "level": "note", "message": {"text": "Unused endpoint: GET /waitlist"}, "properties": {"repobilityId": "f34bac910f5c9042", "scanner": "scanner-primary", "fingerprint": "1e4545d93d3477e7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-23763fd42c8b0064", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/admin/waitlist"}, "properties": {"repobilityId": "114b7b6290884bec", "scanner": "scanner-primary", "fingerprint": "23763fd42c8b0064", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ebee5301b91e3910", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/admin/waitlist/{position}/invite"}, "properties": {"repobilityId": "5135ea3c40c4e331", "scanner": "scanner-primary", "fingerprint": "ebee5301b91e3910", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bffc93e1a377228c", "level": "note", "message": {"text": "Unused endpoint: POST /resend"}, "properties": {"repobilityId": "a871177968738edc", "scanner": "scanner-primary", "fingerprint": "bffc93e1a377228c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-21d4e3431aa9b5dc", "level": "note", "message": {"text": "Unused endpoint: POST /parse"}, "properties": {"repobilityId": "2a75eb53cf3e19e7", "scanner": "scanner-primary", "fingerprint": "21d4e3431aa9b5dc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-abb8ce01d67281b6", "level": "note", "message": {"text": "Unused endpoint: POST /send-reminder"}, "properties": {"repobilityId": "0c297c47f18bef88", "scanner": "scanner-primary", "fingerprint": "abb8ce01d67281b6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aaefb1f9e103e93f", "level": "note", "message": {"text": "Unused endpoint: GET /history/{client_name}"}, "properties": {"repobilityId": "224902f5a02b4bf0", "scanner": "scanner-primary", "fingerprint": "aaefb1f9e103e93f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-861df316c8820e94", "level": "note", "message": {"text": "Unused endpoint: GET /{token}"}, "properties": {"repobilityId": "42d710d4a2651471", "scanner": "scanner-primary", "fingerprint": "861df316c8820e94", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-018eb56ef9bedd37", "level": "note", "message": {"text": "Unused endpoint: GET /{token}/overview"}, "properties": {"repobilityId": "6924adb492f5e777", "scanner": "scanner-primary", "fingerprint": "018eb56ef9bedd37", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d5d7e6898149df86", "level": "note", "message": {"text": "Unused endpoint: GET /{token}/properties"}, "properties": {"repobilityId": "9aa211e89d05a104", "scanner": "scanner-primary", "fingerprint": "d5d7e6898149df86", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}