--- type: page-api status: stable page_id: B06_Section related_pages: ["[[B06_Section/B06_frontend]]", "[[B06_Section/B06_backend]]", "[[B06_Section/B06_db]]", "[[B06_Section/B06_culvert_set]]", "[[architecture/project_map]]", "[[architecture/workflow_data_flow]]"] last_updated: 2026-08-22 source: ["docs/raw/verification/2026-07-19_verify_B05_B06_UI_Station_Improvement.md", "docs/raw/verification/2026-07-19_verify_B05_B06_improvements.md", "docs/raw/verification/2026-07-19_verify_responsive_layout_drag.md", "docs/raw/verification/2026-07-19_verify_B05_B06_차트_레이아웃_후속보정.md", "docs/raw/verification/2026-07-21_verify_B06_ground_section_type_B07_linkage.md", "docs/raw/verification/2026-07-25_verify_b05_b06_modifications.md", "docs/raw/verification/2026-08-02_verify_mass_haul_and_drainage_fixes.md", "docs/raw/plans/2026-08-20_plan_B06_배수관_횡단도_세트.md", "docs/raw/plans/2026-08-22_plan_B06_집수정_조정_계류측_성토부.md"] --- # B06_Section — API 이 API는 [[B06_Section/B06_frontend]]의 횡단 조회·편집·확정을 [[B06_Section/B06_backend]]에 연결하고 [[workflow_state]] stage 3을 변경한다. 기본 prefix: `/api/projects` (`B06_Section_Router.py:33`). 공통 세션·오류 형식은 [[auth_rbac]], [[api_common]]을 참조한다. | 항목 | 위치 | 역할 | |---|---|---| | `GET /{project_id}/sections/{route_id}` | `B06_Section_Router.py:52` | route 종횡단 결과 요약 조회 (B05 계산 미필 시 404 오류) | | `POST /{project_id}/sections/{route_id}/confirm` | `B06_Section_Router.py:120` | 해당 route의 종횡단 결과 확정 및 **유토곡선 결과(`mass_haul`)를 종단 데이터에 병합 저장** (미지정 측점은 토사+좌절토 기본값 자동 채움 후 stage 3 COMPLETE 전이) | | `GET /{project_id}/sections/detail` | `B06_Section_Router.py` | 종단 결과와 다수 횡단면을 일괄 조회하고 배수관 측점에는 `culvert` 세트 제원을 결합 | | `GET /{project_id}/sections/road-widths` | `B06_Section_Router.py` | 임도 등급별 법정 최소 도로폭 정보(`FOREST_ROAD_MIN_WIDTH_M`) 조회 (B05 프론트엔드가 측점 가로선 반폭 계산 시 호출) | | `POST /{project_id}/sections/{route_id}/regenerate` | `B06_Section_Router.py:85` | 횡단 반폭 재생성 요청 (`SectionRegenerateRequest` 매핑) | | `POST /{project_id}/sections/{route_id}/cross-design` | `B06_Section_Router.py` | 측점별 지반·단면·측구와 집수정 `basin_adjust`(폭·높이·좌우·상하)를 `data.design`에 저장 (`CrossDesignRequest` → `CrossDesignResponse`) | | `GET /{project_id}/recent-company-projects` | `B06_Section_Router.py` | 동일 회사 최근 5개 프로젝트 목록 반환 API | | `GET /{project_id}/standard-cross-section-from/{target_id}` | `B06_Section_Router.py` | 지정 타 프로젝트의 표준단면 설계값 로드 API | > [!NOTE] > 기존에 존재하던 `POST /{project_id}/sections/generate` 엔드포인트(종횡단 자동 생성)는 B05 단계로 계산 기능이 오케스트레이션 이관됨에 따라 완전히 삭제되었습니다. 오류는 표준 `{"status":"error","message":...}` 형식으로 반환한다. 배수관 세트는 기존 상세 조회·재생성 응답의 자유형 횡단 dict에 추가되므로 새 Pydantic API 스키마나 별도 엔드포인트는 만들지 않는다. 프론트 계약은 [[B06_Section/B06_culvert_set]]을 따른다.