메인 콘텐츠로 건너뛰기

오류 응답 형식

모든 오류는 동일한 envelope을 따릅니다:
{
  "result": "ERROR",
  "code": "P-001",
  "message": "정책 그룹을 찾을 수 없습니다."
}
code 필드는 안정적인 식별자입니다 — 통합 코드는 code 값을 기준으로 분기하세요. message는 사람이 읽기 위한 텍스트로 Accept-Language 헤더(en 또는 ko)에 따라 지역화되며 시간이 지나면서 표현이 바뀔 수 있지만, code는 바뀌지 않습니다.
코드 번호는 안정적인 식별자입니다 — 한 번 할당된 코드는 의미가 바뀌어도 재사용되지 않습니다. 번호 갭(예: ACT-007, ACT-008, ACT-010, ACT-011, ACT-012의 부재)은 엔진의 도메인 중립 원시(primitive) 리팩토링 영역에서 폐기된 코드를 반영합니다.

공통 (C)

코드HTTP설명
C-001400입력값이 올바르지 않습니다
C-002405허용되지 않은 HTTP 메서드
C-003404요청한 리소스를 찾을 수 없습니다
C-004500서버 내부 오류
C-005400데이터 타입이 올바르지 않습니다
C-006409이미 존재하는 리소스
C-007429요청량 초과 (TPS 한도)
C-008400올바르지 않은 시간대
C-009400허용되지 않은 상태 전환

인증 (A)

코드HTTP설명
A-001401인증 실패
A-002403접근 권한 없음
A-003401유효하지 않은 API 키
A-004409이미 가입된 이메일
A-005409API 키 최대 개수 초과
A-006401이메일 또는 비밀번호 오류
A-007409이미 사용 중인 전화번호
A-008401Google 계정으로 로그인 필요
A-009401Google 계정 이메일 미인증
A-010401Google 인증 실패
A-011400Google 계정은 비밀번호 재설정 불가
A-012400Google 계정은 비밀번호 변경 불가
A-013400새 비밀번호는 현재 비밀번호와 달라야 함
A-014400비밀번호 재설정 링크 만료 또는 무효
A-015503인증 메일 발송 실패
A-016401세션 만료
A-017401유효하지 않은 세션
A-018403시스템 계정 필요
A-019403System Manager 계정 변경 불가
A-020401비밀번호가 올바르지 않습니다

정책 엔진 (P)

코드HTTP설명
P-001404정책 그룹을 찾을 수 없습니다
P-002404정책 버전을 찾을 수 없습니다
P-003400정책 실행 중 오류 발생
P-004400승인되지 않은 정책 버전
P-005404정책 규칙을 찾을 수 없습니다
P-006400현재 상태에서 수정 불가 (DRAFT만 수정 가능)
P-007400규칙 없이 발행 불가
P-008400현재 상태에서 수행할 수 없는 작업
P-009403정책 그룹이 비활성화(DISABLED) 상태
P-010400규칙 순서 변경 ID 불일치
P-011400Activation 그룹 내 Mode/Strategy 불일치
P-012400Mutex 그룹 내 Mode/Strategy 불일치
P-013400롤백할 이전 버전이 없음
P-014404배포 이력을 찾을 수 없습니다
P-015400실행 요청에 필수 팩트 누락
P-016400버전이 대상 정책 그룹에 속하지 않음
P-017409버전이 배포 중이거나 A/B 테스트 사용 중
P-018400유효 기간이 올바르지 않음 (시작일이 종료일보다 이후)
P-019400그룹에 배포된 버전이 없음
P-020409운영 중인 배포가 있어 그룹 삭제 불가
P-021409A/B 테스트 실행 중이라 그룹 삭제 불가
P-022400SINGLE 조건의 필드는 필수
P-023400SINGLE 조건의 연산자는 필수
P-024400조건 트리 깊이가 최대값 초과

멱등성 (I)

코드HTTP설명
I-001409이미 처리된 요청 (중복 멱등키)
I-002409현재 처리 중인 요청

시스템 / 암호화 (S)

코드HTTP설명
S-001500데이터 암호화 실패
S-002500데이터 복호화 실패

결제 (B)

코드HTTP설명
B-001404요금제를 찾을 수 없습니다
B-002404구독 정보를 찾을 수 없습니다
B-003409이미 사용 중인 구독 존재
B-004400현재 상태에서 수행할 수 없는 작업
B-005404청구서를 찾을 수 없습니다
B-006500해당 통화를 지원하는 결제 프로세서 없음
B-007502결제 처리 실패
B-008403서비스 사용 한도 초과
B-009400무료 플랜은 해지 불가
B-010400유료 플랜 구독 전 결제 수단 등록 필요
B-011400유료 플랜 구독 전 사업자 정보 등록 필요
B-012400이미 결제 완료된 청구서
B-013400이미 해당 플랜 구독 중
B-014400통화 간 플랜 변경 미지원
B-015400무료 플랜으로 직접 다운그레이드 불가 — 먼저 해지
B-016409사용 중인 플랜 삭제 불가
B-017400유료 플랜 구독 중 통화 변경 불가
B-018400취소할 예약된 다운그레이드 없음
B-019409동일 등급/통화의 공개 플랜이 이미 존재
B-020400지원하지 않는 통화 코드

멤버 & 계정 (M)

코드HTTP설명
M-001404사용자 정보를 찾을 수 없습니다
M-002403이메일 인증 필요
M-003403정지된 계정
M-004403탈퇴한 계정
M-005400유효하지 않거나 만료된 인증 코드
M-006400이미 활성화된 계정
M-007400만료된 초대
M-008400유효하지 않은 초대 토큰
M-009400본인에게 수행 불가한 작업
M-010400마지막 관리자 삭제/강등 불가
M-011409이미 사용 중인 전화번호
M-012403정지된 계정 (사유 포함)
M-013400초대로는 관리자 역할 부여 불가

분석 & 시뮬레이션 (AN)

코드HTTP설명
AN-001500시뮬레이션 처리 실패
AN-002404데이터셋을 찾을 수 없습니다
AN-003400데이터셋이 너무 큽니다
AN-004400데이터셋에 레코드 없음
AN-005400데이터셋 형식 오류
AN-006400지원하지 않는 데이터 소스
AN-007500데이터셋 스토리지 오류
AN-008400비교 대상 버전(Baseline)이 올바르지 않음
AN-009404시뮬레이션을 찾을 수 없습니다
AN-010400PENDING 또는 RUNNING 시뮬레이션만 취소 가능
AN-011400완료된 시뮬레이션만 내보내기 가능
AN-012500시뮬레이션 내보내기 실패
AN-013404업로드된 데이터셋 파일을 찾을 수 없습니다
AN-014400데이터셋 파일 파싱 실패
AN-015500시뮬레이션 결과 데이터 형식 오류
AN-016400데이터셋 내 필수 팩트 누락
AN-017400데이터셋 내 팩트 타입 불일치
AN-018400HISTORICAL 데이터셋에 기간(from/to) 필수
AN-019400UPLOADED 데이터셋에 파일 경로 필수
AN-020400빈 파일 업로드 불가
AN-021400데이터셋 파일 크기 초과
AN-022400지원하지 않는 데이터셋 파일 형식

액션 & 계산 (ACT)

코드HTTP설명
ACT-001400액션 파라미터가 비어있습니다
ACT-002400참조 변수 refVar 필수
ACT-003400잘못된 계산 방식 (허용: PERCENTAGE, AMOUNT)
ACT-004400PERCENTAGE 방식에 rate 파라미터 필수
ACT-005400AMOUNT 방식에 value 파라미터 필수
ACT-006400잘못된 액션 타입
ACT-009400외부 서비스 액션에 Integration ID 필수
ACT-013400웹훅 URL 또는 연동 설정 필수
ACT-014400SET_FACT 액션에 팩트 키 필수
ACT-015400ADD_TAG 액션에 태그 필수
ACT-016400INCREMENT_FACT 액션에 targetVar 필수
ACT-017400rounding 옵션은 객체여야 함
ACT-018400rounding scale은 정수여야 함
ACT-019400rounding scale 범위 초과 [0, 16]
ACT-020400잘못된 rounding mode
ACT-021400MUTATE_FACT 액션에 operator 필수
ACT-022400잘못된 operator
ACT-023400잘못된 operator-method 조합 (예: DIV + PERCENTAGE)
ACT-0244000으로 나누기 불가
ACT-025400refVar가 입력 facts에 없음
ACT-026400targetVar가 입력 facts에 없음
ACT-027400EMIT_EVENT는 비어있지 않은 eventPayload 필수
ACT-028400EMIT_NOTIFICATION은 비어있지 않은 notificationPayload 필수
ACT-007, ACT-008, ACT-010, ACT-011, ACT-012 코드는 엔진이 도메인 중립 원시(primitive) 영역으로 전환되면서 폐기되었습니다. 해당 번호는 재사용되지 않습니다.

팩트 정의 (FD)

코드HTTP설명
FD-001409팩트 키가 이미 존재합니다
FD-002404팩트를 찾을 수 없습니다
FD-003403시스템 팩트는 수정/삭제 불가
FD-004400잘못된 팩트 키 형식

연동 (INT)

코드HTTP설명
INT-001404연동을 찾을 수 없습니다
INT-002409연동 이름 중복
INT-003400잘못된 연동 설정
INT-004400연동 타입은 변경 불가
INT-005400연동 설정에 필수 항목 누락
INT-006400연동에 사용할 수 없는 HTTP 메서드
INT-007400연동 설정의 필수 항목 누락

장애 로그 (FL)

코드HTTP설명
FL-001404장애 로그를 찾을 수 없습니다
FL-002400현재 상태의 장애 로그에 수행 불가한 작업
FL-003400해당 유형은 재시도를 지원하지 않음

웹훅 구독 (WH)

코드HTTP설명
WH-001404웹훅 구독을 찾을 수 없습니다
WH-002409웹훅 구독 이름 중복
WH-003502웹훅 테스트 발송 실패