Space
Space는 한 프로젝트의 콘텐츠가 모두 담기는 작업 공간입니다. 콘텐츠 구조를 정의하는 Content Type, 실제 데이터인 Content, 이미지·파일 같은 Media, 언어 설정인 Locale이 모두 하나의 Space 안에 담깁니다. 하나의 Space는 상위 그릇인 Organization 아래에 속하며, 보통 서비스 하나당 Space 하나를 둡니다.
내가 속한 Space 목록은 GET /me/space-memberships로 조회합니다.
리소스 구조
다음은 Space "데일리웨어 쇼핑몰"의 단일 조회 응답입니다. sys(시스템 속성)와 본문 속성 name을 가집니다.
{
"sys": {
"id": "HnQ32YiH",
"type": "Space",
"organization": { "sys": { "id": "ilLRJxDp", "type": "Refer", "targetType": "Organization" } },
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-14T14:56:04.737Z",
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-14T14:56:58.670Z",
"version": 2
},
"name": "데일리웨어 쇼핑몰"
}주요 키:
name: Space의 이름입니다(1~64자). 프로젝트나 서비스의 표시 이름입니다.organization: 이 Space가 속한 상위 Organization을 가리키는Refer<Organization>입니다.
구독 플랜은 Space가 아니라 상위 Organization에 매여 있습니다. 플랜을 확인하거나 바꾸려면 Organization을 보세요.
시스템 속성 (sys)와 본문
모든 Space는 공통 시스템 속성을 sys 객체에 담습니다. organization은 Refer<Organization>, createdBy·updatedBy는 Refer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.
| 속성 | 타입 | 설명 |
|---|---|---|
id | string | 리소스 고유 식별자. |
type | string | 리소스 종류. Space는 항상 "Space". |
organization | Refer<Organization> | 이 Space가 속한 상위 Organization. |
createdBy | Refer<User> | 생성한 사용자. |
createdAt | string (date-time) | 생성 시각. |
updatedBy | Refer<User> | 마지막으로 수정한 사용자. |
updatedAt | string (date-time) | 마지막 수정 시각. |
version | integer (≥1) | 리소스 버전. 수정할 때마다 1씩 올라갑니다. |
본문 속성:
| 속성 | 타입 | 설명 |
|---|---|---|
name | string (1~64) | Space 이름. 생성·수정 시 지정합니다. |
description | string (1~128) | Space 설명. 선택 항목입니다. |
icon | string (읽기) / object (쓰기) | Space 아이콘. 응답에서는 이미지 URL 문자열입니다. 수정 요청에서는 업로드한 파일을 가리키는 객체 { "upload": { "sys": { ..., "targetType": "Upload" } } }로 보냅니다(Upload API로 받은 Upload 참조). |
Space는 발행 개념이 없는 설정 리소스입니다. 그래서 Content·Media와 달리 sys에 publish·archive·status가 없고, version만 가집니다. version은 Space를 수정할 때마다 오릅니다.
Space의 홈 화면을 다른 페이지로 바꾸는 설정은 이 리소스가 아니라 상위 Organization에 있습니다. Organization의 consoleHomeUrl을 지정하면 그 아래 모든 Space의 홈 화면이 그 페이지로 바뀝니다.
오류
Space를 다룰 때 만나는 코드입니다. 모든 리소스에 공통인 코드는 공통 오류를 참조하세요.
| 코드 | 조건 |
|---|---|
WGL422024 | Space 안에 Content Type·Content·Media·Web Hosting 중 하나라도 남아 있는데 Space를 삭제하려 했습니다. 남은 것을 모두 지운 뒤에 삭제할 수 있습니다. |
WGL422046 | icon으로 올린 파일이 허용 크기를 넘습니다. |
WGL422047 | icon으로 올린 파일이 PNG·JPG·WebP가 아닙니다. |
API
아래 모든 엔드포인트의 기준 URL은 https://cma.weegloo.com/v1이며, Authorization 헤더에 CMA를 인증하는 Bearer 토큰이 필요합니다. 수정·부분 수정에는 낙관적 동시성 제어를 위해 X-Weegloo-Version 헤더(현재 리소스의 sys.version)를 함께 보내야 합니다. 생성과 삭제에는 이 헤더가 없습니다. 목록·생성·수정·부분 수정·삭제는 상위 Organization 경로(/organizations/{organizationId}/spaces) 아래에 있습니다. 단일 조회는 아래처럼 /spaces/{spaceId} 직접 경로로 할 수 있습니다(상위 Organization 경로 /organizations/{organizationId}/spaces/{spaceId}에도 단일 조회가 있습니다).
관련 문서
- Organization: 이 Space가 속한 상위 Organization.
- Space Membership: Space 구성원과 내 소속 Space 조회.
- Locale: Space의 언어 설정.
