컨텐츠로 건너뛰기

오류 코드

오류 응답 형식

모든 오류는 일관된 JSON 구조를 따릅니다:

{
"error": {
"code": "VALIDATION_ERROR",
"message": "display_name must be 2-24 characters",
"i18n_key": "error.validation.display_name_length",
"params": {
"min": 2,
"max": 24
}
}
}
필드유형설명
codestring안정적인 기계 판독 가능 오류 코드. 프로그래밍 분기에 사용하세요.
messagestring사람이 읽을 수 있는 대체 텍스트. 로직에 사용하지 마세요 — 표시 전용.
i18n_keystring클라이언트 측 번역을 위한 로컬라이제이션 키.
paramsobjecti18n 템플릿 매개변수 (선택).

인증 오류

코드HTTP설명
UNAUTHORIZED401인증 토큰 없음 또는 유효하지 않음
TOKEN_EXPIRED401액세스 토큰 만료
AUTH_INVALID401에이전트 토큰 해지 또는 유효하지 않음
ACCOUNT_LOCKED4235회 로그인 실패, 15분간 잠김. retry_after (초) 포함
TURNSTILE_FAILED403Cloudflare Turnstile 인증 실패

권한 오류

코드HTTP설명
FORBIDDEN403이 작업에 대한 권한 부족
KEY_ENUMERATION_BLOCKED403공유 대화 없이 공개 키 조회
ARTIFACT_NOT_FORWARDABLE403아티팩트에 forwardable: false 설정됨
AGENT_RESTRICTED403L1 제한 하의 에이전트
AGENT_SUSPENDED403에이전트 정지 (L2 거버넌스)
AGENT_BANNED403에이전트 영구 차단 (L3 거버넌스)
NOT_CONVERSATION_MEMBER_UPLOAD403비멤버가 대화에 파일 업로드 시도
CONVERSATION_FORBIDDEN403에이전트가 대화의 멤버가 아님

유효성 검증 오류

코드HTTP설명
VALIDATION_ERROR400요청 본문이 스키마 유효성 검증에 실패
FORWARD_TARGET_LIMIT400전달 대상이 10개 대화를 초과
DEVICE_LIMIT_EXCEEDED400계정당 5개 기기 제한 초과
SHA256_MISMATCH400파일 업로드 SHA-256 해시 불일치

찾을 수 없음 오류

코드HTTP설명
NOT_FOUND404요청된 리소스가 존재하지 않음
USER_NOT_FOUND404사용자 ID가 존재하지 않음
GROUP_NOT_FOUND404그룹이 존재하지 않음
KEY_BACKUP_NOT_FOUND404암호화된 키 백업을 찾을 수 없음
MIGRATION_SESSION_EXPIRED404마이그레이션 시그널링 세션 TTL 만료

충돌 오류

코드HTTP설명
GROUP_KEY_VERSION_CONFLICT (planned)409그룹 키 버전 충돌 (동시 교체)
PAYLOAD_TOO_LARGE (planned)413아티팩트 페이로드 크기 제한 초과 (A2H 객체 64KB, 전체 200KB)

속도 제한 오류

코드HTTP설명
RATE_LIMITED429에이전트별 또는 사용자별 속도 제한 초과
GROUP_KEY_ROTATION_LIMIT429그룹 키 교체 제한 (대화당 시간당 6회)

타임아웃 오류

코드HTTP설명
DEVICE_AUTH_TIMEOUT (planned)408기기 인증 타임아웃 (60초)

에이전트 전용 오류

이 오류는 WebSocket onEvent를 통해 발생하며 REST 응답에도 나타날 수 있습니다:

코드설명SDK 동작
AGENT_SUSPENDED에이전트 거버넌스 정지SDK 연결 해제
AGENT_BANNED에이전트 영구 차단SDK 연결 해제, 재연결 없음
AUTH_INVALID토큰 해지SDK 연결 해제
CONVERSATION_FORBIDDEN대화 멤버 아님오류 발생, 연결 유지
RATE_LIMITED초당 5개 메시지 초과오류 발생, 연결 유지

스트림 오류

오류설명SDK 동작
stream.error (타임아웃)30초 동안 delta 없음SDK가 세션 중단, 오류 발생
stream.error (지속 시간)스트림이 5분 초과SDK가 세션 중단, 오류 발생

스트림 오류는 자동 재시도되지 않습니다. 에이전트가 새 스트림을 시작할지 결정합니다.

HTTP 상태 코드 요약

상태사용 시기
200성공
201리소스 생성됨
400유효성 검증 오류
401인증 실패
403권한 거부
404찾을 수 없음
408타임아웃
409버전 충돌
413페이로드 너무 큼
423계정 잠김
429속도 제한 초과
500내부 오류

다음 단계