GET /api/v1/challenges/{challengeId}/threads
방 내부 메인을 채우는 Phase 1 인증 이벤트 피드 — 멤버들의 확정 인증 성공/실패 이벤트만 시간순으로 흐른다. 공지·댓글은 Phase 2 범위이며 Phase 1 응답에는 포함하지 않는다. ACTIVE 멤버 전용.
아이템별 노출 시점:
VERIFY_SUCCESS — 성공 확정 즉시.VERIFY_FAIL — 귀속일+2일 00:00 KST에 FAILED로 최종 확정되고 shareableAt이 열린 뒤에만 공유한다. D+1 유예 구간의 FAIL_EXPECTED는 노출하지 않으며, 이의가 인용되어 DONE이 된 건은 영구 미공유한다. 발생일보다 늦게 뜨므로 "7월 18일 루틴을 실패했습니다"처럼 과거형으로 날짜를 명시한다(failDate).내가 차단한 유저의 인증 이벤트는 임시 닉네임·기본 이미지로 마스킹해서 노출한다(같은 방 활동 자체는 보이되 가려진 모습).
바디 없음. 페이징은 query로 받는다.
{}
200 OK — 확정 성공·실패 이벤트가 섞인 피드, 마지막 페이지
{"pinnedNotice":null,
"items":[
{"type":"VERIFY_SUCCESS","id":"v_9901","user":{"userId":"U1","nickname":"김지수","profileImageUrl":"<https://cdn.ruleup.co.kr/p/u1.png","blocked":false},"at":"2026-07-25T06:58:00+09:00","streak":12,"failDate>":null},
{"type":"VERIFY_FAIL","id":"v_9812","user":{"userId":"U3","nickname":"박서연","profileImageUrl":null,"blocked":false},"at":"2026-07-25T03:00:00+09:00","streak":null,"failDate":"2026-07-18"}],
"nextCursor":null}
200 OK — 차단 유저의 인증 이벤트가 마스킹된 상태, 다음 페이지 있음
{"pinnedNotice":null,
"items":[
{"type":"VERIFY_SUCCESS","id":"v_9950","user":{"userId":"U7","nickname":"a3f9c1","profileImageUrl":null,"blocked":true},"at":"2026-07-25T07:10:00+09:00","streak":3,"failDate":null}],
"nextCursor":"eyJhdCI6IjIwMjYtMDctMjVUMDc6MTA6MDArMDk6MDAiLCJpZCI6InZfOTk1MCJ9"}