Skip to content
Structly Docs
한국어

API reference

System

On this page

This page is generated from the public contract. Descriptions are shown in the original Korean.

공유 가능한 System 계층과 명시적 구성.

System 목록#

GET /api/systems

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
handlequerystringNohandle 정확 일치 필터. 앞뒤 공백 제거·소문자 정규화 후 비교하며 형식이 맞지 않으면 400 INVALID_REQUEST입니다. 기존 q·sort·page·per_page와 함께 사용할 수 있습니다. 결과는 최대 1건입니다.
qquerystringNoname에 대한 대소문자 구분 리터럴 부분 문자열 검색. 앞뒤 공백 제거 후 200 rune 이하·제어문자 금지. 생략·빈 값은 전체 목록.
sortquerystringNoname 오름차순·내림차순만 허용. 생략 시 기존 기본 순서(name 오름차순, ID 오름차순)를 유지합니다.
Values: name, -name
pagequeryintegerNo1 이상 정수. page·per_page 중 하나라도 있으면 페이지 모드로 동작합니다. 생략 시 1.
per_pagequeryintegerNo1~500 정수. 생략 시 100.

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

An array (System[]). The table lists item fields.

NameTypeRequiredDescription
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
created_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

System 생성#

POST /api/systems

Authentication: Session cookie or Agent token

Request body

application/json · Required: Yes

JSON 객체 하나, UTF-8·중복 키·미정의 필드 엄격 검사, 본문 최대 64 KiB. 일반 필드 검증은 조건 평가 전이며 참조 System 존재 검사는 조건 평가 뒤입니다.

Type: CreateSystem

NameTypeRequiredDescription
handlestringYes필수. 앞뒤 공백 제거·소문자 정규화 후 3~39자의 영문 소문자·숫자·단일 하이픈만 허용하며 정규화한 값을 저장합니다. 같은 Organization의 같은 Catalog에서 이미 사용 중이면 409 HANDLE_CONFLICT, 형식 오류는 422 VALIDATION_FAILED(오류 field /handle, code invalid_format)입니다.
namestringYes앞뒤 U+0020 공백 제거 후 1~200 유니코드 코드 포인트. 제어문자는 제거 전에 거부하며 범위는 U+0000~U+001F·U+007F~U+009F입니다. 다른 유니코드 공백·정규화는 적용하지 않습니다. 정규화 전 입력에는 maxLength 200을 적용하지 않습니다.
summarystringNo목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringNo공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.

Responses

StatusDescription
201성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
413PAYLOAD_TOO_LARGE
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED
500INTERNAL_ERROR

201 response body

Type: System

NameTypeRequiredDescription
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
created_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

System 상세#

GET /api/systems/{id}

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
If-None-MatchheaderstringNo상세 GET의 선택 조건. 강한·약한 태그, 태그 목록 또는 *를 허용하며 약한 비교로 일치하면 304, 불일치하면 200. *와 태그 혼합 또는 잘못된 형식은 400. 항목 미존재 404는 조건 평가에 우선합니다.

Responses

StatusDescription
200성공
304If-None-Match 약한 비교 일치, 본문·Content-Type 없음
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

Type: System

NameTypeRequiredDescription
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
created_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

System 전체 수정#

PUT /api/systems/{id}

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
If-MatchheaderstringYes대상 상세 GET의 단일 강한 ETag 필수. 관계 쓰기는 관계 ETag만 사용. 일반 검사 뒤 누락 428·불일치 412. *, 약한·복수 태그·잘못된 구문은 400. 미존재·삭제 참조 검사는 조건 평가보다 우선합니다.

Request body

application/json · Required: Yes

JSON 객체 하나, UTF-8·중복 키·미정의 필드 엄격 검사, 본문 최대 64 KiB. 일반 필드 검증은 조건 평가 전이며 참조 System 존재 검사는 조건 평가 뒤입니다.

Type: ReplaceSystem

NameTypeRequiredDescription
handlestringNo선택. 생략하면 저장된 값을 유지합니다. 앞뒤 공백 제거·소문자 정규화 후 3~39자의 영문 소문자·숫자·단일 하이픈만 허용하며 정규화한 값을 저장합니다. 같은 Organization의 같은 Catalog에서 이미 사용 중이면 409 HANDLE_CONFLICT, 형식 오류는 422 VALIDATION_FAILED(오류 field /handle, code invalid_format)입니다.
namestringYes앞뒤 U+0020 공백 제거 후 1~200 유니코드 코드 포인트. 제어문자는 제거 전에 거부하며 범위는 U+0000~U+001F·U+007F~U+009F입니다. 다른 유니코드 공백·정규화는 적용하지 않습니다. 정규화 전 입력에는 maxLength 200을 적용하지 않습니다.
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED
428PRECONDITION_REQUIRED
500INTERNAL_ERROR

200 response body

Type: System

NameTypeRequiredDescription
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
handlestringYes같은 Organization의 같은 Catalog에서 고유한 Web 주소 이름. 3~39자의 영문 소문자·숫자·단일 하이픈이며 숫자로 시작할 수 있습니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
created_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.
updated_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

미연결 System 삭제#

DELETE /api/systems/{id}

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
If-MatchheaderstringYes대상 상세 GET의 단일 강한 ETag 필수. 관계 쓰기는 관계 ETag만 사용. 일반 검사 뒤 누락 428·불일치 412. *, 약한·복수 태그·잘못된 구문은 400. 미존재·삭제 참조 검사는 조건 평가보다 우선합니다.

Responses

StatusDescription
204성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
412PRECONDITION_FAILED
428PRECONDITION_REQUIRED
500INTERNAL_ERROR

GET /api/systems/{id}/component-links

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
If-None-MatchheaderstringNo상세 GET의 선택 조건. 강한·약한 태그, 태그 목록 또는 *를 허용하며 약한 비교로 일치하면 304, 불일치하면 200. *와 태그 혼합 또는 잘못된 형식은 400. 항목 미존재 404는 조건 평가에 우선합니다.

Responses

StatusDescription
200성공
304If-None-Match 약한 비교 일치, 본문·Content-Type 없음
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

Type: SystemComponents

NameTypeRequiredDescription
system_idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
service_idsstring[]Yes
api_idsstring[]Yes
system_idsstring[]Yes
database_idsstring[]Yes
updated_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

PUT /api/systems/{id}/component-links

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
If-MatchheaderstringYes대상 상세 GET의 단일 강한 ETag 필수. 관계 쓰기는 관계 ETag만 사용. 일반 검사 뒤 누락 428·불일치 412. *, 약한·복수 태그·잘못된 구문은 400. 미존재·삭제 참조 검사는 조건 평가보다 우선합니다.

Request body

application/json · Required: Yes

JSON 객체 하나, UTF-8·중복 키·미정의 필드 엄격 검사, 본문 최대 64 KiB. 일반 필드 검증은 조건 평가 전이며 참조 구성 자산 존재 검사는 조건 평가 뒤입니다.

Type: ReplaceSystemComponents

NameTypeRequiredDescription
service_idsstring[]Yes
api_idsstring[]Yes
system_idsstring[]Yes
database_idsstring[]No

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
412PRECONDITION_FAILED
413PAYLOAD_TOO_LARGE
415UNSUPPORTED_MEDIA_TYPE
422VALIDATION_FAILED
428PRECONDITION_REQUIRED
500INTERNAL_ERROR

200 response body

Type: SystemComponents

NameTypeRequiredDescription
system_idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
service_idsstring[]Yes
api_idsstring[]Yes
system_idsstring[]Yes
database_idsstring[]Yes
updated_atstring(date-time)Yes서버가 기록한 UTC RFC 3339 시각. 저장된 마이크로초 정밀도를 보존합니다. 동시성 토큰이나 항상 증가하는 버전 번호가 아닙니다.

System 구성·상위 소속·포함 경로 조회#

GET /api/systems/{id}/components

현재 Organization의 부모 Service·연결·Repository Metadata를 같은 읽기 전용 Snapshot에서 조회합니다. 빈 집합은 빈 배열, 미존재·다른 Organization의 Service는 404입니다. ETag를 반환하거나 조건 헤더를 평가하지 않습니다.

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
qquerystringNoname에 대한 대소문자 구분 리터럴 부분 문자열 검색. 앞뒤 공백 제거 후 200 rune 이하·제어문자 금지. 생략·빈 값은 전체 목록.
sortquerystringNoname 오름차순·내림차순만 허용. 생략 시 기존 기본 순서(name 오름차순, ID 오름차순)를 유지합니다.
Values: name, -name
pagequeryintegerNo1 이상 정수. page·per_page 중 하나라도 있으면 페이지 모드로 동작합니다. 생략 시 1.
per_pagequeryintegerNo1~500 정수. 생략 시 100.
scopequerystringNoValues: direct, recursive
kindquerystringNoValues: system, api, service, database

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

An array (SystemComponent[]). The table lists item fields.

NameTypeRequiredDescription
kindstringYesValues: system, api, service, database
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
inclusionstringNoValues: direct, indirect, both

System 구성·상위 소속·포함 경로 조회#

GET /api/systems/{id}/parents

현재 Organization의 부모 Service·연결·Repository Metadata를 같은 읽기 전용 Snapshot에서 조회합니다. 빈 집합은 빈 배열, 미존재·다른 Organization의 Service는 404입니다. ETag를 반환하거나 조건 헤더를 평가하지 않습니다.

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
qquerystringNoname에 대한 대소문자 구분 리터럴 부분 문자열 검색. 앞뒤 공백 제거 후 200 rune 이하·제어문자 금지. 생략·빈 값은 전체 목록.
sortquerystringNoname 오름차순·내림차순만 허용. 생략 시 기존 기본 순서(name 오름차순, ID 오름차순)를 유지합니다.
Values: name, -name
pagequeryintegerNo1 이상 정수. page·per_page 중 하나라도 있으면 페이지 모드로 동작합니다. 생략 시 1.
per_pagequeryintegerNo1~500 정수. 생략 시 100.
scopequerystringNoValues: direct, recursive

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

An array (SystemComponent[]). The table lists item fields.

NameTypeRequiredDescription
kindstringYesValues: system, api, service, database
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
inclusionstringNoValues: direct, indirect, both

System 구성·상위 소속·포함 경로 조회#

GET /api/services/{id}/systems

현재 Organization의 부모 Service·연결·Repository Metadata를 같은 읽기 전용 Snapshot에서 조회합니다. 빈 집합은 빈 배열, 미존재·다른 Organization의 Service는 404입니다. ETag를 반환하거나 조건 헤더를 평가하지 않습니다.

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
qquerystringNoname에 대한 대소문자 구분 리터럴 부분 문자열 검색. 앞뒤 공백 제거 후 200 rune 이하·제어문자 금지. 생략·빈 값은 전체 목록.
sortquerystringNoname 오름차순·내림차순만 허용. 생략 시 기존 기본 순서(name 오름차순, ID 오름차순)를 유지합니다.
Values: name, -name
pagequeryintegerNo1 이상 정수. page·per_page 중 하나라도 있으면 페이지 모드로 동작합니다. 생략 시 1.
per_pagequeryintegerNo1~500 정수. 생략 시 100.
scopequerystringNoValues: direct, recursive

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

An array (SystemComponent[]). The table lists item fields.

NameTypeRequiredDescription
kindstringYesValues: system, api, service, database
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
inclusionstringNoValues: direct, indirect, both

System 구성·상위 소속·포함 경로 조회#

GET /api/apis/{id}/systems

현재 Organization의 부모 Service·연결·Repository Metadata를 같은 읽기 전용 Snapshot에서 조회합니다. 빈 집합은 빈 배열, 미존재·다른 Organization의 Service는 404입니다. ETag를 반환하거나 조건 헤더를 평가하지 않습니다.

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
qquerystringNoname에 대한 대소문자 구분 리터럴 부분 문자열 검색. 앞뒤 공백 제거 후 200 rune 이하·제어문자 금지. 생략·빈 값은 전체 목록.
sortquerystringNoname 오름차순·내림차순만 허용. 생략 시 기존 기본 순서(name 오름차순, ID 오름차순)를 유지합니다.
Values: name, -name
pagequeryintegerNo1 이상 정수. page·per_page 중 하나라도 있으면 페이지 모드로 동작합니다. 생략 시 1.
per_pagequeryintegerNo1~500 정수. 생략 시 100.
scopequerystringNoValues: direct, recursive

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

An array (SystemComponent[]). The table lists item fields.

NameTypeRequiredDescription
kindstringYesValues: system, api, service, database
idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
namestringYes
summarystringYes목록·테이블에 한 줄로 표시하는 핵심 요약입니다. 최대 120 Unicode 코드 포인트이며 앞뒤 공백을 보존합니다. 줄바꿈·탭 등 제어 문자는 거부합니다. 빈 문자열은 요약 없음입니다. 상세 설명은 description에 기록합니다.
descriptionstringYes공백·개행을 보존하며 U+0000을 거부합니다. 빈 문자열로 설명을 비웁니다. null은 허용하지 않습니다.
inclusionstringNoValues: direct, indirect, both

System 구성·상위 소속·포함 경로 조회#

GET /api/systems/{id}/composition

대상까지의 모든 포함 연결을 고정 순서로 반환. 두 번째 페이지부터 composition_revision 필수. 구조 변경은 409 SYSTEM_COMPOSITION_CHANGED.

Authentication: Session cookie or Agent token

Parameters

NameInTypeRequiredDescription
idpathstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
pagequeryintegerNo1 이상 정수. page·per_page 중 하나라도 있으면 페이지 모드로 동작합니다. 생략 시 1.
per_pagequeryintegerNo1~500 정수. 생략 시 100.
target_kindquerystringYesValues: system, api, service, database
target_idquerystringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
composition_revisionqueryintegerNo

Responses

StatusDescription
200성공
400INVALID_REQUEST·INVALID_ID
401UNAUTHENTICATED
403FORBIDDEN_ORIGIN·ORGANIZATION_UNVERIFIED
404SERVICE_NOT_FOUND·API_NOT_FOUND
405METHOD_NOT_ALLOWED
409ORGANIZATION_REQUIRED·SERVICE_NAME_CONFLICT·SERVICE_IN_USE·API_IN_USE·DATABASE_IN_USE·KEY_PATTERN_IN_USE·TABLE_IN_USE·COLLECTION_IN_USE·CASSANDRA_TABLE_IN_USE
500INTERNAL_ERROR

200 response body

An array (SystemConnection[]). The table lists item fields.

NameTypeRequiredDescription
parent_idstringYesStructly ID. Sonyflake로 발급한 정수를 고정 11자리 Base62(0-9A-Za-z)로 표현하며 대소문자를 구분합니다.
componentSystemComponentYes