SNA

HTTP 라우트

모든 서버 엔드포인트를 표면별로 묶어 보여줍니다.

HTTP API는 표면별로 묶여 있습니다. 아래 각 경로는 엔드포인트별 상세 명세 페이지로 연결됩니다.

인증

GET /health는 공개되어 있습니다. SNA 런타임의 그 밖의 모든 라우트는 /api/sna-port, SSE 라우트, chat image 조회를 포함해 Authorization: Bearer <authToken>을 요구합니다. 토큰이 없거나 맞지 않으면 401, 허용되지 않은 browser origin이면 403을 반환합니다.

SDK가 관리하는 host는 handle.connectionSnaClientSnaProvider에 전달하면 됩니다. 별도의 앱 소유 discovery endpoint가 신뢰된 renderer에 { baseUrl, authToken }을 반환할 수 있지만, SNA 런타임 자체의 /api/sna-port 라우트는 계속 보호됩니다.

시스템

메서드경로용도
GET/healthHealth check
GET/api/sna-port현재 SNA API 포트 조회

세션

메서드경로용도
POST/agent/sessions세션 레코드 생성
GET/agent/sessions세션 목록 조회
PATCH/agent/sessions/{id}label, meta, cwd 갱신
DELETE/agent/sessions/{id}세션, 히스토리, runtime chain, 대기 중인 권한 삭제

에이전트 라이프사이클

메서드경로용도
POST/agent/start세션 안에 에이전트 spawn
POST/agent/send메시지 전송
POST/agent/restart종료 후 re-spawn
POST/agent/resume정규화 히스토리로 재개
POST/agent/interrupt현재 턴 취소
POST/agent/set-model런타임 중 모델 변경
POST/agent/set-permission-mode런타임 중 권한 모드 변경
PATCH/agent/session통합 설정 mutator
POST/agent/kill에이전트 프로세스 종료
GET/agent/status상태 스냅샷

단발 호출

메서드경로용도
POST/agent/run-once한 번 실행하고 결과 반환
POST/agent/run-once/streamSSE 이벤트로 단발 실행
POST/agent/completion단발 completion

권한

메서드경로용도
POST/agent/permission-request권한 요청 제출 후 대기
POST/agent/permission-respond승인 또는 거부
GET/agent/permission-pendingpending 요청 목록 조회

모델과 이벤트

메서드경로용도
POST/agent/list-models런타임 모델 introspection
GET/agent/events세션 이벤트 SSE 스트림

Chat (정규화 히스토리 표면)

메서드경로용도
GET/chat/sessionsDB의 chat 세션 목록
POST/chat/sessionschat 세션 생성
DELETE/chat/sessions/{id}chat 세션 삭제
GET/chat/sessions/{id}/messages메시지 목록 조회
POST/chat/sessions/{id}/messages메시지 추가
DELETE/chat/sessions/{id}/messages메시지 삭제
GET/chat/images/{sessionId}/{filename}이미지 embed 제공

응답 모양

대부분의 SDK-facing 응답은 server/api-types.ts의 envelope을 따릅니다. streaming 및 binary 엔드포인트는 wire-native 응답 본문을 사용합니다. 정확한 schema는 라이브 OpenAPI 문서에서 확인하세요.

type ApiResponse<T> =
  | { status: "ok"; data: T }
  | { status: "error"; message: string; code?: string };

목차