ARTEX 현재 시스템 문서
전체 문서
이 페이지 목차

인증·대화·정책·운영 API 전수 참조

auth, health, settings, update, logs, chat, side-question와 notification 영역의 등록 operation을 전수 색인한다. 이 페이지는 route/address/auth/handler 요약이고 field-level 계약은 API 의미 schema가 소유한다.

분모 · 이 페이지 68개 / 전체 261개. route 등록·auth·직접 handler는 C다. 요청/응답 semantic은 operation별 C/P/U를 분리하며 route 수를 semantic 완료율로 쓰지 않는다.

Operation 색인

operation handler auth 입력 status schema
GET /api/auth/status authStatus 공개(middleware 면제) none 200/503 P
POST /api/auth/init authInit 공개(middleware 면제) JSON 200/400/403/500/503 P
POST /api/auth/login authLogin 공개(middleware 면제) JSON 200/400/401/403/500/503 P
POST /api/auth/change-password authChangePassword 공통 middleware 면제; handler가 Bearer→cookie→query token JWT와 현재 암호 재검증 JSON 200/400/401/403/500/503 C
GET /api/health health 공개(middleware 면제) none 200 P
GET /api/stats stats JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query task 200/401/404 P
GET /api/logs getLogs JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query limit,since 200/401 P
GET /api/logs/history getLogsHistory JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query before,limit 200/401/500 P
GET /api/logs/stream streamLogs JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query since 200/401/500 P
GET /api/update/check updateCheck JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query force 200/401 P
POST /api/update/apply updateApply JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 202/400/401/409/502 P
POST /api/update/rollback updateRollback JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 202/400/401/409 C
GET /api/update/stream updateStream JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500 P
GET /api/workspace/list wsList JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query path 200/400/401/404/500 P
GET /api/workspace/read wsRead JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query path 200/400/401/404/500 P
POST /api/workspace/write wsWrite JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500 P
POST /api/workspace/mkdir wsMkdir JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500 P
DELETE /api/workspace/delete wsDelete JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query path 200/400/401/404/500 C
GET /api/workspace/download wsDownload JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query path 200/206/304/400/401/404/412/416 P
POST /api/workspace/upload wsUpload JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query path; multipart/form-data 200/400/401/500 P
GET /api/tokens/daily tokenDailyStats JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query days 200/401/500 P
GET /api/tokens/conversations conversationTokens JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500 P
GET /api/tokens/usage pgUsageStats JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query days 200/401/500 P
GET /api/audit getAudit JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query task 200/401 P
POST /api/gc gc JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401 C
GET /api/commands pgListCommands JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query page,q,size,task 200/401/500 P
GET /api/commands/stats pgToolStats JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query q,task 200/401/500 P
GET /api/settings getSettings JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401 P
PUT /api/settings putSettings JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500 P
GET /api/notify/meta notifyMeta JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500/503 P
GET /api/notify/channels notifyListChannels JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500/503 P
POST /api/notify/channels notifyCreateChannel JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500/503 P
PATCH /api/notify/channels/{id} notifyUpdateChannel JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/404/500/503 P
DELETE /api/notify/channels/{id} notifyDeleteChannel JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/404/500/503 C
POST /api/notify/channels/{id}/test notifyTestChannel JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/404/500/502/503 P
GET /api/notify/deliveries notifyListDeliveries JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query channel_id,event_kind,page,page_size,state 200/401/500/503 P
POST /api/notify/deliveries/{id}/retry notifyRetryDelivery JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/503 C
POST /api/settings/web-search/test testWebSearch JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401 P
PATCH /api/triggers/{id} pgUpdateTrigger JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/500/503 C
DELETE /api/triggers/{id} pgDeleteTrigger JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/500/503 P
POST /api/settings/python/detect pgDetectPython JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/404/500 P
GET /api/sync/scopesentry/status syncSSStatus JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500/503 P
POST /api/sync/scopesentry/datasource syncSSDatasource JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/401/500/503 P
GET /api/sync/scopesentry/projects syncSSProjects JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query page,search,size 200/401/502/503 P
GET /api/sync/scopesentry/tasks syncSSTasks JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query page,search,size 200/401/502/503 P
POST /api/sync/scopesentry/sync syncSSRun JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/502/503 P
GET /api/intercept/rules interceptListRules JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500/503 P
POST /api/intercept/rules interceptCreateRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500/503 P
PUT /api/intercept/rules/{id} interceptUpdateRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/500/503 P
DELETE /api/intercept/rules/{id} interceptDeleteRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/500/503 P
POST /api/intercept/rules/{id}/toggle interceptToggleRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/500/503 P
GET /api/asset-intercept/rules assetInterceptListRules JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500/503 P
POST /api/asset-intercept/rules assetInterceptCreateRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500/503 P
PUT /api/asset-intercept/rules/{id} assetInterceptUpdateRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/500/503 P
DELETE /api/asset-intercept/rules/{id} assetInterceptDeleteRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/500/503 P
POST /api/asset-intercept/rules/{id}/toggle assetInterceptToggleRule JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/500/503 P
GET /api/intercept/pending interceptListPending JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500/503 P
GET /api/intercept/pending/{id} interceptGetOne JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/404/500/503 P
POST /api/intercept/pending/{id}/decide interceptDecide JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; JSON 200/400/401/409/500 C
GET /api/intercept/history interceptHistory JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query decision_source,page,size,status 200/400/401/500/503 P
GET /api/intercept/history/{id} interceptDetail JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id 200/400/401/404/500/503 P
GET /api/intercept/history/{id}/execution interceptExecution JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path id; query conversation 200/400/401/404/409/410/500/503 P
GET /api/intercept/task/{taskID} interceptListTaskItems JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 path taskID; query decision_source,page,size,status 200/400/401/500/503 P
GET /api/intercept/tool-config interceptGetToolConfig JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401/500 P
PUT /api/intercept/tool-config interceptSetToolConfig JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500 C
GET /api/intercept/judge interceptGetJudgeConfig JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 none 200/401 P
PUT /api/intercept/judge interceptSetJudgeConfig JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 JSON 200/400/401/500 C
GET /api/intercept/judge/usage interceptJudgeUsage JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택 query days 200/401/500 P

GET /api/auth/status

GET /api/auth/status · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 2개

  • 의존 / 실행 · /login · 화면 component/hook에서 API wrapper 또는 EventSource 소비 · web-screen-login
  • 의존 / 실행 · /setup · 화면 component/hook에서 API wrapper 또는 EventSource 소비 · web-screen-setup
전체 관계 4개 · 종류 선택·관계도
계약 확인 결과
등록·handler authStatus · server/auth.go · handler 근거
인증 공개(middleware 면제)
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/auth/init

POST /api/auth/init · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

  • 의존 / 실행 · /setup · 화면 component/hook에서 API wrapper 또는 EventSource 소비 · web-screen-setup
전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler authInit · server/auth.go · handler 근거
인증 공개(middleware 면제)
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 403, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/auth/login

POST /api/auth/login · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

  • 의존 / 실행 · /login · 화면 component/hook에서 API wrapper 또는 EventSource 소비 · web-screen-login
전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler authLogin · server/auth.go · handler 근거
인증 공개(middleware 면제)
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 403, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/auth/change-password

POST /api/auth/change-password · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler authChangePassword · server/auth.go · handler 근거
인증 공통 middleware 면제; handler가 Bearer→cookie→query token JWT와 현재 암호 재검증
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 403, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/health

GET /api/health · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler health · server/server.go · handler 근거
인증 공개(middleware 면제)
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/stats

GET /api/stats · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 2개

전체 관계 4개 · 종류 선택·관계도
계약 확인 결과
등록·handler stats · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query task · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 404 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/logs

GET /api/logs · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler getLogs · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query limit, since · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/logs/history

GET /api/logs/history · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler getLogsHistory · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query before, limit · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/logs/stream

GET /api/logs/stream · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler streamLogs · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query since · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · SSE 연결 수립; event lifecycle은 stream별 cursor/메모리 상태를 확인

GET /api/update/check

GET /api/update/check · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler updateCheck · server/update.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query force · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/update/apply

POST /api/update/apply · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler updateApply · server/update.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 202, 400, 401, 409, 502 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · download/apply worker 시작 후 process restart; 새 health/version이 완료 기준

POST /api/update/rollback

POST /api/update/rollback · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler updateRollback · server/update.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 202, 400, 401, 409 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · rollback stage 후 restart 요청; 재기동 version이 완료 기준

GET /api/update/stream

GET /api/update/stream · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler updateStream · server/update.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · SSE 연결 수립; event lifecycle은 stream별 cursor/메모리 상태를 확인

GET /api/workspace/list

GET /api/workspace/list · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsList · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query path · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/workspace/read

GET /api/workspace/read · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsRead · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query path · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/workspace/write

POST /api/workspace/write · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsWrite · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/workspace/mkdir

POST /api/workspace/mkdir · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsMkdir · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

DELETE /api/workspace/delete

DELETE /api/workspace/delete · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsDelete · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query path · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key/If-Match 없음; 반복 시 응답/존재 검사가 달라질 수 있음 · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/workspace/download

GET /api/workspace/download · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsDownload · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query path · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 206, 304, 400, 401, 404, 412, 416 · 일반 error body {error:string}; helper status는 schema에서 P/U; stdlib 412는 body 없음, 416은 text/plain
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/workspace/upload

POST /api/workspace/upload · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler wsUpload · server/workspace.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query path · body multipart/form-data
status/error 직접 관찰 200, 400, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/tokens/daily

GET /api/tokens/daily · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler tokenDailyStats · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query days · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/tokens/conversations

GET /api/tokens/conversations · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler conversationTokens · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/tokens/usage

GET /api/tokens/usage · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler pgUsageStats · server/commands.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query days · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/audit

GET /api/audit · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler getAudit · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query task · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/gc

POST /api/gc · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

전체 관계 2개 · 종류 선택·관계도
계약 확인 결과
등록·handler gc · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/commands

GET /api/commands · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler pgListCommands · server/commands.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query page, q, size, task · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/commands/stats

GET /api/commands/stats · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler pgToolStats · server/commands.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query q, task · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/settings

GET /api/settings · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 7개

전체 관계 9개 · 종류 선택·관계도
계약 확인 결과
등록·handler getSettings · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

PUT /api/settings

PUT /api/settings · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 5개

전체 관계 7개 · 종류 선택·관계도
계약 확인 결과
등록·handler putSettings · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/notify/meta

GET /api/notify/meta · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyMeta · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/notify/channels

GET /api/notify/channels · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyListChannels · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/notify/channels

POST /api/notify/channels · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyCreateChannel · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · delivery/test effect는 remote channel 결과와 DB delivery state를 함께 확인

PATCH /api/notify/channels/{id}

PATCH /api/notify/channels/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyUpdateChannel · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 404, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

DELETE /api/notify/channels/{id}

DELETE /api/notify/channels/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyDeleteChannel · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key/If-Match 없음; 반복 시 응답/존재 검사가 달라질 수 있음 · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/notify/channels/{id}/test

POST /api/notify/channels/{id}/test · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyTestChannel · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500, 502, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · delivery/test effect는 remote channel 결과와 DB delivery state를 함께 확인

GET /api/notify/deliveries

GET /api/notify/deliveries · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyListDeliveries · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query channel_id, event_kind, page, page_size, state · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/notify/deliveries/{id}/retry

POST /api/notify/deliveries/{id}/retry · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler notifyRetryDelivery · server/notify_api.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · delivery/test effect는 remote channel 결과와 DB delivery state를 함께 확인

POST /api/settings/web-search/test

POST /api/settings/web-search/test · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler testWebSearch · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

PATCH /api/triggers/{id}

PATCH /api/triggers/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 2개

전체 관계 4개 · 종류 선택·관계도
계약 확인 결과
등록·handler pgUpdateTrigger · server/triggers.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

DELETE /api/triggers/{id}

DELETE /api/triggers/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 2개

전체 관계 4개 · 종류 선택·관계도
계약 확인 결과
등록·handler pgDeleteTrigger · server/triggers.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; 반복 시 응답/존재 검사가 달라질 수 있음 · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/settings/python/detect

POST /api/settings/python/detect · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler pgDetectPython · server/server.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 404, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/sync/scopesentry/status

GET /api/sync/scopesentry/status · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler syncSSStatus · server/sync_scopesentry.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/sync/scopesentry/datasource

POST /api/sync/scopesentry/datasource · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler syncSSDatasource · server/sync_scopesentry.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · 외부 ScopeSentry 호출과 local upsert를 수행; HTTP response는 해당 handler run의 결과

GET /api/sync/scopesentry/projects

GET /api/sync/scopesentry/projects · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler syncSSProjects · server/sync_scopesentry.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query page, search, size · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 502, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/sync/scopesentry/tasks

GET /api/sync/scopesentry/tasks · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler syncSSTasks · server/sync_scopesentry.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query page, search, size · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 502, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/sync/scopesentry/sync

POST /api/sync/scopesentry/sync · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler syncSSRun · server/sync_scopesentry.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 502, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · 외부 ScopeSentry 호출과 local upsert를 수행; HTTP response는 해당 handler run의 결과

GET /api/intercept/rules

GET /api/intercept/rules · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptListRules · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/intercept/rules

POST /api/intercept/rules · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptCreateRule · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

PUT /api/intercept/rules/{id}

PUT /api/intercept/rules/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptUpdateRule · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

DELETE /api/intercept/rules/{id}

DELETE /api/intercept/rules/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptDeleteRule · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; 반복 시 응답/존재 검사가 달라질 수 있음 · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/intercept/rules/{id}/toggle

POST /api/intercept/rules/{id}/toggle · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptToggleRule · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/asset-intercept/rules

GET /api/asset-intercept/rules · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler assetInterceptListRules · server/asset_intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/asset-intercept/rules

POST /api/asset-intercept/rules · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler assetInterceptCreateRule · server/asset_intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

PUT /api/asset-intercept/rules/{id}

PUT /api/asset-intercept/rules/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler assetInterceptUpdateRule · server/asset_intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

DELETE /api/asset-intercept/rules/{id}

DELETE /api/asset-intercept/rules/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler assetInterceptDeleteRule · server/asset_intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key/If-Match 없음; 반복 시 응답/존재 검사가 달라질 수 있음 · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

POST /api/asset-intercept/rules/{id}/toggle

POST /api/asset-intercept/rules/{id}/toggle · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler assetInterceptToggleRule · server/asset_intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/intercept/pending

GET /api/intercept/pending · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 4개

전체 관계 6개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptListPending · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/intercept/pending/{id}

GET /api/intercept/pending/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 2개

전체 관계 4개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptGetOne · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

POST /api/intercept/pending/{id}/decide

POST /api/intercept/pending/{id}/decide · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 5개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptDecide · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body JSON
status/error 직접 관찰 200, 400, 401, 409, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key 없음; unique constraint 또는 상태 check가 있는 경우만 중복을 제한(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/intercept/history

GET /api/intercept/history · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 5개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptHistory · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query decision_source, page, size, status · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/intercept/history/{id}

GET /api/intercept/history/{id} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 5개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptDetail · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/intercept/history/{id}/execution

GET /api/intercept/history/{id}/execution · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 5개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptExecution · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path id · query conversation · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 404, 409, 410, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/intercept/task/{taskID}

GET /api/intercept/task/{taskID} · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 5개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptListTaskItems · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path taskID · query decision_source, page, size, status · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 400, 401, 500, 503 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

GET /api/intercept/tool-config

GET /api/intercept/tool-config · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptGetToolConfig · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

PUT /api/intercept/tool-config

PUT /api/intercept/tool-config · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptSetToolConfig · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/intercept/judge

GET /api/intercept/judge · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptGetJudgeConfig · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

PUT /api/intercept/judge

PUT /api/intercept/judge · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptSetJudgeConfig · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query - · body JSON
status/error 직접 관찰 200, 400, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation C: 직접 scalar/static top-level key와 field type을 추출; nested 내부 schema는 별도 type 참조가 없으면 P
반복·완료 Idempotency-Key/If-Match 없음; DB upsert/trigger/side effect 때문에 반복 의미를 handler별 확인(P) · handler의 직접 mutation/호출 후 응답; 외부 전달·agent 실행이 파생되면 별도 상태 확인(P)

GET /api/intercept/judge/usage

GET /api/intercept/judge/usage · 관계

이 대상이 사용하는 구현·계약·의존 · 2개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 3개 · 종류 선택·관계도
계약 확인 결과
등록·handler interceptJudgeUsage · server/intercept.go · handler 근거
인증 JWT 필요; extractToken이 Bearer→cookie→query token 순으로 선택
wire 입력 path - · query days · body 없음(직접 body decode 미발견)
status/error 직접 관찰 200, 401, 500 · 일반 error body {error:string}; helper status는 schema에서 P/U
응답·validation P: top-level key는 직접 추출했지만 derived/helper/opaque 또는 nested type이 남음
반복·완료 read/stream 요청; stream 재연결은 cursor 계약에 따름 · 직접 조회/파일 전송 완료; 외부 조회가 있으면 응답 전 handler 결과만 보장

이 페이지의 확인 한계

상위 영역: HTTP API와 Web UI 계약

전체로 돌아가기 · Markdown 원본

검색을 열면 색인을 읽습니다.

등록한 문서 본문에서 검색합니다.