diff --git a/backend/src/cyclone/api_routers/submission.py b/backend/src/cyclone/api_routers/submission.py index 9a69c11..938f246 100644 --- a/backend/src/cyclone/api_routers/submission.py +++ b/backend/src/cyclone/api_routers/submission.py @@ -32,13 +32,16 @@ from fastapi import APIRouter, Depends, HTTPException from pydantic import BaseModel, ConfigDict, Field from cyclone.auth.deps import matrix_gate +from cyclone.store import store as cycl_store from cyclone.submission.core import submit_file from cyclone.submission.result import SubmitOutcome, SubmitResult log = logging.getLogger(__name__) +# No `prefix=` here — every other gated router in this package declares +# the full path in the decorator (clearhouse.py uses "/api/clearhouse", +# parse.py uses "/api/parse-837", etc.). The decorator sets the full URL. router = APIRouter( - prefix="/api", tags=["submission"], dependencies=[Depends(matrix_gate)], ) @@ -69,8 +72,8 @@ class SubmitBatchRequest(BaseModel): limit: int | None = None -@router.post("/submit-batch") -def post_submit_batch(body: SubmitBatchRequest): +@router.post("/api/submit-batch") +def submit_batch(body: SubmitBatchRequest): """Submit every ``batch-*-claims/*.x12`` under ``ingest_dir``. Walks ``ingest_dir`` for any directory matching ``batch-*-claims``, @@ -84,7 +87,6 @@ def post_submit_batch(body: SubmitBatchRequest): HTTP status code — the response is 200 whenever the run itself completed. """ - from cyclone.store import store as cycl_store # 1. Config-level guards. Order matters: a missing clearhouse is a # 404 (config-level "missing"), but if it IS present and in stub