페이지 이동경로
  • Docs>
  • Kakao Moment>
  • Ad creation: Display creative

Kakao Moment

Ad creation: Creative

This document describes how to use the Creative APIs.

Before you begin

Creative type

After the update on September 5, 2024, you can create the following type of creatives by campaign type:

Campaign type Creative type Promotional image Profile image
Display Image catalog (CATALOG_MANUAL) Promotional image in slide: 500x500 pixel or more (9:16), 500 KB, JPG/JPEG/PNG
Minimum of 4, maximum of 10 can be set
300 x 300 pixels or more (1:1), 500KB, JPG/JPEG/PNG

After the update on August 30, 2023, you can create the following type of creatives by campaign type:

Campaign type Creative type Promotional image Profile image
Display Image native (IMAGE_NATIVE) 720 x 1280 pixels or more (9:16), 500KB, JPG/JPEG/PNG 300 x 300 pixels or more (1:1), 500KB, JPG/JPEG/PNG

After the update on February 21, 2023, you can create the following type of creatives by campaign type:

Campaign type Creative type Promotional image Profile image
Kakao Bizboard Image banner (IMAGE_BANNER) 1029 x 258, 300KB, PNG-24
Display Image native (IMAGE_NATIVE) 500 x 500 pixels or more (1:1), 500KB, JPG/JPEG/PNG
1200 x 600 pixels or more (2:1), 500KB, JPG/JPEG/PNG
300 x 300 pixels or more (1:1), 500KB, JPG/JPEG/PNG

Creative landing type

You can now use various creative landing types and landing settings, along with the URL that has been provided already. You can set a creative landing type only under the 'Kakao Bizboard' type of campaign.

We now provide the APIs that retrieve a list to set a landing type, but do not provide the APIs to create an Ad View, Business Form, or others. In the case of purchases using Kakao Pay, you are only allowed to retrieve, not create or modify.

You can check how to use each creative landing type in the table below.

Type Parameter
URL Use mobileLandingUrl to set a URL.
Chatbot, Channel Web View Use the Viewing list of Kakao Talk Channel profiles API.
Ad View Use the Viewing list of Ad Views for landing settings API.
Business Form Use the Viewing list of Business Forms landing types API.
Channel Post Use Channel Post ID.

Create Display creative

Basic information
Method URL Authorization
POST https://apis.moment.kakao.com/openapi/v4/creatives Business token
Permission Prerequisite Business Authentication Business consent items
Required:
Request permission
Switch to a Biz app
Set Business redirect URI
Business consent items
Required Required

This API enables you to create a Display creative. When you request, you must set format (Creative format) to either IMAGE_BANNER, IMAGE_NATIVE or CATALOG_MANUAL. Depending on the specified creative format, you need to pass different parameters when you request. For example, pass imageFileUrl for the image banner format, pass both imageFileUrl and profileImageFileUrl for the image native format, and pass both assetGroups list and profileImageFileUrl for the image catalog format.

This API supports two types of Content-Type to create an image — application/json and multipart/form-data.

  • application/json: Pass the creative's image path with http:// or https:// URI scheme through the imageFileUrl parameter.
  • multipart/form-data: Pass the creative's local file path through the imageFile parameter.

Send a POST request with the issued Business token and an ad account ID (adAccountId) in the request header. If the request is successful, this API returns the detailed information of the created creative. If failed, refer to Error code to figure out its failure cause.

You cannot create a creative under the 'Bizboard X Reach(도달)' or 'Daum Shopping' type of campaign.

This API limits the number of calls you can make every second per user account and ad account.

Landing URL

Landing URL has three types — URL for PC (pcLandingUrl), URL for mobile (mobileLandingUrl), and responsive URL(rspvLandingUrl). You must set at least one landing URL among these three types even though each URL is not required.
The responsive URL cannot be set with other types.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body: IMAGE_BANNER
Name Type Description Required
adGroupId Long Ad group's ID. O
format String Creative's type.
Fixed to IMAGE_BANNER.
O
imageFileUrl String Promotional image.
Image size: 1029x258
File Size: 300KB
File format: PNG-24
Pass a URL with http:// or https:// scheme.
Required in case of application/json.
imageFile Multipart File Promotional image.
Image size: 1029x258
File Size: 300KB
File format: PNG-24
Pass the local file path.
Required in case of multipart/form-data.
landingInfo LandingInfo Landing type.
Allowed to set the landing type of creatives only under the 'Kakao Bizboard' type of campaign.
X
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
Not allowed to set for the 'Kakao Bizboard' type of campaign.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
Not allowed to set for the 'Kakao Bizboard' type of campaign.
X
altText String Description of the creative.
Used for voice guidance for people with disabilities.
Up to 30 characters are allowed.
Special characters are not allowed.
O
name String Creative's name.
Up to 50 characters are allowed.
If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format.
X
opinion String Opinion for ad verification.
Up to 1,000 characters.
X
opinionProofFileUrlList String[] Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
opinionProofFileList Multipart File Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass the local file path.
X
Available in case of multipart/form-data.
Body: IMAGE_NATIVE
Name Type Description Required
adGroupId Long Ad group's ID. O
format String Creative's type.
Fixed to IMAGE_NATIVE.
O
profileImageFileUrl String Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
Required in case of application/json.
profileImageFile Multipart File Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
Required in case of multipart/form-data.
imageFileUrl String Promotional image.
Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
Required in case of application/json.
imageFile Multipart File Promotional image.
Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
Required in case of multipart/form-data.
title String Title.
Up to 25 characters are allowed.
O
profileName String Profile name.
Up to 20 characters are allowed.
O
description String Promotional text.
Up to 45 characters are allowed.
O
actionButton ActionButton Call-to-action button. O
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
Not allowed to set for the 'Kakao Bizboard' type of campaign.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
Not allowed to set for the 'Kakao Bizboard' type of campaign.
X
altText String Description of the creative.
Used for voice guidance for people with disabilities.
Up to 30 characters are allowed.
Special characters are not allowed.
O
name String Creative's name.
Up to 50 characters are allowed.
If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format.
X
opinion String Opinion for ad verification.
Up to 1,000 characters.
X
opinionProofFileUrlList String[] Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
opinionProofFileList Multipart File Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass the local file path.
X
Available in case of multipart/form-data.
Body: CATALOG_MANUAL
Name Type Description Required
adGroupId Long Ad group's ID. O
format String Creative's type.
Fixed to CATALOG_MANUAL.
O
profileImageFileUrl String Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
Required in case of application/json.
profileImageFile Multipart File Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
Required in case of multipart/form-data.
assetGroups AssetGroup[] Slide item of CATALOG_MANUAL. (Minimum: 4, Maximum: 10)
profileName String Profile name.
Up to 20 characters are allowed.
O
actionButton ActionButton Call-to-action button. O
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
X
name String Creative's name.
Up to 50 characters are allowed.
If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format.
X
opinion String Opinion for ad verification.
Up to 1,000 characters.
X
opinionProofFileUrlList String[] Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
opinionProofFileList Multipart File Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass the local file path.
X
Available in case of multipart/form-data.
LandingInfo
Name Type Description
landingType LandingType Landing type.
profileId String Kakao Talk Channel's profile ID if PF_BOT (Chatbot) or CHANNEL_WEBVIEW is set for a landing type.
Pass the Kakao Talk Channel's profile ID obtained through the Viewing list of Kakao Talk Channel profiles API.
action String Keyword if PF_BOT (Chatbot) is set for a landing type.
adViewItem AdViewItem Ad View object if AD_VIEW is set for a landing type.
Pass the id obtained through the Viewing list of Ad Views for landing settings API.
url String URL if CHANNEL_WEBVIEW (Channel Web View) is set for a landing type.
bizFormId Long Business Form's ID if BIZ_FORM (Business Form) is set for a landing type.
Pass the bizFormId obtained through the Viewing list of Business Forms for landing settings API.
channelPostId Long Channel post ID if CHANNEL_POST is set for a landing type.
Pass the Post ID obtained through the Viewing list of Channel Posts for landing settings API.
LandingType
Name Description
PF_BOT Chatbot
AD_VIEW Ad View
CHANNEL_WEBVIEW Channel Web View
BIZ_FORM Business Form
CHANNEL_POST Channel Post
AdViewItem
Name Type Description
id Long Ad View's ID.
AssetGroup
Name Type Description Required
ordering Integer Slide order
Required to create creatives.
Not available when modifying, set automatically as the order of the list in the contents.
O
imageFileUrl String Slide image
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
Required in case of application/json.
imageFile Multipart File Slide image
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
Required in case of multipart/form-data.
title String Title
Up to 25 characters are allowed.
O
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
X
description String Promotional text.
Up to 40 characters are allowed.
X
priceAmount String Price information(Minimum: 0, Maximum: 9999999999)
Integers only when CurrencyCode is KRW or JPY
Up to 2 decimal places when CurrencyCode is USD, EUR
To use priceAmount, priceCurrencyCode is required.
X
priceCurrencyCode String Currency
One of KRW, USD, JPY, and EUR
To use priceCurrencyCode, priceAmount and discountedPriceAmount are required.
X
discountedPriceAmount String Discounted price information(Minimum: 0, Maximum: 9999999999)
Integers only when CurrencyCode is KRW or JPY
Up to 2 decimal places when CurrencyCode is USD, EUR
discountedPriceAmount must be less than priceAmount
To use discountedPriceAmount, priceAmount and priceCurrencyCode are required.
X

Response

Body: IMAGE_BANNER
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
adGroupId Long Ad group's ID.
format String Creative's type.
IMAGE_BANNER
image Image Uploaded promotional image.
landingInfo LandingInfo Specified data for landing.
pcLandingUrl String Landing URL for PC.
mobileLandingUrl String Landing URL for mobile.
rspvLandingUrl String Responsive landing URL.
altText String Description of the creative.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
systemConfig String Creative's system status.
Either ON or ADMIN_STOP.
name String Creative's name.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
statusDescription String Current status of creative.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.
rejectedReason String[] Reasons for rejection of creative (Empty array).
Body: IMAGE_NATIVE
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
adGroupId Long Ad group's ID.
format String Creative's type.
Fixed to IMAGE_NATIVE.
profileImage Image Uploaded profile image.
image Image Uploaded promotional image.
title String Title.
profileName String Profile name.
description String Promotional text.
actionButton String Call-to-action button.
pcLandingUrl String Landing URL for PC.
mobileLandingUrl String Landing URL for mobile.
rspvLandingUrl String Responsive landing URL.
altText String Description of the creative.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
systemConfig String Creative's system status.
Either ON or ADMIN_STOP.
name String Creative's name.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
statusDescription String Current status of creative.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.
rejectedReason String[] Reasons for rejection of creative (Empty array).
Body: CATALOG_MANUAL
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
adGroupId Long Ad group's ID.
format String Creative's type.
Fixed to CATALOG_MANUAL.
profileImage Image Uploaded profile image.
assetGroups AssetGroup[] Slide item.
profileName String Profile name.
actionButton String Call-to-action button.
pcLandingUrl String Landing URL for PC.
mobileLandingUrl String Landing URL for mobile.
rspvLandingUrl String Responsive landing URL.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
systemConfig String Creative's system status.
Either ON or ADMIN_STOP.
name String Creative's name.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
statusDescription String Current status of creative.
creativeStatus String Creative's operation status.
One of the followings:
- OPERATING: Possible to opearate.
- UNAPPROVED: Unapproved.
- INVALID_DATE: Invalid date.
- MONITORING_REJECTED: Admin suspended.
- OFF: User OFF.
- DELETED: Deleted.
- ADGROUP_UNAVAILABLE: Impossible to operate ad group.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.
rejectedReason String[] Reasons for rejection of creative (Empty array).

Sample

Request: application/json
Image banner
Image native
Catalog manual
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
    -H "Content-Type: application/json" \
    -d '{
            "adGroupId":1234,
            "format":"IMAGE_BANNER",
            "imageFileUrl":"https://www.image.com/sample.png",
            "altText":"creative_description",
            "landingInfo": {
                "landingType":"AD_VIEW",
                "adViewItem":{"id":1}
            },
            "name": "first_image_banner"
        }'
curl -X POST "http://api.moment.kakao.com/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
            \"adGroupId\":5678,
            \"format\":\"IMAGE_NATIVE\",
            \"profileImageFileUrl\":\"http://www.company.com/images/sample_image_native.jpg\",
            \"imageFileUrl\":\"http://www.company.com/images/sample_image_banner.jpg\",
            \"title\":\"title\",
            \"profileName\":\"profile_name\",
            \"description\":\"promotional_text\",
            \"actionButton\":\"JOIN\",            
            \"altText\":\"creative_description\",
            \"mobileLandingUrl\":\"http://www.daum.net\",
            \"name\":\"register_native_cerative\"
        }'
curl -X POST 'https://apis.moment.kakao.com/openapi/v4/creatives' \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "adGroupId": 1234,
            "format": "CATALOG_MANUAL",
            "profileName": "PROFILE_NAME",
            "profileImageFileUrl": "https://example.com/test/profileImageProfile.jpg",
            "assetGroups": [
                {
                    "ordering": 0,
                    "imageFileUrl": "https://example.com/test/asset1.jpg",
                    "title": "title1",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                },
                {
                    "ordering": 1,
                    "imageFileUrl": "https://example.com/test/asset2.jpg",
                    "title": "title2",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                },
                {
                    "ordering": 2,
                    "imageFileUrl": "https://example.com/test/asset3.jpg",
                    "title": "title3",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                },
                {
                    "ordering": 3,
                    "imageFileUrl": "https://example.com/test/asset4.jpg",
                    "title": "title4",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                }
            ],
            "rspvLandingUrl": "https://www.kakakcorp.com",
            "actionButton": "JOIN"
        }'
Request: multipart/form-data
Image banner
Image native
Catalog manual
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: multipart/form-data" \
    -F "adGroupId=1234" \
    -F "format=IMAGE_BANNER" \
    -F "imageFile=@local_640X200_image_path" \
    -F "altText=creative_description" \
    -F "name=first_image_banner" \
    -F "mobileLandingUrl=http://www.daum.net" \
    -F "landingInfo.landingType=AD_VIEW" \
    -F "landingInfo.adViewItem.id=search_query"
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: multipart/form-data" \
    -F "adGroupId=17181" \
    -F "format=IMAGE_NATIVE" \
    -F "profileImageFile=@local_300X300_image_path" \
    -F "imageFile=@local_640X480_image_path" \
    -F "title=title" \
    -F "altText=creative_description" \
    -F "profileName=profile_name" \
    -F "description=promotional_text" \
    -F "actionButton=JOIN" \
    -F "mobileLandingUrl=http://www.daum.net"
curl -X POST 'https://apis.moment.kakao.com/openapi/v4/creatives' \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: multipart/form-data" \
    -F "adGroupId=1234" \
    -F "format=CATALOG_MANUAL" \
    -F "profileName=프로필이름" \
    -F "profileImageFile=@로컬_이미지_경로" \
    -F "rspvLandingUrl=https://www.kakaocorp.com" \
    -F "actionButton=JOIN" \
    -F "assetGroups[0].ordering=0" \
    -F "assetGroups[0].imageFile=@로컬_이미지1_경로" \
    -F "assetGroups[0].title=ImageTitle1" \
    -F "assetGroups[0].rspvLandingUrl=https://www.kakaocorp.com" \
    -F "assetGroups[1].ordering=1" \
    -F "assetGroups[1].imageFile=@로컬_이미지2_경로" \
    -F "assetGroups[1].title=ImageTitle2" \
    -F "assetGroups[1].rspvLandingUrl=https://www.kakaocorp.com" \
    -F "assetGroups[2].ordering=2" \
    -F "assetGroups[2].imageFile=@로컬_이미지3_경로" \
    -F "assetGroups[2].title=ImageTitle3" \
    -F "assetGroups[2].rspvLandingUrl=https://www.kakaocorp.com" \
    -F "assetGroups[3].ordering=3" \
    -F "assetGroups[3].imageFile=@로컬_이미지4_경로" \
    -F "assetGroups[3].title=ImageTitle4" \
    -F "assetGroups[3].rspvLandingUrl=https://www.kakaocorp.com"
Response
Image banner
Image native
Catalog manual
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1,
    "creativeId": 2,
    "adGroupId": 1234,
    "format": "IMAGE_BANNER",
    "name": "first_image_banner",
    "landingInfo": {
        "landingType": "AD_VIEW",
        "adViewItem": {"id":1}
    },
    "pcLandingUrl": null,
    "mobileLandingUrl": "&bid=null&DA=XYZ",
    "rspvLandingUrl": null,
    "frequencyCap": null,
    "frequencyCapType": "AUTO",
    "config": "ON",
    "systemConfig": "ON",
    "reviewStatus": "WAITING",
    "image": {
        "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
        "fileName": "sample.jpeg",
        "width": 640,
        "height": 100,
        "size": 50000
    },
    "altText": "creative_description",
    "statusDescription": "심사중",
    "createdDate": "2020-01-01T00:00:00.00000",
    "lastModifiedDate": "2020-01-01T00:00:00.000000",
    "rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1234,
    "creativeId": 1235,
    "adGroupId": 5678,
    "format": "IMAGE_NATIVE",
    "name": "register_moment_creative",
    "pcLandingUrl": null,
    "mobileLandingUrl": "http://www.daum.net",
    "rspvLandingUrl": null,
    "frequencyCap": null,
    "frequencyCapType": "AUTO",
    "config": "ON",
    "systemConfig": "ON",
    "reviewStatus": "WAITING",
    "image": {
        "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpg",
        "fileName": "sample_image_banner.jpg",
        "width": 640,
        "height": 480,
        "size": 100000
    },
    "title": "title",
    "actionButton": "JOIN",
    "profileName": "profile_name",
    "profileImage": {
        "url": "http://xxx.kakao.co.kr/sample_image_native_xxx.jpg",
        "fileName": "sample_image_native.jpeg",
        "width": 300,
        "height": 300,
        "size": 50000
    },
    "altText": "creative_description",
    "description": "promotional_text",
    "statusDescription": "심사중",
    "createdDate": "2020-01-01T00:00:00.000000",
    "lastModifiedDate": "2020-01-01T00:00:00.000000",
    "rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1324,
    "creativeId": 1235,
    "format": "CATALOG_MANUAL",
    "name": "NAME",
    "adGroupId": 1234,
    "pcLandingUrl": null,
    "mobileLandingUrl": null,
    "rspvLandingUrl": "https://www.daum.net",
    "frequencyCap": null,
    "frequencyCapType": "AUTO",
    "config": "ON",
    "systemConfig": "ON",
    "reviewStatus": "WAITING",
    "creativeStatus": "UNAPPROVED",
    "assetGroups": [
        {
            "assetGroupId": 1234,
            "ordering": 0,
            "image": {
                "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
                "fileName": "sample.jpg",
                "width": 500,
                "height": 500,
                "size": 18238,
                "mimeType": "image/jpeg"
            },
            "title": "TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        },
        {
            "assetGroupId": 1235,
            "ordering": 1,
            "image": {
                "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
                "fileName": "sample.jpg",
                "width": 500,
                "height": 500,
                "size": 43537,
                "mimeType": "image/jpeg"
            },
            "title": "TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        },
        {
            "assetGroupId": 1236,
            "ordering": 2,
            "image": {
                "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
                "fileName": "sample.jpeg",
                "width": 900,
                "height": 900,
                "size": 45241,
                "mimeType": "image/jpeg"
            },
            "title": "TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        },
        {
            "assetGroupId": 1237,
            "ordering": 3,
            "image": {
                "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
                "fileName": "sample.png",
                "width": 1080,
                "height": 1080,
                "size": 266029,
                "mimeType": "image/png"
            },
            "title": "TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        }
    ],
    "profileName": "PROFILE_NAME",
    "profileImage":{
        "url": "http://xxx.kakao.co.kr/sample_image_native_xxx.jpg",
        "fileName": "sample_image_native.jpeg",
        "width": 300,
        "height": 300,
        "size": 50000
    },
    "videoSkippableType": null,
    "statusDescription": "심사중",
    "rejectedReason": [],
    "createdDate": "2020-01-01T00:00:00.000000",
    "lastModifiedDate": "2020-01-01T00:00:00.000000",
    "hasExpandable": false,
    "opinionProof": null
}

Edit Display creative

Basic information
Method URL Authorization
PUT https://apis.moment.kakao.com/openapi/v4/creatives Business token
Permission Prerequisite Business Authentication Business consent items
Required:
Request permission
Switch to a Biz app
Set Business redirect URI
Business consent items
Required Required

This API enables you to edit a Display creative. Depending on the creative type, you need to pass different parameters when you request. For example, pass imageFileUrl for image banner format, and pass both imageFileUrl and profileImageFileUrl for image native format.

This API supports two types of Content-Type to create an image — application/json and multipart/form-data.

  • application/json: Pass the creative's image path in http:// or https:// URI scheme through the imageFileUrl parameter.
  • multipart/form-data: Pass the creative's local file path through the imageFile parameter.

No matter which type you request, the result of editing a creative is the same. If there is no imageFileUrl or profileImageFileUrl in the request body, the image that has previously registered is used.

Send a PUT request with the issued Business token and an ad account ID (adAccountId) in the request header. If the request is successful, this API returns the detailed information of the modified creative. If failed, refer to Error code to figure out its failure cause.

You cannot edit a creative under the 'Bizboard X Reach(도달)' or 'Daum Shopping' type of campaign.

This API limits the number of calls you can make every second per user account and ad account.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body: IMAGE_BANNER
Name Type Description Required
id Long Original creative ID for execution. O
adGroupId Long Ad group's ID. O
format String Creative's type.
Fixed to IMAGE_BANNER.
O
imageFileUrl String Promotional image.
Image size: 1029x258
File Size: 300KB
File format: PNG-24
Pass a URL with http:// or https:// scheme.
Required in case of application/json.
imageFile Multipart File Promotional image.
Image size: 1029x258
File Size: 300KB
File format: PNG-24
Pass the local file path.
Required in case of multipart/form-data.
landingInfo LandingInfo Data to be set for landing.
Not allowed to request three types of the landing URL at once.
X
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
Not allowed to set for the 'Kakao Bizboard' type of campaign.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
Not allowed to set for the 'Kakao Bizboard' type of campaign.
X
altText String Description of the creative.
Used for voice guidance for people with disabilities.
Up to 30 characters are allowed.
Special characters are not allowed.
O
name String Creative's name.
Up to 50 characters are allowed.
If you do not specify, the name specified when creating the creative is used.
X
opinion String Opinion for ad verification.
Up to 1,000 characters.
X
opinionProofFileUrlList String[] Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
opinionProofFileList Multipart File Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass the local file path.
X
Available in case of multipart/form-data.
Body: IMAGE_NATIVE
Name Type Description Required
id Long Original creative ID for execution. O
adGroupId Long Ad group's ID. O
format String Creative type.
Fixed to IMAGE_NATIVE.
O
profileImageFileUrl String Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
Required in case of application/json.
profileImageFile Multipart File Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
Required in case of multipart/form-data.
imageFileUrl String Promotional image.
Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
X
Required in case of application/json.
imageFile Multipart File Promotional image.
Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
X
Required in case of multipart/form-data.
title String Title.
Up to 25 characters are allowed.
O
profileName String Profile name.
Up to 20 characters are allowed.
O
description String Promotional text.
Up to 45 characters are allowed.
O
actionButton ActionButton Call-to-action button. O
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
X
altText String Description of the creative.
Used for voice guidance for people with disabilities.
Up to 30 characters are allowed.
Special characters are not allowed.
O
name String Creative's name.
Up to 50 characters are allowed.
If you do not specify, the name specified when creating the creative is used.
X
opinion String Opinion for ad verification.
Up to 1,000 characters.
X
opinionProofFileUrlList String[] Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
opinionProofFileList Multipart File Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass the local file path.
X
Available in case of multipart/form-data.
Body: CATALOG_MANUAL
Name Type Description Required
id Long Original creative ID for execution. O
adGroupId Long Ad group's ID. O
format String Creative's type.
Fixed to CATALOG_MANUAL.
O
profileImageFileUrl String Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
profileImageFile Multipart File Profiel image.
Image size: 300 x 300 pixels or more (1:1)
File Size: 500 KB
File format: JPG/JPEG/PNG
Pass the local file path.
X
Available in case of multipart/form-data.
assetGroups AssetGroup[] Slide item of CATALOG_MANUAL. (Minimum: 4, Maximum: 10) O
profileName String Profile name.
Up to 20 characters are allowed.
O
actionButton ActionButton Call-to-action button. O
pcLandingUrl String Representative landing URL for PC.
Pass a valid URL with http:// or https:// scheme.
X
mobileLandingUrl String Representative landing URL for mobile.
Pass a valid URL with http:// or https:// scheme.
X
rspvLandingUrl String Representative responsive landing URL.
Pass a valid URL with http:// or https:// scheme.
X
name String Creative's name.
Up to 50 characters are allowed.
If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format.
X
opinion String Opinion for ad verification.
Up to 1,000 characters.
X
opinionProofFileUrlList String[] Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass a valid URL with http:// or https:// scheme.
X
Available in case of application/json.
opinionProofFileList Multipart File Material for ad verification.
File format: JPG, JPEG, PNG, PDF
Total file size: 10 MB or less
Up to 10 files are allowed.
Pass the local file path.
X
Available in case of multipart/form-data.
Landing URL

Landing URL has three types — URL for PC (pcLandingUrl), URL for mobile (mobileLandingUrl), and responsive URL(rspvLandingUrl). You must set at least one landing URL among these three types even though each URL is not required.
The Video native and Image box among Display ad creatives do not support landing URLs by type.

Response

Body: IMAGE_BANNER
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
adGroupId Long Ad group's ID.
format String Creative's type.
IMAGE_BANNER
image Image Uploaded promotional image.
landingInfo LandingInfo Specified data for landing.
pcLandingUrl String Landing URL for PC.
mobileLandingUrl String Landing URL for mobile.
rspvLandingUrl String Responsive landing URL.
frequencyCapType String Auto setting type of frequency capping.
frequencyCap Integer Frequency capping.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
name String Creative's name.
altText String Description of the creative.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
statusDescription String Current status of creative.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.
rejectedReason String[] Reasons for rejection of creative (Empty array).
Body: IMAGE_NATIVE
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
adGroupId Long Ad group's ID.
format String Creative's type.
IMAGE_NATIVE
profileImage Image Uploaded profile image.
image Image Uploaded promotional image.
title String Title.
profileName String Profile name.
description String Promotional text.
actionButton String Call-to-action button.
pcLandingUrl String Landing URL for PC.
mobileLandingUrl String Landing URL for mobile.
rspvLandingUrl String Responsive landing URL.
frequencyCapType String Auto setting type of frequency capping.
frequencyCap Integer Frequency capping.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
name String Creative's name.
altText String Description of the creative.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
statusDescription String Current status of creative.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.
rejectedReason String[] Reasons for rejection of creative (Empty array).
Body: CATALOG_MANUAL
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
adGroupId Long Ad group's ID.
format String Creative's type.
Fixed to CATALOG_MANUAL.
profileImage Image Uploaded profile image.
profileName String Profile name.
assetGroups AssetGroup[] Slide item.
actionButton String Call-to-action button.
pcLandingUrl String Landing URL for PC.
mobileLandingUrl String Landing URL for mobile.
rspvLandingUrl String Responsive landing URL.
frequencyCapType String Auto setting type of frequency capping.
frequencyCap Integer Frequency capping.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
systemConfig String Creative's system status.
Either ON or ADMIN_STOP.
name String Creative's name.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
creativeStatus String Creative's operation status.
One of the followings:
- OPERATING: Possible to opearate.
- UNAPPROVED: Unapproved.
- INVALID_DATE: Invalid date.
- MONITORING_REJECTED: Admin suspended.
- OFF: User OFF.
- DELETED: Deleted.
- ADGROUP_UNAVAILABLE: Impossible to operate ad group.
statusDescription String Current status of creative.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.
rejectedReason String[] Reasons for rejection of creative (Empty array).

Sample

Request: application/json
Image banner
Image native
Catalog manual
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "id":1234,
            "adGroupId":5678,
            "format":"IMAGE_BANNER",
            "imageFileUrl":"http://www.company.com/images/sample_image_banner.jpg",
            "altText":"edit_creative_description",
            "mobileLandingUrl":"http://www.daum.net",
            "name":"edit_image"
        }'
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "id":1234,
            "adGroupId":5678,
            "format":"IMAGE_NATIVE",
            "profileImageFileUrl":"http://www.company.com/images/sample_image_native.jpg",
            "imageFileUrl":"http://www.company.com/images/sample_image_banner.jpg",
            "altText":"edit_creative_description",
            "title":"edit_title",
            "profileName":"edit_profile_name",
            "altText":"edit_creative_description",
            "description":"edit_promotional_text",
            "actionButton":"JOIN",
            "mobileLandingUrl":"http://www.daum.net",
            "name":"edit_native_creative"
        }'
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: application/json" \
    -d '{
            "id": 1
            "adGroupId": 1234,
            "format": "CATALOG_MANUAL",
            "profileName": "프로필이름_수정",
            "name":"카탈로그_소재_수정",
            "profileImageFileUrl": "https://example.com/test/profileImageProfile.jpg",
            "assetGroups": [
                {
                    "ordering": 0,
                    "imageFileUrl": "https://example.com/test/asset1.jpg",
                    "title": "title1",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                },
                {
                    "ordering": 1,
                    "imageFileUrl": "https://example.com/test/asset2.jpg",
                    "title": "title2",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                },
                {
                    "ordering": 2,
                    "imageFileUrl": "https://example.com/test/asset3.jpg",
                    "title": "title3",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                },
                {
                    "ordering": 3,
                    "imageFileUrl": "https://example.com/test/asset4.jpg",
                    "title": "title4",
                    "rspvLandingUrl": "https://www.kakakcorp.com/"
                }
            ],
            "rspvLandingUrl": "https://www.kakakcorp.com",
            "actionButton": "JOIN"
        }'
Request: multipart/form-data
Image banner
Image native
Catalog manual
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: multipart/form-data" \
    -F "id=1234" \
    -F "adGroupId=5678" \
    -F "format=IMAGE_BANNER" \
    -F "imageFile=@local_640X200_image_path" \
    -F "altText=edit_creative_description" \
    -F "mobileLandingUrl=http://www.daum.net"
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: multipart/form-data" \
    -F "id=1234" \
    -F "adGroupId=5678" \
    -F "format=IMAGE_NATIVE" \
    -F "profileImageFile=@local_300X300_image_path" \
    -F "imageFile=@local_640X480_image_path" \
    -F "altText=edit_creative_description" \
    -F "title=edit_title" \
    -F "profileName=edit_profile_name" \
    -F "description=edit_promotional_text" \
    -F "actionButton=JOIN" \
    -F "mobileLandingUrl=http://www.daum.net"
curl -X PUT 'https://apis.moment.kakao.com/openapi/v4/creatives' \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -H "Content-Type: multipart/form-data" \
    -F "id=1" \
    -F "adGroupId=1234" \
    -F "format=CATALOG_MANUAL" \
    -F "profileName=PROFILENAME_MODIFY" \
    -F "profileImageFile=@로컬_이미지_경로" \
    -F "name=NAME_MODIFY" \
    -F "rspvLandingUrl=https://www.kakaocorp.com" \
    -F "actionButton=JOIN" \
    -F "assetGroups[0].ordering=0" \
    -F "assetGroups[0].imageFile=@IMAGE1_LOCAL_PATH" \
    -F "assetGroups[0].title=ImageTitle1" \
    -F "assetGroups[0].rspvLandingUrl=https://www.kakaocorp.com" \
    -F "assetGroups[1].ordering=1" \
    -F "assetGroups[1].imageFile=@IMAGE2_LOCAL_PATH" \
    -F "assetGroups[1].title=ImageTitle2" \
    -F "assetGroups[1].rspvLandingUrl=https://www.kakaocorp.com" \
    -F "assetGroups[2].ordering=2" \
    -F "assetGroups[2].imageFile=@IMAGE3_LOCAL_PATH" \
    -F "assetGroups[2].title=ImageTitle3" \
    -F "assetGroups[2].rspvLandingUrl=https://www.kakaocorp.com" \
    -F "assetGroups[3].ordering=3" \
    -F "assetGroups[3].imageFile=@IMAGE4_LOCAL_PATH" \
    -F "assetGroups[3].title=ImageTitle4" \
    -F "assetGroups[3].rspvLandingUrl=https://www.kakaocorp.com"
Response
Image banner
Image native
Catalog manual
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1234,
    "creativeId": 1235,
    "adGroupId": 5678,
    "format": "IMAGE_BANNER",
    "name": "edit_image",
    "landingInfo": {
        "landingType": "AD_VIEW",
        "communicatorAdViewId": 1
    },
    "pcLandingUrl": null,
    "mobileLandingUrl": null,
    "rspvLandingUrl": null,
    "frequencyCap": null,
    "frequencyCapType": "AUTO",
    "config": "ON",
    "systemConfig": "ON",  
    "reviewStatus": "WAITING",
    "image": {
        "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpg",
        "fileName": "sample_image_banner.jpg",
        "width": 640,
        "height": 100,
        "size": 50000
    },
    "altText": "edit_creative_description",
    "statusDescription": "심사중",
    "createdDate": "2020-01-01T00:00:00.00000",
    "lastModifiedDate": "2020-01-01T00:00:00.000000",
    "rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1234,
    "creativeId": 1235,
    "adGroupId": 5678,
    "format": "IMAGE_NATIVE",
    "name": "edit_native_creative",
    "pcLandingUrl": null,
    "mobileLandingUrl": "http://www.daum.net",
    "rspvLandingUrl": null,
    "frequencyCap": null,
    "frequencyCapType": "AUTO",
    "config": "ON",
    "systemConfig": "ON",  
    "reviewStatus": "WAITING",
    "image": {
        "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpg",
        "fileName": "sample_image_banner.jpg",
        "width": 640,
        "height": 480,
        "size": 100000
    },
    "title": "title",
    "description": "edit_promotional_text",
    "actionButton": "JOIN",
    "profileName": "edit_profile_name",
    "profileImage": {
        "url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpg",
        "fileName": "sample_image_native.jpg",
        "width": 300,
        "height": 300,
        "size": 50000
    },
    "altText": "edit_creative_description",
    "statusDescription": "심사중",
    "createdDate": "2020-01-01T00:00:00.000000",
    "lastModifiedDate": "2020-01-01T00:00:00.000000",
    "rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1,
    "creativeId": 2,
    "format": "CATALOG_MANUAL",
    "profileName": "프로필이름_수정",
    "profileImage": {
        "url": "http://xxx.kakao.co.kr/sample_image_native_xxx.jpg",
        "fileName": "sample_image_native.jpeg",
        "width": 300,
        "height": 300,
        "size": 50000
    },
    "name": "카탈로그_소재_수정",
    "adGroupId": 1234,
    "landingInfo": null,
    "pcLandingUrl": null,
    "mobileLandingUrl": null,
    "rspvLandingUrl": "https://www.kakaocorp.com",
    "frequencyCap": null,
    "frequencyCapType": "AUTO",
    "config": "ON",
    "systemConfig": "ON",
    "reviewStatus": "WAITING",
    "creativeStatus": "UNAPPROVED",
    "image": {
        "url": "image URL",
        "fileName": "image.jpg",
        "width": 640,
        "height": 640,
        "size": 50000
    },
    "assetGroups": [
        {
            "assetGroupId": 1,
            "ordering": 0,
            "image": {
                "url": "image1 URL",
                "fileName": "image1.jpg",
                "width": 640,
                "height": 640,
                "size": 50000
            },
            "title": "IMAGE1_TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        },
        {
            "assetGroupId": 2,
            "ordering": 1,
            "image": {
                "url": "image2 URL",
                "fileName": "image2.jpg",
                "width": 640,
                "height": 640,
                "size": 50000
            },
            "title": "IMAGE2_TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        },
        {
            "assetGroupId": 3,
            "ordering": 2,
            "image": {
                "url": "image3 URL",
                "fileName": "image3.jpg",
                "width": 640,
                "height": 640,
                "size": 50000
            },
            "title": "IMAGE3_TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        },
        {
            "assetGroupId": 4,
            "ordering": 3,
            "image": {
                "url": "image4 URL",
                "fileName": "image4.jpg",
                "width": 640,
                "height": 640,
                "size": 50000
            },
            "title": "IMAGE4_TITLE",
            "rspvLandingUrl": "https://www.kakaocorp.com"
        }
    ],
    "statusDescription": "심사중",
    "rejectedReason": [],
    "createdDate": "2020-01-01T00:00:00.00000",
    "lastModifiedDate": "2020-01-01T00:00:00.00000",
}

Copy Display creative

Basic information
Method URL Authorization
POST https://apis.moment.kakao.com/openapi/v4/creatives/copy Business token
Permission Prerequisite Business Authentication Business consent items
Required:
Request permission
Switch to a Biz app
Set Business redirect URI
Business consent items
Required Required

This API enables you to copy a Display creative. You can request to copy up to 20 creatives but may fail to copy if exceeding the maximum number of creatable creatives of an account.

You can copy only the Image banner or Image native creatives under the 'Kakao Bizboard X Visit(방문)', 'Kakao Bizboard X Conversion(전환)', 'Display X Visit(방문)', and 'Display X Conversion(전환)' type of campaign.

Send a POST request with the issued Business token and an ad account ID (adAccountId) in the request header. You must also pass the ad group ID which the creatives will copy to and the creative IDs to be copied as a list. If the request is successful, this API returns the detailed information of the copied creatives. If failed, refer to Error code to figure out its failure cause.

This API limits the number of calls you can make to every five seconds per user account and ad account.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Body
Name Type Description Required
adGroupId Long Ad group ID which the creatives will be copied to (Up to 100). O
creativeIds Long[] List of creative IDs to be copied. O

Response

Body
Name Type Description
- DisplayCreative[] List of creative information.
DisplayCreative
Name Type Description
id Long Original creative ID for execution.
creativeId Long Creative's ID.
creativeId may differ from id when temporarily assigned for the pending status in the review.
name String Creative's name.
format String Creative type.
One of IMAGE_BANNER, IMAGE_NATIVE, or CATALOG_MANUAL.
landingUrl String Landing URL.
frequencyCap Integer Frequency capping.
config String Creative's status.
One of ON, OFF, or DEL (Deleted).
systemConfig String Creative's system status.
Either ON or ADMIN_STOP.
reviewStatus String Review status.
One of the followings:
- APPROVED: Review approved.
- WAITING Review in progress.
- REJECTED: Review rejected.
- MODIFICATION_WAITING: Review for modification in progress.
- MODIFICATION_REJECTED: Review for modification rejected.
creativeStatus String Creative's operation status.
One of the followings:
- OPERATING: Possible to opearate.
- UNAPPROVED: Unapproved.
- INVALID_DATE: Invalid date.
- MONITORING_REJECTED: Admin suspended.
- OFF: User OFF.
- DELETED: Deleted.
- ADGROUP_UNAVAILABLE: Impossible to operate ad group.
statusDescription String Current status of creative.
image Image Information about the main image of the IMAGE_BANNER, IMAGE_NATIVE, and VIDEO_NATIVE type of creative.
assetGroups AssetGroup[] Slide item of CATALOG_MANUAL.
landingInfo LandingInfo Specified data for landing.
altText String Alternative description of the IMAGE_BANNER type of creative.
title String Title of the IMAGE_NATIVE or VIDEO_NATIVE type of creative.
actionButton String Call-to-action button of the IMAGE_NATIVE, VIDEO_NATIVE or CATALOG_MANUAL type of creative.
profileName String Profile name of the IMAGE_NATIVE, VIDEO_NATIVE or CATALOG_MANUAL type of creative.
description String Promotional text of the IMAGE_NATIVE or VIDEO_NATIVE type of creative.
profileImage Image Uploaded profile image.
video Video Video with the VIDEO_NATIVE type of creative.
rejectedReason RejectedReason Reasons for rejection of creative.
opinion String Opinion for ad verification.
opinionProof OpinionFile[] List of materials for ad verification.
createdDate String Date and time when the creative is created.
lastModifiedDate String Date and time when the creative is lastly modified.

Sample

Request
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives/copy" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -d '{
            "adGroupId" : 23456,
            "creativeIds" : [34567,34568]
        }'
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
    {
        "id": 35678,
        "creativeId": 35678,
        "adGroupId": 23456,
        "format": "IMAGE_BANNER",
        "name": "image_creative1",
        "landingInfo": {
            "landingType": "URL",
            "url": "http://m.daum.net"
        },
        "pcLandingUrl": null,
        "mobileLandingUrl": "http://m.daum.net",
        "rspvLandingUrl": null,
        "frequencyCap": null,
        "frequencyCapType": "AUTO",
        "config": "ON",
        "systemConfig": "ON",
        "reviewStatus": "APPROVED",
        "creativeStatus": "OPERATING",
        "image": {
            "url": "http://xxx.kakao.co.kr/sample_image_banner_111.jpg",
            "fileName": "sample_image_banner_111.jpg",
            "width": 640,
            "height": 480,
            "size": 100000
        },
        "altText": "image_description1",
        "statusDescription": "운영중",
        "rejectedReason": [],
        "createdDate": "2020-01-01T00:00:00.000000",
        "lastModifiedDate": "2020-01-01T00:00:00.000000"
    },
    {
        "id": 35679,
        "creativeId": 35678,
        "adGroupId": 23456,
        "format": "IMAGE_BANNER",
        "name": "image_creative2",
        "landingInfo": {
            "landingType": "URL",
            "url": "http://m.daum.net"
        },
        "pcLandingUrl": null,
        "mobileLandingUrl": "http://m.daum.net",
        "rspvLandingUrl": null,
        "frequencyCap": null,
        "frequencyCapType": "AUTO",
        "config": "ON",
        "systemConfig": "ON",
        "reviewStatus": "APPROVED",
        "creativeStatus": "OPERATING",
        "image": {
            "url": "http://xxx.kakao.co.kr/sample_image_banner_222.jpg",
            "fileName": "sample_image_banner_222.jpg",
            "width": 640,
            "height": 480,
            "size": 100000
        },
        "altText": "image_description2",
        "statusDescription": "운영중",
        "rejectedReason": [],
        "createdDate": "2020-01-01T00:00:00.000000",
        "lastModifiedDate": "2020-01-01T00:00:00.000000"
    }
]

Retrieve materials for Display ad verification

Basic information
Method URL Authorization
GET https://apis.moment.kakao.com/openapi/v4/creatives/${ID}/opinionProof Business token
Permission Prerequisite Business Authentication Business consent items
Required:
Request permission
Switch to a Biz app
Set Business redirect URI
Business consent items
Required Required

This API enables you to retrieve the materials for verification that are submitted for the corresponding Display creative.

Send a GET request with the issued Business token in the request header. If the request is successful, this API returns the information on the materials for verification in JSON format. If failed, refer to Error code to figure out its failure cause.

Request

Header
Name Description Required
Authorization Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
Path variable
Name Type Description Required
ID Long Original creative ID for execution. O

Response

Body
Name Type Description
id Long Opinion ID.
opinion String Opinion for ad verification.
opinionProofFileList OpinionFile[] List of materials for verification.

Sample

Request
curl -X GET "https://apis.moment.kakao.com/openapi/v4/creatives/${ID}/opinionProof" \
    -H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "id": 1,
    "opinion": "의견증빙",
    "opinionProofFileList": [
        {
            "id": 11,
            "originalFileName": "sample_1.jpg",
            "downloadUrl": "https://xxx.kakao.com/sample_1.jpg"
        }
    ]
}
Response: Fail
{
    "code": -813,
    "msg": "KakaoMomentException",
    "extras": {
        "detailCode": 75637,
        "detailMsg": "의견증빙 정보가 존재하지 않습니다."
    }
}

See more