본문으로 건너뛰기

오류와 제한

API가 처리한 HTTP 오류는 JSON의 code로 구분합니다.

{"code":"cursor_expired"}
HTTP 상태code의미와 처리
400invalid_cursorcursor 형식이 잘못됐거나 다른 조회에 사용했습니다. 처음부터 다시 조회하세요.
400invalid_limitlimit가 허용 범위를 벗어났습니다. 각 조회의 최대값을 확인하세요.
404broadcast_not_found해당 sessionId의 보관 방송이 없습니다.
409cursor_expired최근 채팅 cursor의 Redis 보존 범위가 끝났거나 stream이 교체됐습니다. 새 위치에서 다시 시작하세요.
429rate_limited요청 제한에 도달했습니다. Retry-After: 1 헤더를 따르세요.
503status_unavailable, collection_unavailable방송 또는 수집 상태를 확인할 수 없습니다. 잠시 뒤 다시 요청하세요.
503chat_unavailable, chat_generation_unavailable, chat_data_invalid최근 채팅을 읽을 수 없습니다. 잠시 뒤 다시 요청하세요.
503archive_unavailable지난 방송 저장소를 읽을 수 없습니다. 잠시 뒤 다시 요청하세요.
503connection_limitWebSocket 연결 한도에 도달했습니다. 기존 연결을 정리하거나 잠시 뒤 다시 연결하세요.

WebSocket 연결 후 서버 내부에서 문제가 발생하면 HTTP 응답 대신 {"type":"error","code":"..."} 이벤트를 보낸 뒤 연결을 종료합니다. WebSocket 이벤트

요청 제한은 API 전체에서 공유하는 초당 20회, 순간 최대 60회입니다. 지난 방송 채팅 조회는 동시에 한 요청만 처리합니다. WebSocket 연결은 전체 최대 32개, IP당 최대 2개이며 연결 시작도 HTTP 요청 제한을 사용합니다. 제한은 개별 사용자에게 예약된 할당량이 아니므로, 폴링 간격을 늘리고 429에서는 Retry-After 이후 재시도하세요. 네트워크 연결 실패와 Cloudflare가 반환한 오류에는 위 JSON 형식이 적용되지 않을 수 있습니다.