본문으로 건너뛰기
Structly 문서
English

API 레퍼런스

Collection

이 페이지의 내용

이 페이지는 공개 계약에서 생성하며 설명은 원문(한국어) 그대로 표시합니다.

MongoDB Collection 정의·이동.

Database 소속 Collection 전체 목록#

GET /api/databases/{database_id}/collections

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
database_idpathstring예소속 Database ID.

응답

상태설명
200Database 소속 Collection 전체 목록
400잘못된 경로 ID 또는 요청 형식
401UNAUTHENTICATED: 세션·토큰이 없거나 만료·폐기되었습니다.
403ORGANIZATION_UNVERIFIED: 현재 Organization 또는 Agent 토큰의 Organization이 인증 대기입니다.
404DATABASE_NOT_FOUND
409DATABASE_ENGINE_MISMATCH 또는 ORGANIZATION_REQUIRED: 세션에 현재 Organization이 없습니다.
500INTERNAL_ERROR

200 응답 본문

배열(Collection[])이며 표는 항목의 필드입니다.

이름타입필수설명
idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
database_idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestring예정규화 후 저장 값. 앞뒤 공백·제어 문자 금지. 한 글자 이름도 허용합니다.
summarystring예목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstring예공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
definitionCollectionDefinition예
created_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

Database 소속 Collection 생성#

POST /api/databases/{database_id}/collections

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
database_idpathstring예소속 Database ID.
Originheaderstring아니요세션 쿠키로 인증한 상태 변경 요청에서 필수이며 서버 origin과 같아야 합니다. Bearer 토큰 요청에는 적용하지 않습니다.

요청 본문

application/json · 필수: 예

타입: CollectionCreate

이름타입필수설명
namestring예앞뒤 U+0020 제거 후 1..200 Unicode code point. 제어 문자 금지. 정규화 전 입력 길이/빈 값은 서비스에서 검사합니다.
summarystring아니요목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstring아니요공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
definitionCollectionDefinition예

응답

상태설명
201Database 소속 Collection 생성
400잘못된 경로 ID 또는 요청 형식
401UNAUTHENTICATED: 세션·토큰이 없거나 만료·폐기되었습니다.
403Origin 검사 실패 또는 인증 대기 Organization 사용 거부입니다.
404DATABASE_NOT_FOUND
409부모 engine·Collection 이름 충돌 또는 ORGANIZATION_REQUIRED: 세션에 현재 Organization이 없습니다.
413PAYLOAD_TOO_LARGE
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED
500INTERNAL_ERROR

201 응답 본문

타입: Collection

이름타입필수설명
idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
database_idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestring예정규화 후 저장 값. 앞뒤 공백·제어 문자 금지. 한 글자 이름도 허용합니다.
summarystring예목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstring예공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
definitionCollectionDefinition예
created_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

Collection 상세#

GET /api/collections/{id}

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예리소스 ID.
If-None-Matchheaderstring아니요상세 GET에서 약한 비교. 강한/약한 목록·별표 허용. 일치 304. 미존재 404 우선. 목록과 다른 Method에서는 무시합니다.

응답

상태설명
200Collection 상세
304조건 일치. 본문·Content-Type 없음.
400잘못된 경로 ID 또는 요청 형식
401UNAUTHENTICATED: 세션·토큰이 없거나 만료·폐기되었습니다.
403ORGANIZATION_UNVERIFIED: 현재 Organization 또는 Agent 토큰의 Organization이 인증 대기입니다.
404COLLECTION_NOT_FOUND
409ORGANIZATION_REQUIRED: 세션에 현재 Organization이 없습니다.
500INTERNAL_ERROR

200 응답 본문

타입: Collection

이름타입필수설명
idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
database_idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestring예정규화 후 저장 값. 앞뒤 공백·제어 문자 금지. 한 글자 이름도 허용합니다.
summarystring예목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstring예공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
definitionCollectionDefinition예
created_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

Collection 전체 수정·Database 이동#

PUT /api/collections/{id}

database_id 변경으로 이동. 같은 engine·대상 존재·이름 중복 검사. Collection ETag 확인 뒤 참조/이름 409를 평가하고 실패 시 전체 rollback. 이동 후 FK 이름은 대상 Database 안에서 해석됩니다.

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예리소스 ID.
If-Matchheaderstring예상세 GET의 단일 강한 ETag. 별표·약한/복수 태그는 400. 일반 검사 후 누락 428·불일치 412. 미존재 404·Database 삭제 불가 409 우선. 날짜 조건으로 대체하지 않습니다.
Originheaderstring아니요세션 쿠키로 인증한 상태 변경 요청에서 필수이며 서버 origin과 같아야 합니다. Bearer 토큰 요청에는 적용하지 않습니다.

요청 본문

application/json · 필수: 예

타입: CollectionUpdate

이름타입필수설명
database_idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestring예앞뒤 U+0020 제거 후 1..200 Unicode code point. 제어 문자 금지. 정규화 전 입력 길이/빈 값은 서비스에서 검사합니다.
summarystring예목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstring예공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
definitionCollectionDefinition예

응답

상태설명
200Collection 전체 수정·Database 이동
400잘못된 경로 ID 또는 요청 형식
401UNAUTHENTICATED: 세션·토큰이 없거나 만료·폐기되었습니다.
403Origin 검사 실패 또는 인증 대기 Organization 사용 거부입니다.
404COLLECTION_NOT_FOUND
409대상 Database·engine·이름 충돌 또는 ORGANIZATION_REQUIRED: 세션에 현재 Organization이 없습니다.
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED
428PRECONDITION_REQUIRED
500INTERNAL_ERROR

200 응답 본문

타입: Collection

이름타입필수설명
idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
database_idstring예Structly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestring예정규화 후 저장 값. 앞뒤 공백·제어 문자 금지. 한 글자 이름도 허용합니다.
summarystring예목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstring예공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
definitionCollectionDefinition예
created_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)예서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

Collection 삭제#

DELETE /api/collections/{id}

인증: 세션 쿠키 또는 Agent 토큰

Parameter

이름위치타입필수설명
idpathstring예리소스 ID.
If-Matchheaderstring예상세 GET의 단일 강한 ETag. 별표·약한/복수 태그는 400. 일반 검사 후 누락 428·불일치 412. 미존재 404·Database 삭제 불가 409 우선. 날짜 조건으로 대체하지 않습니다.
Originheaderstring아니요세션 쿠키로 인증한 상태 변경 요청에서 필수이며 서버 origin과 같아야 합니다. Bearer 토큰 요청에는 적용하지 않습니다.

응답

상태설명
204Collection 삭제
400잘못된 경로 ID 또는 요청 형식
401UNAUTHENTICATED: 세션·토큰이 없거나 만료·폐기되었습니다.
403Origin 검사 실패 또는 인증 대기 Organization 사용 거부입니다.
404COLLECTION_NOT_FOUND
409연결 Service가 있어 Collection을 삭제할 수 없습니다. 또는 ORGANIZATION_REQUIRED: 세션에 현재 Organization이 없습니다.
412PRECONDITION_FAILED
428PRECONDITION_REQUIRED
500INTERNAL_ERROR