오류 처리

API 오류는 HTTP 상태, 오류 코드, 메시지와 요청 경로를 포함한 JSON 구조로 반환됩니다. 분기 처리는 메시지가 아닌 고정된 오류 코드를 기준으로 구현하세요.

수신자별 발급 오류HTTP 오류의 error.code와 발급된 배지의 errorCode는 별도입니다. 비동기 처리 후에는 각 배지의 stateCode와 errorCode를 확인하세요. 예를 들어 EMAIL_SEND_FAILED, KAKAO_SEND_FAILED, NOTIFICATION_DELIVERY_FAILED는 알림 오류이며, DUPLICATE_ISSUANCE는 중복 발급입니다.
StatusCode의미해결 방법
400COM002파라미터 형식 오류타입·UUID·날짜 형식을 확인하세요.
400COM006요청 값 검증 실패필수값과 필드 제약을 확인하세요.
400COM020지원하지 않는 정렬이 API에서 허용하는 sort 필드만 사용하세요.
400AST008잘못된 생성 일시 범위startAt이 endAt보다 늦지 않도록 입력하세요.
400AST024수신자 필터 충돌email, phoneNumber, sourcedId 중 하나만 사용하세요.
400ISS056멱등성 키 오류1~300자의 Idempotency-Key를 추가하세요.
400ISS058발급 시각 형식 또는 시간대 오류issuedAt에 Z 또는 offset을 포함한 ISO-8601 문자열을 보내세요.
400ISS059발급 시각이 미래서버 현재 시각보다 미래인 issuedAt을 보내지 마세요.
400ISS061계산한 만료 시각이 이미 지남배지 정책과 과거 발급일을 확인하세요.
401SEC065API 키 인증 실패X-API-KEY 헤더와 키 상태를 확인하세요. 노출된 키는 교체하세요.
403ORG004권한 부족필요한 역할이 VIEWER+인지 MANAGER+인지 확인하세요.
404PRG001프로그램을 찾을 수 없음ID와 API 키의 조직 범위를 확인하세요.
404BDG001배지를 찾을 수 없음ID와 API 키의 조직 범위를 확인하세요.
404ISS001발급 작업을 찾을 수 없음ID와 API 키의 조직 범위를 확인하세요.
404AST001발급된 배지를 찾을 수 없음ID와 API 키의 조직 범위를 확인하세요.
409BDG064FIXED 만료 정책 배지만료 정책이 없거나 상대 만료 개월 수를 사용하는 배지로 발급하세요.
409ISS057멱등성 키 충돌같은 정규화 요청으로 재시도하세요. issuedAt의 추가·제거·변경도 충돌 대상입니다. 다른 발급에는 새 키를 사용하세요.
409AST022취소할 수 없는 상태취소 가능한 상태인지 확인하세요.
409PAY054발급 크레딧 부족발급 가능 여부를 확인하세요.
오류 응답 · JSON
{
  "success": false,
  "error": {
    "timestamp": "2026-07-23T01:24:31Z",
    "code": "SEC065",
    "message": "유효한 조직 API Key가 필요합니다.",
    "status": 401,
    "path": "/external/v3/organization",
    "errors": []
  }
}