409 CONCURRENT_REVIEW_SUBMISSION_LIMIT_EXCEEDED는 한 앱의 reviewSubmissions가 총 5개 한도(READY_FOR_REVIEW + WAITING_FOR_REVIEW + IN_REVIEW 합계)를 초과했을 때 POST /v1/reviewSubmissions에서 발생합니다. 해결 방법은 READY_FOR_REVIEW 상태의 orphan submission을 ASC 웹 UI에서 수동 취소하거나 7일 자동 만료를 기다리는 것입니다(DELETE·PATCH canceled=true는 모두 거부됨). ASC에는 이와 별개로 MAX_IN_REVIEW_SUBMISSIONS_PER_PLATFORM_LIMIT_REACHED(2 in-flight 한도)와 App Version 동시 1개 한도까지 총 두 종류의 독립 한도가 존재하며, 아래에서 각각 정리합니다.
PREPARE_FOR_SUBMISSION / WAITING_FOR_REVIEW / IN_REVIEW 중 어느 상태든 version은 동시에 1개만 허용됩니다.
# 이미 in-flight version이 있는 상태에서 새 version 생성 시:
POST /v1/appStoreVersions
→ 409 STATE_NOT_SUITABLE
"You cannot create a new version of the App in the current state"
해결: 기존 version을 심사 완료하거나 개발자 취소(PATCH developerRejected=true) 후 신규 생성.
| 한도 | 대상 상태 | 초과 시 오류 |
|---|---|---|
| in-flight 최대 2개 | WAITING_FOR_REVIEW + IN_REVIEW 합계 | MAX_IN_REVIEW_SUBMISSIONS_PER_PLATFORM_LIMIT_REACHED |
| total 최대 5개 | 위 2개 + READY_FOR_REVIEW orphan 합계 | CONCURRENT_REVIEW_SUBMISSION_LIMIT_EXCEEDED |
DELETE 시 403 거부, PATCH canceled=true도 409 거부됩니다. ASC 웹 UI 수동 취소 또는 7일 자동 만료 대기 외에 방법이 없습니다.
appStoreVersion — 앱 버전 업데이트appCustomProductPageVersion — CPP 변형appStoreVersionExperiment — PPO A/B 실험appEvent — 인앱 이벤트CPP 4개 + PPO 1개를 하나의 submission에 묶으면 5 total 한도 소진을 줄일 수 있습니다.
30일에 7개 버전을 출시하는 빠른 cadence에서는 항상 이 한도에 걸립니다. 실전 체크리스트:
GET /v1/apps/{id}/appStoreVersions?filter[appStoreState]=PREPARE_FOR_SUBMISSION,WAITING_FOR_REVIEW,IN_REVIEW로 in-flight 확인GET /v1/reviewSubmissions?filter[state]=READY_FOR_REVIEW로 잔여 5 total 슬롯 확인