기존 클라이언트가 깨지면 새 버전이 필요하다

같은 요청으로 같은 의미의 응답을 받을 수 있는지를 먼저 보고, 어려우면 버전과 이전 기간을 분리해 설계한다.

버전 또는 진화

기존 버전에서 진화

추가만 있고 기존 의미가 유지되면 같은 버전에서 점진적으로 확장한다.

optional field new endpoint compatible default

새 버전 필요

필수 입력, 응답 구조, 인증 방식, 상태 코드 의미가 바뀌면 새 계약으로 분리한다.

required field removed response auth change

판단 보류: 애매하면 실제 사용 로그와 클라이언트 영향 범위를 보고 마이그레이션 기간을 먼저 정한다.