GET/copilot/conversations
List Conversations
내 대화 목록(최근 50, 최신순). owner_uid 스코프.
@param ownerUid 소유자(세션 uid) — 필수. tenantId 는 계약상 수신하되 스코프는 owner_uid 로만(원본 동일).
@returns ConversationRow[] = [{id, title, focusUid, updatedAt}]
@sideeffect sxe SELECT(읽기).
Responses
200 Successful Response422 Validation Error
any
cURLcurl -X GET https://see.in-bridge.com/copilot/conversations?ownerUid=string&tenantId=string
JavaScriptconst res = await fetch("https://see.in-bridge.com/copilot/conversations", {
method: "GET"
});
const data = await res.json();
GET/copilot/conversations/{conv_id}/messages
Load Messages
한 대화의 메시지(순서대로, 최대 200) — 소유자 조인으로 남의 대화 차단.
@param conv_id 대화 id. @param ownerUid 소유자(세션 uid) — 필수.
@returns StoredMessage[] = [{role, content, trace, evidence, actions, model}]
@sideeffect sxe SELECT(읽기).
Responses
200 Successful Response422 Validation Error
any
cURLcurl -X GET https://see.in-bridge.com/copilot/conversations/{conv_id}/messages?ownerUid=string
JavaScriptconst res = await fetch("https://see.in-bridge.com/copilot/conversations/{conv_id}/messages", {
method: "GET"
});
const data = await res.json();
POST/copilot/conversations/{conv_id}/turn
Save Turn
한 턴(user+assistant)을 저장한다. conv_id="new" 면 새 대화(cv_<uuid>) 생성.
원본 saveTurn 로직 1:1(대화 upsert + seq 계산 + user/assistant 2행 insert). 이어쓰기는 owner_uid 확인.
@param conv_id 대화 id 또는 "new". body: {ownerUid, tenantId?, title?, userMessage, assistant:{content, trace?, evidence?, actions?, model?}}
@returns {id: <대화 id>}
@sideeffect sxe INSERT/UPDATE(쓰기, `with conn` 트랜잭션 커밋). 실패는 throw(가짜 성공 금지).
Responses
200 Successful Response422 Validation Error
any
cURLcurl -X POST https://see.in-bridge.com/copilot/conversations/{conv_id}/turn
JavaScriptconst res = await fetch("https://see.in-bridge.com/copilot/conversations/{conv_id}/turn", {
method: "POST"
});
const data = await res.json();