공통 규칙

날짜는 ISO-8601, ID는 UUID를 사용하며 정상 응답은 HTTP 200입니다.

01

페이지네이션

page는 1부터, size는 기본 20·최대 100입니다. sort는 반복 가능하며 기본값은 createdAt,descid,desc입니다.

02

응답 구조

JSON 단건 응답은 success · message · data, 목록은 items · pagination을 포함합니다. PDF 다운로드는 파일 바이너리를 바로 반환합니다.

03

쓰기 요청

프로그램·배지 생성과 수정은 PUBLISHED 상태로 처리되며, PATCH는 생략한 필드를 유지합니다.

01

발행 상태

써티 API의 프로그램·배지 생성과 수정 요청에는 publishStatusCode를 보내지 않습니다. 응답은 PUBLISHED 상태입니다.

02

PATCH

요청에서 생략한 필드는 유지합니다. null과 빈 배열의 의미는 각 엔드포인트의 Request body 설명을 확인하세요.

03

멱등성 키

직접 발급에는 1~300자의 Idempotency-Key가 필요합니다. 같은 키와 같은 본문은 동일 요청으로 처리되며, 수신자 순서를 포함한 본문이 달라지면 409 · ISS057로 응답합니다.

공통 응답 구조

JSON API 표에는 아래 공통 구조를 제외하고 data 또는 data.items[]의 실제 필드만 표시합니다. PDF 다운로드 응답은 이 구조를 사용하지 않습니다.

단건 응답

필드타입설명
success
boolean
요청 성공 여부
message
string | null
응답 메시지. 메시지가 없으면 null
data
object | null
API별 단건 응답 데이터. 삭제 성공 시 null

목록 응답

필드타입설명
success
boolean
요청 성공 여부
data.items
object[]
현재 페이지의 응답 항목
data.pagination
object
목록의 페이지 정보

Pagination data.pagination

필드타입설명
page
integer
현재 페이지 번호
size
integer
페이지당 항목 수
totalElement
integer
전체 항목 수
totalPages
integer
전체 페이지 수
first
boolean
첫 페이지 여부
last
boolean
마지막 페이지 여부
empty
boolean
현재 페이지가 비어 있는지 여부