MINARA

단일 세션의 전체 기록 조회

세션 메타데이터, 시간순 전체 메시지, 미응답 질문을 반환합니다.

GET /v1/sessions/:id

기록 조회의 기본 엔드포인트입니다. 세션 메타데이터, 시간순으로 저장된 모든 메시지, 아직 열려 있는 상호작용 큐 질문을 반환합니다. 클라이언트는 먼저 기록을 렌더링하고, is_streaming이 true이면 이 세션 ID를 키로 WebSocket chat 채널을 구독해 실시간 턴을 이어서 표시합니다.

메서드GET
경로/v1/sessions/:id
인증GATEWAY_AUTH_TOKEN 설정 시 Authorization: Bearer <token> 필요
범주sessions

응답 본문

{ "id": "chat_abc", "title": "BTC analysis", "origin": "web", "kind": "chat", "created_at_ms": 1747000000000, "updated_at_ms": 1747000500000, "message_count": 2, "has_unseen_completion": true, "completion_settled_at_ms": 1747000500000, "messages": [ { "id": 1, "role": "user", "content": "analyze BTC", "ts_ms": 1747000000000, "metadata": null }, { "id": 2, "role": "assistant", "content": "…", "ts_ms": 1747000400000, "metadata": { "segments": [ { "kind": "text", "text": "…" }, { "kind": "tool", "toolId": "call_1" } ], "toolCalls": [ { "id": "call_1", "name": "get_quote", "args": { "symbol": "BTC" }, "ok": true, "result": "…", "duration_ms": 812 } ] } } ], "is_streaming": false, "pending_questions": [] }

참고

metadata 구조는 역할에 따라 다릅니다. Assistant 행에는 순서가 있는 렌더링 계획 segments, toolId로 참조되는 toolCalls, 조기 중단 시 interrupted: true가 포함됩니다. User 행에는 attachments, 턴 도중 지시를 뜻하는 interjection: true, 음성 입력 키가 포함될 수 있습니다. 이전 행은 metadata: null일 수 있으며 이때 content를 일반 Markdown으로 렌더링합니다. pending_questionspending_question_added 스트림 이벤트와 같은 구조이며 POST /v1/interactions/:id/answer로 답할 수 있습니다. 알 수 없는 ID는 404를 반환합니다.

응답에는 최근 완료되거나 실패한 Agent 작업 결과가 아직 확인되지 않았음을 나타내는 has_unseen_completion도 포함됩니다. completion_settled_at_ms는 해당 상태의 완료 결과를 식별하여 오래된 읽기가 확인된 결과를 되살리지 않도록 합니다.

목차