본문으로 건너뛰기

Resource Explorer API

주요 정보​

IAM 기반 역할 관리​

Resource Explorer 서비스의 역할 관리는 카카오클라우드의 IAM 역할 기반 액세스 제어(RBAC)을 따릅니다. 사용자 토큰으로 프로젝트 역할을 체크하고 각 역할에 따라 API 사용 권한이 부여됩니다.

프로젝트 역할​

권한프로젝트 관리자(Admin)프로젝트 멤버(Member)프로젝트 리더(Reader)
리소스 조회✓             ✓             ✓
태그 조회✓✓✓
태그 생성/삭제✓✓
태그 지정✓✓

KCRN​

Kakaocloud Resource Name의 약자로 카카오클라우드 리소스에 부여한 고유값을 말합니다. KCRN이 부여된 리소스를 Resource Explorer에서 한 번에 조회하고 다양한 방식으로 리소스 탐색이 가능합니다.

형식설명
kcrn:region:project-id:service:resource-type:resource-idkcrn:으로 시작하며 리전, 프로젝트 ID, 서비스, 리소스 유형, 리소스 ID 값을 포함
안내

Resource Explorer에서 조회 가능한 리소스 유형은 지원 중인 리소스 유형을 참고하시기 바랍니다.

리소스​

리소스 생성 또는 삭제 직후에는 Resource Explorer에 해당 변경 사항이 반영되기까지 일정 시간이 소요될 수 있습니다.
리소스 관련 API는 다음과 같습니다.

리소스 조회​

리소스는 KCRN 포맷으로 조회 하거나 필터로 조회할 수 있습니다.

API 호출 방식​
메서드요청 URL
POSThttps://resource-explorer.kr-central-2.kakaocloud.com/api/v1/resources/search
Request Header​
Request Header유형필수 여부설명
X-Auth-Token   string필수   사용자 인증 토큰 입력
Content-Typestring필수항상 application/json으로 설정
Request Body(KCRN 포맷으로 조회)​

KCRN 포맷으로 리소스를 조회할 수 있습니다.

KCRN 포맷으로 리소스 조회 Request Body
{
"filter": {    
"filter_kcrn": "kcrn:*:91e6b4bf1ac441eaa99ba7802e64970c:Virtual Machine:Instance:*"  
}
}
Request Elements​
필드명유형필수 여부설명
filterobject선택   리소스 조회 시 사용할 필터 조건을 포함하는 객체입니다. 내부에 filter_kcrn을 지정하여 kcrn 포맷으로 리소스를 조회할 수 있습니다.
filter.filter_kcrnstring선택kcrn:region:project-id:service:resource-type:resource-id 형식의 KCRN 포맷을 기반으로 리소스를 필터링 합니다. 와일드카드(*)를 사용하여 특정 항목을 범위로 지정할 수 있습니다.
- 위 Request Body 예시는 특정 프로젝트에서 Virtual Machine 서비스의 Instance 리소스 전체를 조회하는 조건
Request Body(필터로 조회)​

다양한 필터 항목으로 리소스를 조회할 수 있습니다.

필터로 리소스 조회 Request Body
{     
"filter": {         
"filter_string": "string"     
},     
"offset": 0, # optional     
"limit": 10, # optional (max, default 500)     
"sort": "string" # optional
}
Request Elements​
필드명유형필수 여부설명
filterobject선택   리소스 조회 시 사용할 필터 조건들을 포함하는 객체입니다.
- 필터 없이 전체 리소스를 조회하는 것이 가능합니다.
filter.filter_stringstring선택리소스를 조회할 때 사용할 검색 필터 조건을 문자열 형태로 지정하는 파라미터입니다.
특정 서비스나 태그가 지정된 리소스만 조회하고 싶을 때 사용할 수 있습니다.
- 형식: “키=값”
- 예시: service=Virtual Machine → Virtual Machine 서비스만 조회
- 지원하는 필터 항목은 filter_string 항목 참고
offsetinteger선택검색 결과 목록에서 가져올 데이터의 인덱스를 지정하는 파라미터입니다.
예를 들어 offset을 0으로 설정하면 첫 번째 결과부터, 10으로 설정하면 11번째 결과부터 데이터를 반환합니다.
- 기본값: 0
limitinteger선택한 번의 요청에서 최대 몇 개의 리소스를 반환할 지 설정하는 값입니다. 조회 결과가 많을 경우 offset과 함께 사용하여 페이지 단위로 리소스를 나누어 조회할 수 있습니다.
- 기본값: 500
- 최대값: 500
- 예시: limit: 10 → 최대 10개의 리소스만 반환
sortstring선택결과 리스트를 정렬할 때 사용하는 파라미터입니다.
- 형식: +정렬기준(오름차순) 또는 -정렬기준(내림차순)
- 예시: +resource_id → 리소스 ID 기준으로 오름차순 정렬
- 지원하는 정렬 기준은 sort 항목 참고
filter_string 항목​

리소스 조회 시 사용 가능한 필터 항목입니다. 여러 조건을 지정하면 논리곱(AND)으로 동작합니다.

키유형검색 지원필수 여부설명
resource_namestringexact, not, contains, start with, end with, *선택   리소스 이름으로 조회합니다.
예시:
- exact: resource_name=myResource
- not: -resource_name=myResource
- contains: resource_name=*my*
- start with: resource_name=my*
- end with: resource_name=*my
- *: resource_name=* → 모든 리소스 조회
resource_idstringexact, not, contains, start with, end with, *선택리소스 ID로 조회합니다.
예시:
- exact: resource_id=63cbe932-3a14-4d39-a24e-ed2fa28cc410
- not: -resource_id=63cbe932-3a14-4d39-a24e-ed2fa28cc410
- contains: resource_id=*3a14*
- start with: resource_id=3a14*
- end with: resource_id=*3a14
- *: resource_id=* → 모든 리소스 조회
regionstringexact, not, *선택리전으로 조회합니다.
예시:
- exact: region=kr-central-2
- not: -region=kr-central-2
- *: region=* → 모든 리전의 리소스 조회
servicestringexact, not, *선택서비스로 조회합니다.
예시:
- exact: service=Virtual Machine
- not: -service=Virtual Machine
- *: service=* → 모든 서비스의 리소스 조회
resource_typestringexact, not, *선택리소스 유형으로 조회합니다.
예시:
- exact: resource_type=Instance
- not: -resource_type=Instance
- *: resource_type=* → 모든 리소스 유형의 리소스 조회
tag.keystringexact, not, *선택태그 키로 조회합니다.
예시:
- exact: tag.key=myKey
- not: -tag.key=myKey
- *: tag.key=* → 태그가 있는 리소스 조회
tag.valuestringexact, not, *선택태그 값으로 조회합니다.
예시:
- exact: tag.value=myValue
- not: -tag.value=myValue
- *: tag.value=* → 태그가 있는 리소스 조회
기타--선택태그 유무로 조회합니다.
예시:
- tag:all → 태그가 있는 리소스 조회
- tag:none → 태그가 없는 리소스 조회
sort 항목​
항목검색 지원 및 예시
resource_name- 오름차순: +resource_name
- 내림차순: -resource_name
resource_id- 오름차순: +resource_id
- 내림차순: -resource_id
resource_type- 오름차순: +resource_type
- 내림차순: -resource_type
service- 오름차순: +service
- 내림차순: -service
Response Body​
리소스 조회 Response Body
{
"success": boolean,
"resources": [
{
"kcrn": "string",
"project_id": "string",
"region": "string",
"resource_type": "string",
"service": "string",
"resource_id": "string",
"resource_name": "string",
"user_name": "string",
"tags": [
{
"tag_id": "string",
"key": "string",
"value": "string",
"type": "string"
}
]
}
],
"count": integer,
"total_count": integer
}
Response Elements​
필드명유형설명
successbooleanAPI 요청의 성공 여부를 나타냅니다.
- true, false
resourceslist조회된 리소스 객체 목록입니다. 각 항목은 리소스 하나에 대한 정보를 포함합니다.
resources[].kcrnstring리소스의 고유 식별자(KakaoCloud Resource Name)입니다.
resources[].project_idstring리소스가 속한 프로젝트의 ID입니다.
resources[].regionstring리소스가 위치한 리전 정보입니다.
resources[].resource_typestring리소스의 유형입니다.
- 예: Instance, Volume 등
resources[].servicestring해당 리소스를 제공하는 서비스 이름입니다.
- 예: Virtual Machine
resources[].resource_idstring리소스의 고유 ID입니다.
resources[].resource_namestring사용자가 설정한 리소스 이름 또는 서비스에서 지정한 리소스 이름입니다.
resources[].user_namestring해당 리소스를 생성한 사용자 계정 또는 서비스 에이전트입니다.
resources[].tagslist리소스에 연결된 태그 목록입니다.
resources[].tags[].tag_idstring태그의 고유 ID입니다.
resources[].tags[].keystring태그의 키입니다.
resources[].tags[].valuestring태그의 값입니다.
resources[].tags[].typestring태그의 유형입니다.
- 커스텀 태그: custom
- 시스템 태그: system
countinteger이번 요청에서 반환된 리소스 수 입니다.
total_countinteger필터 조건에 해당하는 전체 리소스 수 입니다.
상태 코드​
코드응답 내용설명
200OK성공
400Bad Request유효하지 않은 요청
- 에러 메시지를 참고하여 요청 수정
403Forbidden인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음
- 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망
500Internal Server Error내부 서버 에러
- 잠시 후 재요청 요망

태그 조회​

새로 생성한 태그 또는 삭제한 태그가 Resource Explorer 태그 목록에 반영되는 데 까지는 일정 시간이 소요될 수 있습니다.
태그 조회 관련 API는 다음과 같습니다.

안내

커스텀 태그에만 tag_id가 부여되며, 시스템 태그에는 tag_id가 존재하지 않습니다.

태그 다건 조회​

API 호출 방식​
메서드요청 URL
POSThttps://resource-explorer.kr-central-2.kakaocloud.com/api/v1/tags/search
Request Header​
Request Header유형필수 여부설명
X-Auth-Token   string필수   사용자 인증 토큰 입력
Content-Typestring필수항상 application/json으로 설정
Request Body​
태그 다건 조회 Request Body
{
"filter": {
"filter_string": "string"
},
"offset": integer, # optional
"limit": integer, # optional
"sort": "string" # optional
}
Request Elements​
필드명유형필수 여부설명
filterobject선택   태그 조회 시 사용할 필터 조건들을 포함하는 객체입니다. 내부에 filter_string을 포함하며 다양한 필터 조건을 지정할 수 있습니다.
- 필터 없이 전체 태그를 조회하는 것이 가능합니다.
filter.filter_stringstring선택태그를 조회할 때 사용할 필터 조건을 문자열 형태로 지정합니다.
- 예: tag.type=system&tag.value=Kubernetes Engine처럼 특정 태그 정보 기준으로 조회가 가능하며 조건이 여러 개인 경우 논리곱(AND)으로 처리됩니다.
- 지원하는 필터 항목은 filter_string 항목 참고
offsetinteger선택검색 결과 목록에서 가져올 데이터의 인덱스를 지정하는 파라미터입니다.
예를 들어 offset을 0으로 설정하면 첫 번째 결과부터, 10으로 설정하면 11번째 결과부터 데이터를 반환합니다.
- 기본값: 0
limitinteger선택한 번의 요청에서 최대 몇 개의 리소스를 반환할 지 설정하는 값입니다. 조회 결과가 많을 경우 offset과 함께 사용하여 페이지 단위로 리소스를 나누어 조회할 수 있습니다.
- 기본값: 500
- 최대값: 500
- 예시: limit: 10 → 최대 10개의 리소스만 반환
sortinteger선택결과 리스트를 정렬할 때 사용하는 파라미터입니다.
- 형식: +정렬기준(오름차순) 또는 -정렬기준(내림차순)
- 예시: +key → 태그 키 기준으로 오름차순 정렬
- 지원하는 정렬 기준은 sort 항목 참고
filter_string 항목​

태그 다건 조회 시 사용 가능한 필터 항목입니다. 여러 조건을 지정하면 논리곱(AND)으로 동작합니다.

키유형검색 지원필수 여부설명
tag.keystringexact, not, *선택   태그 키로 조회합니다.
예시:
- exact: tag.key=myKey
- not: -tag.key=myKey
- *: tag.key=* → 모든 태그 조회
tag.valuestringexact, not, *선택태그 값으로 조회합니다.
예시:
- exact: tag.value=myValue
- not: -tag.value=myValue
- *: tag.value=* → 모든 태그 조회
tag.typestringexact, not, *선택태그 유형으로 조회합니다. 태그 유형에는 시스템 태그(system)와 커스텀 태그(custom)가 있습니다.
예시:
- exact: tag.type=system
- not: -tag.type=system
- *: tag.type=* → 모든 태그 조회
기타--선택태그 사용 유무로 조회합니다.
예시:
- tag:in_use → 리소스에 연결된 태그
- tag:not_in_use → 리소스에 연결되지 않은 태그
sort 항목​
항목검색 지원 및 예시
tag.key- 오름차순: +tag.key
- 내림차순: -tag.key
tag.value- 오름차순: +tag.value
- 내림차순: -tag.value
tag.type- 오름차순: +tag.type
- 내림차순: -tag.type
tag.created_at- 오름차순: +tag.created_at
- 내림차순: -tag.created_at
Response Body​
태그 다건 조회 Response Body
{ 
"success": boolean,
"total_count": integer,
"count": integer,
"tags": [
{
"tag_id": "string",
"key": "string",
"value": "string",
"type": "string",
"created_at": "string",
"resource_count": integer
}
]
}
Response Elements​
필드명유형설명
successbooleanAPI 요청의 성공 여부를 나타냅니다.
- true, false
total_countinteger조건에 해당하는 전체 태그의 총 개수를 나타냅니다.
countinteger현재 응답에 포함된 태그의 개수입니다. 페이지네이션(offset, limit)이 적용된 경우 일부만 반환됩니다.
tagslist태그 객체 목록입니다.
tags[].tag_idstring태그의 고유 ID입니다.
tags[].keystring태그의 키입니다.
tags[].valuestring태그의 값입니다.
tags[].typestring태그의 유형입니다.
- 커스텀 태그: custom
- 시스템 태그: system
tags[].created_atstring태그가 생성된 시간입니다.
- ISO 8601 형식의 UTC 타임스탬프
- 예시: 2025-03-17T05:46:52.537490588Z
tags[].resource_countinteger해당 태그가 연결된 리소스의 개수입니다.
상태 코드​
코드응답 내용설명
200OK성공
400Bad Request유효하지 않은 요청
- 에러 메시지를 참고하여 요청 수정
403Forbidden인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음
- 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망
500Internal Server Error내부 서버 에러
- 잠시 후 재요청 요망

태그 단건 조회​

API 호출 방식​
메서드요청 URL
GEThttps://resource-explorer.kr-central-2.kakaocloud.com/api/v1/tags/search/{tag_id}
Request Header​
Request Header유형필수 여부설명
X-Auth-Token   string필수   사용자 인증 토큰 입력
Request​
태그 단건 조회 Request 예시
curl --location --request GET 'https://resource-explorer.kr-central-2.kakaocloud.com/api/v1/tags/search/{tag_id}' \
--header 'X-Auth-Token: {x-auth-token}'
Request Body​
태그 단건 조회 Request Body
이 API는 요청 본문을 사용하지 않습니다.
Request Elements​
필드명위치필수 여부설명
tag_idpath필수조회하고자 하는 태그의 고유 ID입니다.
X-Auth-Tokenheader필수사용자 인증 토큰 입력
- 이 값을 사용하는 경우 Credential-ID 및 Credential-Secret은 생략합니다.
Response Body​
태그 단건 조회 Response Body
{ 
"success": boolean,
"tag": {
"tag_id": "string",
"key": "string",
"value": "string",
"type": "string",
"created_at": "string"
}
}
Response Elements​
필드명유형설명
successbooleanAPI 요청의 성공 여부를 나타냅니다.
- true, false
tagobject반환된 태그 정보를 담는 객체입니다.
tag.tag_idstring태그의 고유 ID입니다.
tag.keystring태그의 키입니다.
tag.valuestring태그의 값입니다.
tag.typestring태그의 유형입니다.
- 커스텀 태그: custom
- 시스템 태그: system
tag.created_atstring태그가 생성된 시간입니다.
- ISO 8601 형식의 UTC 타임스탬프
- 예시: 2025-03-17T05:46:52.537490588Z
상태 코드​
코드응답 내용설명
200OK성공
400Bad Request유효하지 않은 요청
- 에러 메시지를 참고하여 요청 수정
403Forbidden인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음
- 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망
404Not Found존재하지 않는 태그
- tag_id 정보 확인 요망
500Internal Server Error내부 서버 에러
- 잠시 후 재요청 요망

태그 관리​

태그 생성 및 삭제 관련 API는 다음과 같습니다.

태그 생성​

태그는 한 번에 최대 100개까지 생성할 수 있습니다. 태그 생성이나 삭제 요청은 비동기 방식으로 처리되며 완료되기까지 일정 시간이 소요될 수 있습니다.
또한 태그 생성·삭제 또는 리소스에 태그를 지정하는 작업이 진행 중인 경우 해당 작업이 모두 완료된 이후에만 다음 요청을 처리할 수 있습니다.

API 호출 방식​
메서드요청 URL
POSThttps://resource-explorer.kr-central-2.kakaocloud.com/api/v1/tags
Request Header​
Request Header유형필수 여부설명
X-Auth-Token   string필수   사용자 인증 토큰 입력
Content-Typestring필수항상 application/json으로 설정
Request Body​
태그 생성 Request Body
{ 
"tags": [
{
"key": "string",
"value": "string"
}
]
}
Request Elements​
필드명유형필수 여부설명
tagslist필수   생성할 태그 객체들의 목록입니다. 한 번에 최대 100개 태그를 동시에 생성할 수 있습니다.
tags[].keystring필수태그의 키입니다.
tags[].valuestring필수태그의 값입니다.
Response Body​
태그 생성 Response Body
{ 
"success": boolean,
"tags": [
{
"tag_id": "string"
"key": "string"
"value": "string"
}
]
}
Response Elements​
필드명유형설명
successbooleanAPI 요청의 성공 여부를 나타냅니다.
- true, false
tagslist생성된 태그 목록입니다.
tags[].tag_idstring생성된 태그의 고유 ID 입니다.
tags[].keystring생성된 태그의 키입니다.
tags[].valuestring생성된 태그의 값입니다.
상태 코드​
코드응답 내용설명
202Accepted성공
400Bad Request유효하지 않은 요청
- 에러 메시지를 참고하여 요청 수정
403Forbidden인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음
- 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망
500Internal Server Error내부 서버 에러
- 잠시 후 재요청 요망

태그 삭제​

더 이상 사용하지 않는 태그를 삭제할 수 있습니다. 태그는 한 번에 최대 100개까지 삭제할 수 있습니다. 태그 생성이나 삭제 요청은 비동기 방식으로 처리되며 완료되기까지 일정 시간이 소요될 수 있습니다.
또한 태그 생성·삭제 또는 리소스에 태그를 지정하는 작업이 진행 중인 경우 해당 작업이 모두 완료된 이후에만 다음 요청을 처리할 수 있습니다.

API 호출 방식​
메서드요청 URL
POSThttps://resource-explorer.kr-central-2.kakaocloud.com/console/api/v1/tags/delete
Request Header​
Request Header유형필수 여부설명
X-Auth-Token   string필수   사용자 인증 토큰 입력
Content-Typestring필수항상 application/json으로 설정
Request Body​
태그 삭제 Request Body
{ 
"tag_ids": [
"string"
]
}
Request Elements​
필드명유형필수 여부설명
tag_idslist필수   삭제할 태그 ID들의 목록입니다. 한 번에 최대 100개 태그를 동시에 삭제할 수 있습니다.
tag_ids[]string필수개별 태그의 고유 ID입니다. 존재하지 않는 ID는 에러로 처리됩니다.
Response Body​
태그 생성 Response Body
{ 
"success": boolean
}
Response Elements​
필드명유형설명
successbooleanAPI 요청의 성공 여부를 나타냅니다.
- true, false
상태 코드​
코드응답 내용설명
202OK성공
400Bad Request유효하지 않은 요청
- 에러 메시지를 참고하여 요청 수정
403Forbidden인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음
- 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망
500Internal Server Error내부 서버 에러
- 잠시 후 재요청 요망

태그 지정​

태그 지정 작업을 통해 특정 리소스에 원하는 태그를 연결할 수 있습니다. 이 작업은 비동기적으로 처리되며 완료까지 시간이 소요될 수 있습니다.
또한 태그 생성·삭제 또는 리소스에 태그를 지정하는 작업이 진행 중인 경우 해당 작업이 모두 완료된 이후에만 다음 요청을 처리할 수 있습니다.

안내

커스텀 태그에만 tag_id가 부여되며, 시스템 태그에는 tag_id가 존재하지 않습니다.

API 호출 방식​
메서드요청 URL
PATCHhttps://resource-explorer.kr-central-2.kakaocloud.com/api/v1/resources/tags
Request Header​
Request Header유형필수 여부설명
X-Auth-Token   string필수   사용자 인증 토큰 입력
Content-Typestring필수항상 application/json으로 설정
Request Body​
태그 지정 Request Body
{ 
"kcrns": ["string"],
"connect_tag_ids": ["string"],
"disconnect_tag_ids": ["string"]
}
Request Elements​
필드명유형필수 여부설명
kcrnslist  필수   태그를 지정할 리소스의 KCRN(KakaoCloud Resource Name)의 배열입니다.
- 여러 리소스에 동시에 태그 지정이 가능합니다.
connect_tag_idslist필수연결할 태그의 ID 목록입니다.
- 지정된 태그가 리소스에 연결됩니다.
disconnect_tag_idslist필수해제할 태그의 ID 목록입니다.
- 지정된 태그가 리소스에서 제거됩니다.
Response Body​
태그 생성 Response Body
{ 
"success": boolean
}
Response Elements​
필드명유형설명
successbooleanAPI 요청의 성공 여부를 나타냅니다.
- true, false
상태 코드​
코드응답 내용설명
202OK성공
400Bad Request유효하지 않은 요청
- 에러 메시지를 참고하여 요청 수정
403Forbidden인증은 성공했으나 요청한 리소스 또는 작업에 대한 권한 없음
- 올바른 권한이 부여된 계정 또는 프로젝트로 요청했는지 확인 요망
500Internal Server Error내부 서버 에러
- 잠시 후 재요청 요망