본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

플랫폼 API

API 제공

전용 API

어드민 API

신규 어드민 API 제공

이 문서는 제공 종료된 구버전 어드민 API에 대해 안내합니다. 신규 어드민 API에 대한 자세한 내용은 신규 어드민 API 제공 안내에서 확인할 수 있습니다.

이 문서는 카카오디벨로퍼스 앱(애플리케이션)에 대한 어드민 API 사용 방법을 안내합니다.

각 제목에 부착된 태그(Tag)는 아래와 같은 의미입니다.

태그설명
Internal
이 액션은 API플랫폼 내부에서만 사용합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
CREATE_WITH_DEFAULT기본 설정으로 새로운 일반 앱을 등록합니다.
FIND_SIMPLE_APP_BY_APP_KEY앱 키로 앱의 기본 정보를 조회합니다.
FIND_ALL_SIMPLE_APP주어진 조건에 해당하는 앱 목록을 조회합니다.
FIND_BY_APP_KEY앱 키로 앱 상세 정보를 조회합니다.

기본 설정으로 새로운 일반 앱을 등록합니다.

요청 시 개발자 계정 ID, 앱 이름, 회사명(상호, 법인 또는 단체명)을 반드시 전달해야 합니다. 요청 시 지정한 개발자 계정이 생성될 앱의 소유자(OWNER)가 됩니다. 각 개발자 계정은 최대 10개의 앱을 소유할 수 있으므로, 이를 초과하는 앱 생성 요청은 처리에 실패합니다.

요청 처리 성공 시 응답은 생성된 일반 앱 정보를 payload에 포함합니다.

이름타입설명필수
owner_developer_idInteger앱 소유자인 개발자 계정 IDO
nameString앱 이름(영문 기준 최대 45자)O
companyString회사명(영문 기준 최대 50자)O
categoryAppCategory앱 카테고리X
icon_image_kage_tokenString | File앱 아이콘 이미지의 KAGE 토큰 또는 이미지 파일X
curl -v POST "https://internal-admin-kapi.kakao.com/app" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-F "name=CREATE_WITH_DEFAULT" \
-F "payload.owner_developer_id=${DEVELOPER_ID}" \
-F "payload.name=${APP_NAME}" \
-F "payload.company=${COMPANY_NAME}" \
-F "payload.category=${APP_CATEGORY}" \
-F "payload.icon_image_kage_token=@${FILE_PATH}"
curl -v POST "https://internal-admin-kapi.kakao.com/app" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "CREATE_WITH_DEFAULT",
"payload": {
"owner_developer_id": ${DEVELOPER_ID},
"name": "${APP_NAME}",
"company": "${COMPANY_NAME}",
"category": "${APP_CATEGORY}",
"icon_image_kage_token": "${KAGE_TOKEN}"
}
}'
// HTTP/2 200
{
"id": 1143492,
"name": "${APP_NAME}",
"company": "${COMPANY_NAME}",
"icon": "https://k.kakaocdn.net/14/dn/ZSdVOOpn0s/TPwVXsol2dfJiQsGeJG8pk/o.jpg",
"app_type": "DEFAULT",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}
// HTTP/2 400
{
"message": "${MESSAGE}",
"exception": "com.kakao.capri.commons.service.LimitExceededException"
}

앱 키로 앱의 기본 정보를 조회합니다.

조회하려는 앱의 앱 키 중 하나를 전달해 요청합니다. 모든 앱 키 타입을 사용해 앱을 조회할 수 있으며, 앱 키 타입에 대한 자세한 정보는 앱 키를 참고합니다.

요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.

이름타입설명필수
app_keyString앱 키
모든 타입의 앱 키 사용 가능
O
curl -v POST "https://internal-admin-kapi.kakao.com/app" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "FIND_SIMPLE_APP_BY_APP_KEY",
"payload": {
"app_key": "${APP_KEY}"
}
}'
// HTTP/2 200
{
"id": 977070,
"name": "Sample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1/o.jpg",
"app_type": "KAKAO",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}

주어진 조건에 해당하는 앱 목록을 조회합니다.

payload 하위의 query로 조회 조건을 지정합니다. query.id로 앱 ID 목록을 전달하거나, 앱 타입이나 이름 등 다른 앱 기본 정보로 요청할 수 있습니다.

요청 처리 성공 시 응답은 조회된 앱 기본 정보 목록을 payload에 포함합니다.

이름타입설명필수
queryJSON조회 조건O
이름타입설명필수
idInteger[]앱 ID 목록O
statusAppStatus앱 상태X
app_typeAppType앱 타입X
phaseAppPhase테스트 앱 여부X
curl -v POST "https://internal-admin-kapi.kakao.com/app" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "FIND_ALL_SIMPLE_APP",
"payload": {
"query": {
"id": [955071]
}
}
}'
curl -v POST "https://internal-admin-kapi.kakao.com/app" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "FIND_ALL_SIMPLE_APP",
"payload": {
"query": {
"id": [955071, 1102826]
}
}
}'
// HTTP/2 200
[
{
"id": 955071,
"name": "Sample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1/o.jpg",
"app_type": "KAKAO",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}
]
// HTTP/2 200
[
{
"id": 955071,
"name": "Sample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1/o.jpg",
"app_type": "KAKAO",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
},
{
"id": 1102826,
"name": "Default Test",
"company": "테스트",
"icon": "https://k.kakaocdn.net/14/dn/ZSdVOOpn0s/TPwVXsol2dfJiQsGeJG8pk/o.jpg",
"app_type": "DEFAULT",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}
]

엡 키로 앱 상세 정보를 조회합니다. 앱 상세 정보는 동의항목 설정 등 세부 정보를 포함합니다. 기본적인 앱 정보 조회만 필요한 경우에는 FIND_SIMPLE_APP_BY_APPKEY, FIND_SIMPLE_APP 사용을 권장합니다.

요청 시 네이티브 앱 키, REST API 키, JavaScript 키, 어드민 키 중 한 가지 앱 키를 반드시 전달해야 합니다.

요청 처리 성공 시 응답은 앱 상세 정보를 payload에 포함합니다.

이름타입설명필수
app_keyString앱 키O
curl -v POST "https://internal-admin-kapi.kakao.com/app" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "FIND_BY_APP_KEY",
"payload": {
"app_key": "${APP_KEY}"
}
}'
// HTTP/2 200
{
"id": 977072,
"name": "Sample",
"company": "SampleCompany",
"category": "Book_Reference",
"scopes": [],
"required_scopes": [4, 5, 6, 10, 14, 19],
"optional_scopes": [37, 38, 50],
"lazy_scopes": [33],
"collecting_scopes": [1, 10, 17, 22],
"status": "ACTIVE",
"icon_image_kage_token": "ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1",
"owner_developer_id": 576952,
"app_type": "KAKAO",
"additional_permissions": [17, 24, 30, 63, 66],
"additional_scope_permissions": [40, 240, 241],
"android_package_name": "com.kakao.original",
"android_market_url": "market://details?id=com.kakao.original",
"ios_bundle_id": "com.kakao.original",
"iphone_app_store_id": 123456,
"iphone_market_url": "https://itunes.apple.com/app/123456",
"web_site_url": ["https://developers.kakao.com"],
"app_ext": "DISABLED",
"created_at": "2020-02-21T05:42:16Z",
"updated_at": "2022-12-06T08:03:31Z",
"app_unlink": "ENABLED",
"client_secret": false,
"group_permissions": [1, 2, 4],
"phase": "NORMAL"
}
  • :app_id 부분에 요청 대상 앱 ID를 입력해야 합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app/:app_id
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
FIND_SIMPLE_APP앱 ID에 해당하는 앱의 기본 정보를 조회합니다.
FIND앱 ID에 해당하는 앱의 상세 정보를 조회합니다.
UPDATE_PARTIAL앱 설정을 일부 변경합니다.
FIND_IP_ADDRESSES앱에 등록된 허용 IP 주소를 조회합니다.
ADD_IP_ADDRESSES앱에 허용 IP 주소를 추가합니다.
UPDATE_IP_ADDRESSES앱에 등록된 허용 IP 주소를 변경합니다.
ACTIVATE
Internal
앱을 활성화합니다.
DEACTIVATE앱을 비활성화합니다.

앱 ID에 해당하는 앱의 기본 정보를 조회합니다. 앱의 상세 정보가 아닌 기본 정보만 조회하고자 할 때 이 액션을 사용합니다.

요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND_SIMPLE_APP"
}'
// HTTP/2 200
{
"id": 1102200,
"name": "Sample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSf7XoXJ6O/zYZd5dqCAZBZtf528ORXz1/o.jpg",
"app_type": "SAMPLE",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}

앱 ID에 해당하는 앱의 상세 정보를 조회합니다. 기본적인 앱 정보 조회만 필요한 경우에는 FIND_SIMPLE_APP_BY_APPKEY, FIND_SIMPLE_APP 사용을 권장합니다.

요청 처리 성공 시 응답은 앱 상세 정보를 payload에 포함합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "FIND"
}'
// HTTP/2 200
{
"id": 977071,
"name": "Sample",
"company": "SampleCompany",
"category": "Book_Reference",
"scopes": [],
"required_scopes": [4, 5, 6, 10, 14],
"optional_scopes": [37, 38, 50],
"lazy_scopes": [33],
"collecting_scopes": [1, 10, 17, 22],
"status": "ACTIVE",
"icon_image_kage_token": "ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1",
"owner_developer_id": 576952,
"app_type": "KAKAO",
"additional_permissions": [17, 24, 30, 63, 66],
"additional_scope_permissions": [40, 240, 241],
"android_package_name": "com.kakao.original",
"android_market_url": "market://details?id=com.kakao.original",
"ios_bundle_id": "com.kakao.SPMtest",
"iphone_app_store_id": 123456,
"iphone_market_url": "https://itunes.apple.com/app/123456",
"web_site_url": ["https://developers.kakao.com"],
"app_ext": "DISABLED",
"created_at": "2020-02-21T05:42:16Z",
"updated_at": "2022-12-06T08:03:31Z",
"app_unlink": "ENABLED",
"client_secret": false,
"group_permissions": [1, 2, 4],
"phase": "NORMAL"
}

앱 기본 정보를 일부 변경합니다. 변경을 원하는 항목을 payload에 포함해 요청합니다.

요청 처리 성공 시 응답은 변경된 앱 기본 정보를 payload에 포함합니다.

이름타입설명필수
nameString앱 이름(영문 기준 최대 45자)X
companyString회사명(영문 기준 최대 50자)X
app_typeAppType앱 타입X
categoryAppCategory앱 카테고리X
icon_image_kage_tokenString앱 아이콘 이미지의 KAGE 토큰 또는 이미지 파일X
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "UPDATE_PARTIAL",
"payload": {
"name": "MySample"
}
}'
// HTTP/2 200
{
"id": 1102200,
"name": "MySample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSf7XoXJ6O/zYZd5dqCAZBZtf528ORXz1/o.jpg",
"app_type": "SAMPLE",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}

앱에 등록된 허용 IP 주소를 조회합니다.

요청 처리 성공 시 응답은 앱에 등록된 허용 IP 주소 목록을 payload에 포함합니다.

  • 없음
  • 앱에 등록된 IP 주소 문자열의 배열
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "FIND_IP_ADDRESSES"
}'
// HTTP/2 200
["127.0.0.1"]

앱에 허용 IP 주소를 추가합니다.

payload 하위의 ip_addresses에 추가할 허용 IP 주소 목록을 전달합니다.

요청 처리 성공 시 응답은 앱에 등록된 허용 IP 주소 목록을 payload에 포함합니다.

이름타입설명필수
ip_addressesString[]허용 IP 주소 목록
CIDR, Subnet, IP 허용
O
  • 앱에 등록된 IP 주소 문자열의 배열
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "ADD_IP_ADDRESSES",
"payload": {
"ip_addresses": ["127.0.0.2"]
}
}'
// HTTP/2 200
["127.0.0.1", "127.0.0.2"]

앱에 등록된 허용 IP 주소를 변경합니다.

payload 하위의 ip_addresses에 허용 IP 주소 목록을 전달합니다. 이 API는 요청 시 전달된 허용 IP 주소로 기존 설정을 대체하므로, 새로운 허용 IP 주소를 추가하려면 기존에 등록된 IP 주소도 함께 전달해야 합니다.

요청 처리 성공 시 응답은 앱의 허용 IP 주소 배열을 payload에 포함합니다.

이름타입설명필수
ip_addressesString[]허용 IP 주소 목록
CIDR, Subnet, IP 허용
O
  • 허용 IP 주소 배열
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "UPDATE_IP_ADDRESSES",
"payload": {
"ip_addresses": ["127.0.0.1"]
}
}'
// HTTP/2 200
["127.0.0.1"]

앱을 활성화합니다.

요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "ACTIVATE"
}'
// HTTP/2 200
{
"id": 1270400,
"name": "Sample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSj0yeCNQz/MvFZRFIxD67r6UnjIaampk/o.jpg",
"app_type": "DEFAULT",
"category": "Book_Reference",
"status": "ACTIVE",
"phase": "NORMAL"
}

앱을 비활성화합니다. 이 액션을 사용하려면 사용 신청 시 별도 협의해야 합니다.

요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/1270408" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "DEACTIVATE"
}'
// HTTP/2 200
{
"id": 1270400,
"name": "Sample",
"company": "SampleCompany",
"icon": "https://k.kakaocdn.net/14/dn/ZSj0yeCNQz/MvFZRFIxD67r6UnjIaampk/o.jpg",
"app_type": "DEFAULT",
"category": "Book_Reference",
"status": "DEACTIVATED",
"phase": "NORMAL"
}
  • :app_id 부분에 요청 대상 앱 ID를 입력해야 합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app/:app_id/appKey
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
FIND_ALL앱의 모든 앱 키를 조회합니다.
FIND앱의 특정 타입 앱 키 값을 조회합니다.
REGENERATE앱 ID에 해당하는 앱의 앱 키를 재발급합니다.

앱의 모든 앱 키를 조회합니다. :app_id 부분에 명시된 앱 ID에 해당하는 앱의 모든 앱 키를 조회할 수 있습니다.

요청 처리 성공 시 응답은 앱 키 4종의 키와 값을 포함한 JSONpayload에 포함합니다.

  • 없음
이름타입설명필수
JAVASCRIPT_KEYStringJavaScript 키O
ADMIN_KEYStringAdmin 키O
REST_API_KEYStringREST API 키O
NATIVE_APP_KEYString네이티브 앱 키O
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/appKey" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND_ALL"
}'
// HTTP/2 200
{
"JAVASCRIPT_KEY": "72766341437b0571e72ec67c0dfec67e",
"ADMIN_KEY": "b9f13fcb71f82e6475ec7cf4a27b39b3",
"REST_API_KEY": "a9fab6fc1f2edfdd1650a336628ba07d",
"NATIVE_APP_KEY": "d8dc81d9f3e57b1c18a81d9257bb41a0"
}

앱의 특정 타입 앱 키 값을 조회합니다. 요청 시 payload 하위의 app_key_type로 조회할 앱 키의 타입을 지정해야 합니다. 앱 키 타입에 대한 자세한 정보는 앱 키를 참고합니다.

요청 처리 성공 시 응답은 payload에 지정한 타입에 해당하는 앱 키 값을 반환합니다.

이름타입설명필수
app_key_typeString값을 조회할 앱 키 타입, 아래 중 하나
  • JAVASCRIPT_KEY: JavaScript 키
  • ADMIN_KEY: Admin 키
  • REST_API_KEY: REST API 키
  • NATIVE_APP_KEY: 네이티브 앱 키
O
  • 요청 시 지정한 타입의 앱 키 값 문자열
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/appKey" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND",
"payload": {
"app_key_type": "JAVASCRIPT_KEY"
}
}'
// HTTP/2 200
"a13bed908810dccd1ec6fb4d273e4f86"

앱 ID에 해당하는 앱의 앱 키를 재발급합니다. 앱 키는 타입별로 재발급 가능하므로, 요청 시 재발급할 앱 키 타입을 명시해야 합니다.

앱 키는 재발급 후 기존 값으로 복구할 수 없습니다. 서비스에서 사용 중인 앱 키를 재발급할 경우 문제가 발생할 수 있으므로 주의해야 합니다.

요청 처리 성공 시 응답은 payload에 재발급된 앱 키 값을 반환합니다.

이름타입설명필수
app_key_typeString재발급할 앱 키 타입, 아래 중 하나
  • JAVASCRIPT_KEY: JavaScript 키
  • ADMIN_KEY: Admin 키
  • REST_API_KEY: REST API 키
  • NATIVE_APP_KEY: 네이티브 앱 키
O
  • 요청 시 지정한 타입의 재발급된 앱 키 값 문자열
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/appKey" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "REGENERATE",
"payload": {
"app_key_type": "JAVASCRIPT_KEY"
}
}'
// HTTP/2 200
"a608e9d6be692391de14f7ad636980c0"
  • :app_id 부분에 요청 대상 앱 ID를 입력해야 합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app/:app_id/platform
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
FIND앱 ID에 해당하는 앱의 플랫폼 정보를 조회합니다.

앱 ID에 해당하는 앱의 플랫폼 정보를 조회합니다. 앱의 플랫폼 정보는 Android, iOS, Web의 세 가지 플랫폼으로 이뤄져 있습니다. 자세한 구성은 AppPlatform을 참고합니다.

요청 처리 성공 시 응답은 앱의 플랫폼 정보를 payload에 포함합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND"
}'
// HTTP/2 200
{
"app_id": 977070,
"android": {
"package_name": "com.kakao.original",
"market_url": "market://details?id=com.kakao.original",
"key_hashes": ["${KEY_HASH}"]
},
"ios": {
"bundle_id": "com.kakao.IosSample"
},
"web": {
"web_site_url": ["https://developers.kakao.com"]
}
}
  • :app_id 부분에 요청 대상 앱 ID를 입력해야 합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app/:app_id/platform/android
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
FIND앱의 Android 플랫폼 상세 정보를 조회합니다.
UPDATE앱의 Android 플랫폼 상세 정보를 변경합니다.
DELETE앱의 Android 플랫폼 상세 정보를 삭제합니다.
FIND_KEY_HASH앱의 Android 키 해시(Key hash) 목록을 조회합니다.
ADD_KEY_HASH새로운 키 해시를 등록합니다.
REMOVE_KEY_HASH등록된 키 해시를 삭제합니다.
UPDATE_KEY_HASH등록된 키 해시를 교체합니다.
UPDATE_MULTI_MARKET_URLS멀티 마켓 URL을 추가합니다.

앱의 Android 플랫폼 상세 정보를 조회합니다. Android 플랫폼 상세 정보는 패키지명, 마켓 URL, 키 해시 목록으로 이뤄져 있습니다. 자세한 구성은 Android를 참고합니다.

요청 처리 성공 시 응답은 payload에 앱의 Android 플랫폼 상세 정보를 포함합니다. 앱에 Android 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload404 에러 코드와 안내 메시지를 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND"
}'
// HTTP/2 200
{
"package_name": "com.example.sample",
"market_url": "market://details?id=com.example.sample",
"key_hashes": ["${KEY_HASH}"]
}
// HTTP/2 404
{
"message": "${MESSAGE}"
}

앱의 Android 플랫폼 상세 정보를 변경합니다.

요청 처리 성공 시 응답은 payload에 앱의 변경된 Android 플랫폼 상세 정보를 포함합니다.

curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "UPDATE",
"payload": {
"package_name": "com.example.sample",
"market_url": "market://details?id=com.example.sample",
"key_hashes": ["${KEY_HASH}"]
}
}'
// HTTP/2 200
{
"package_name": "com.example.sample",
"market_url": "market://details?id=com.example.sample",
"key_hashes": ["${KEY_HASH}"]
}

앱의 Android 플랫폼 상세 정보를 삭제합니다. 앱의 다른 플랫폼 설정을 유지하고 Android 플랫폼 설정만 삭제하고 싶을 때 이 액션을 사용합니다.

요청 처리 성공 시 응답은 payload에 삭제된 Android 플랫폼 상세 정보를 포함합니다. 앱에 Android 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload404 에러 코드와 안내 메시지를 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "DELETE"
}'
// HTTP/2 200
{
"package_name": "com.example.sample",
"market_url": "market://details?id=com.example.sample",
"key_hashes": ["${KEY_HASH}"]
}
// HTTP/2 404
{
"message": "${MESSAGE}"
}

앱의 Android 키 해시(Key hash) 목록을 조회합니다.

요청 처리 성공 시 응답은 payload에 키 해시 목록을 포함합니다. 등록된 키 해시가 없을 경우 빈 배열을 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND_KEY_HASH"
}'
// HTTP/2 200
["${KEY_HASH}"]

새로운 키 해시를 등록합니다.

앱에는 여러 개의 키 해시를 등록할 수 있으므로, payload에 키 해시 값들을 배열로 전달합니다.

요청 처리 성공 시 응답은 payload에 키 해시 목록을 포함합니다.

이름타입설명필수
key_hashesString[]키 해시 목록X
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "ADD_KEY_HASH",
"payload": {
"key_hashes": ["${KEY_HASH_2}"]
}
}'
// HTTP/2 200
["${KEY_HASH_1}", "${KEY_HASH_2}"]

등록된 키 해시를 삭제합니다.

이 액션은 요청 시 지정된 키 해시만 삭제하므로, payload에 삭제할 키 해시 값을 지정해야 합니다.

요청 처리 성공 시 응답은 payload에 지정된 키 해시를 삭제한 후의 키 해시 목록을 포함합니다.

이름타입설명필수
key_hashesString[]키 해시 목록X
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "REMOVE_KEY_HASH",
"payload": {
"key_hashes": ["${KEY_HASH_1}"]
}
}'
// HTTP/2 200
["${KEY_HASH_2}"]

등록된 키 해시를 교체합니다. 이 액션은 ADD_KEY_HASH 액션과 달리 요청 시 전달된 값으로 키 해시 목록을 대체합니다. 따라서 키 해시를 추가할 경우에는 ADD_KEY_HASH 액션을, 키 해시 목록을 전체적으로 교체할 경우에는 UPDATE_KEY_HASH 액션을 각각 사용해야 합니다.

요청 시 payloadkey_hashes로 교체할 키 해시 목록을 전달해야 합니다. 빈 배열을 전달할 경우 기존의 키 해시 설정이 삭제되므로 주의합니다.

요청 처리 성공 시 응답은 payload에 교체된 키 해시 목록을 포함합니다.

이름타입설명필수
key_hashesString[]키 해시 목록X
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "UPDATE_KEY_HASH",
"payload": {
"key_hashes": ["${KEY_HASH}"]
}
}'
// HTTP/2 200
["${KEY_HASH}"]

멀티 마켓 URL을 추가합니다.

payload 하위의 multi_market_urls에 추가할 멀티 마켓 URL 목록을 전달합니다.

요청 처리 성공 시 응답은 앱에 등록된 마켓 URL 목록을 payload에 포함합니다.

이름타입설명필수
multi_market_urlsString[]마켓 URL 목록O
  • 쉼표(,)로 구분된 마켓 URL 목록
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "UPDATE_MULTI_MARKET_URLS",
"payload": {
"multi_market_urls": ["market://details?id=com.kakao.original","market://details?id=com.kakao.sub"]
}
}'
// HTTP/2 200
"market://details?id=com.kakao.original,market://details?id=com.kakao.sub"
  • :app_id 부분에 요청 대상 앱 ID를 입력해야 합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app/:app_id/platform/ios
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
FIND앱의 iOS 플랫폼 상세 정보를 조회합니다.
UPDATE앱의 iOS 플랫폼 상세 정보를 변경합니다.
DELETE앱의 iOS 플랫폼 상세 정보를 삭제합니다.
UPDATE_MULTI_MARKET_URLS멀티 마켓 URL을 추가합니다.

앱의 iOS 플랫폼 상세 정보를 조회합니다. iOS 플랫폼 상세 정보는 번들 ID, 앱스토어 ID, 마켓 URL로 구성돼 있습니다. 앱스토어 ID와 마켓 URL은 아이폰용, 아이패드용이 각각 존재합니다. 자세한 구성은 IOS를 참고합니다.

요청 처리 성공 시 응답은 payload에 앱의 iOS 플랫폼 상세 정보를 포함합니다. 앱에 iOS 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload404 에러 코드와 안내 메시지를 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND"
}'
// HTTP/2 200
{
"bundle_id": "com.kakao.sample",
"iphone_app_store_id": 123456,
"iphone_market_url": "https://itunes.apple.com/app/id123456"
}
// HTTP/2 404
{
"message": "${MESSAGE}"
}

앱의 iOS 플랫폼 상세 정보를 변경합니다. 아이폰 앱스토어 ID와 아이패드 앱스토어 ID는 각각의 마켓 URL과 함께 등록해야 합니다.

요청 처리 성공 시 응답은 payload에 앱의 iOS 플랫폼 상세 정보를 포함합니다.

curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "UPDATE",
"payload": {
"bundle_id": "com.example.sample",
"iphone_app_store_id": 123456,
"iphone_market_url": "https://itunes.apple.com/app/id123456"
}
}'
// HTTP/2 200
{
"bundle_id": "com.example.sample",
"iphone_app_store_id": 123456,
"iphone_market_url": "https://itunes.apple.com/app/id123456"
}

앱의 iOS 플랫폼 상세 정보를 삭제합니다.

요청 처리 성공 시 응답은 payload에 삭제된 iOS 플랫폼 상세 정보를 포함합니다. 앱에 iOS 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload404 에러 코드와 안내 메시지를 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "DELETE"
}'
// HTTP/2 200
{
"bundle_id": "com.example.sample",
"iphone_app_store_id": 123456,
"iphone_market_url": "https://itunes.apple.com/app/id123456"
}
// HTTP/2 404
{
"message": "${MESSAGE}"
}

멀티 마켓 URL을 추가합니다.

payload 하위의 multi_market_urls에 추가할 멀티 마켓 URL 목록을 전달합니다.

요청 처리 성공 시 응답은 앱에 등록된 마켓 URL 목록을 payload에 포함합니다.

이름타입설명필수
multi_market_urlsString[]마켓 URL 목록O
  • 쉼표(,)로 구분된 마켓 URL 목록
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "UPDATE_MULTI_MARKET_URLS",
"payload": {
"multi_market_urls": ["https://itunes.apple.com/app/id234567","https://itunes.apple.com/app/id345678"]
}
}'
// HTTP/2 200
"https://itunes.apple.com/app/id234567,https://itunes.apple.com/app/id345678"
  • :app_id 부분에 요청 대상 앱 ID를 입력해야 합니다.
메서드호스트리소스
POSTinternal-admin-kapi.kakao.com/app/:app_id/platform/web
* 모든 어드민 API는 사내망에서만 호출 가능, 인증 필요
이름설명
FIND앱의 Web 플랫폼 상세 정보를 조회합니다.
UPDATE앱의 Web 플랫폼 상세 정보를 변경합니다.
DELETE앱의 Web 플랫폼 상세 정보를 삭제합니다.
ADD_WEB_SITE_URL사이트 도메인을 추가합니다.

앱의 Web 플랫폼 상세 정보를 조회합니다. Web 플랫폼의 상세 정보는 사이트 도메인 목록만으로 이뤄져 있으며, Web을 참고합니다.

요청 처리 성공 시 응답은 payload에 Web 플랫폼 상세 정보를 포함합니다. 앱에 Web 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload404 에러 코드와 안내 메시지를 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "FIND"
}'
// HTTP/2 200
{
"web_site_url": ["https://developers.kakao.com"]
}
// HTTP/2 404
{
"message": "${MESSAGE}"
}

앱의 Web 플랫폼 상세 정보를 변경합니다.

요청 처리 성공 시 응답은 payload에 변경된 Web 플랫폼 상세 정보를 포함합니다.

curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "UPDATE",
"payload": {
"web_site_url": ["https://developers.kakao.com", "https://www.kakao.com"]
}
}'
// HTTP/2 200
{
"web_site_url": ["https://developers.kakao.com", "https://www.kakao.com"]
}

앱의 Web 플랫폼 상세 정보를 삭제합니다.

요청 처리 성공 시 응답은 payload에 삭제된 Web 플랫폼 상세 정보를 포함합니다. 앱에 Web 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload404 에러 코드와 안내 메시지를 반환합니다.

  • 없음
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d '{
"name": "DELETE"
}'
// HTTP/2 200
{
"web_site_url": ["https://developers.kakao.com", "https://www.kakao.com"]
}
// HTTP/2 404
{
"message": "${MESSAGE}"
}

사이트 도메인을 추가합니다.

payload 하위의 web_site_url에 추가할 사이트 도메인 목록을 전달합니다.

요청 처리 성공 시 응답은 사이트 도메인 목록을 payload에 포함합니다.

이름타입설명필수
web_site_urlString[]사이트 도메인 목록O
이름타입설명필수
web_site_urlString[]사이트 도메인 목록O
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \
-H "Content-Type: application/json; charset=utf-8" \
-H "ADMIN-API-META-RENDER: simple" \
-u "${GROUP_NAME}:${GROUP_TOKEN}" \
-H "ADMIN-API-USERID: ${USER_INFO}" \
-d $'{
"name": "ADD_WEB_SITE_URL",
"payload": {
"web_site_url": ["https://developers.kakao.com","https://devtalk.kakao.com"]
}
}'
// HTTP/2 200
{
"web_site_url": ["https://developers.kakao.com", "https://devtalk.kakao.com"]
}

도움이 되었나요?