사이드 메뉴
Getting started
Kakao Developers
Login
Communication
Advertisement
- Concepts
- Ad creation: Ad account
- Ad creation: Campaign
- Ad creation: Ad group
- Targeting for ad group
- Custom audience targeting for ad group
- Ad creation: Creative common
- Ad creation: Display creative
- Ad creation: Message creative
- Ad creation: Personalized message creative
- Bizboard landing settings
- Report
- Message management
- Personalized message management
- Message ad management
- Message ad operation
- Ad View management
- Business Form+ management
- Business Form linkage management
- Pixel & SDK linkage management
- Audience management
- Engagement targeting management
- Customer file management
- Friend group management
- Ad account management
- Reference
- Type information
- Error code
Ad creation: Creative
This document describes how to use the Creative APIs.
With the update on August 26, 2025, the following promotional image aspect ratios have been added.
| Campaign type | Creative type | Promotional Image | Profile Image |
|---|---|---|---|
| Display | Image native (IMAGE_NATIVE) | 800x1000 pixels or more (4:5), 500KB, JPG/JPEG/PNG | 300x300 pixels or more (1:1), 500KB, JPG/JPEG/PNG |
With the update on December 17, 2024, the following Video type of creatives has been added.
| Campaign type | Creative type | Profile Image | Promotional video | Custom thumbnail |
|---|---|---|---|---|
| Video | Video native (VIDEO_NATIVE) | 300x300 pixels or more (1:1), 500KB, JPG/JPEG/PNG | 720x1280 pixels or more (9:16), 100MB, AVI, FLV, MP4 recommended 1280x720 pixels or more (16:9), 100MB, AVI, FLV, MP4 recommended | 720x1280 pixels or more (9:16), 500KB, JPG/JPEG/PNG 1280x720 pixels or more (16:9), 500KB, JPG/JPEG/PNG |
With the update on August 30, 2023, the following Display type of creatives has been added.
| 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 |
With the update on February 21, 2023, the types of creatives that can be created for each campaign type have been changed as follows.
| 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 |
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 View list of Kakao Talk Channel profiles API. |
| Ad View | Use the View list of Ad Views for landing settings API. |
| Business Form | Use the View list of Business Forms landing types API. |
| Channel Post | Use Channel Post ID. |
| 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 |
Creates a Display creative.
Unused values may be returned as null.
When you request, set format (Creative format) to IMAGE_BANNER, IMAGE_NATIVE, or VIDEO_NATIVE. The required parameters vary by format: pass imageFileUrl for an image banner; imageFileUrl and profileImageFileUrl for an image native creative; and videoFileUrl and profileImageFileUrl for a video native creative.
This API supports two types of Content-Type to create an image — application/json and multipart/form-data — and both produce the same creation result.
- application/json: Pass the creative's image path with
http://orhttps://URI scheme through theimageFileUrlparameter. - multipart/form-data: Pass the creative's local file path through the
imageFileparameter.
This API limits the number of calls you can make every second per user account and ad account.
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.
| 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 |
| 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. | O 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. | O 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| adGroupId | Long | Ad group's ID. | O |
| format | String | Creative's type. Fixed to IMAGE_NATIVE. | O |
| profileImageFileUrl | String | Profile 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. | O Required in case of application/json |
| profileImageFile | Multipart File | Profile 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. | O Required in case of multipart/form-data |
| imageFileUrl | String | Promotional image. Size: 500x500 or higher (1:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 1200x600 or higher (2:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 720x1280 or higher (9:16). File size: 500KB. File format: JPG/JPEG/PNG. Size: 800x1000 or higher (4:5). File size: 500KB. File format: JPG/JPEG/PNG. Enter a valid URL in the format of http:// or https://. | O application/json. Required when using this method. |
| imageFile | Multipart File | Promotional image. Size: 500x500 or higher (1:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 1200x600 or higher (2:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 720x1280 or higher (9:16). File size: 500KB. File format: JPG/JPEG/PNG. Size: 800x1000 or higher (4:5). File size: 500KB. File format: JPG/JPEG/PNG. Enter a local file path. | O multipart/form-data. Required when using this method. |
| slides | Slides[] | Slide items of IMAGE_NATIVE creative (Minimum 1, Maximum 10). | X |
| 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 |
| actionButtonFontColor | String | Call-to-action text color One of #000000 (Black) or #FFFFFF (White).Important: When specifying the call-to-action text color, you must also specify actionButtonBackgroundColor (button color). | X |
| actionButtonBackgroundColor | String | Button color One of the colors except the unsupported ones ( #FFFFFF, #F0F0F0, #000000, #FEE500).Important: When specifying the button color, you must also specify actionButtonFontColor (call-to-action text color). | 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| adGroupId | Long | Ad group's ID. | O |
| format | String | Creative's type. Fixed to VIDEO_NATIVE. | O |
| profileImageFileUrl | String | Profile 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. | O Required in case of application/json |
| profileImageFile | Multipart File | Profile 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. | O Required in case of multipart/form-data |
| slides | Slides[] | Slide items of VIDEO_NATIVE creative (Minimum 1, Maximum 10). | X |
| 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 |
| actionButtonFontColor | String | Call-to-action text color One of #000000 (Black) or #FFFFFF (White).Important: When specifying the call-to-action text color, you must also specify actionButtonBackgroundColor (button color). | X |
| actionButtonBackgroundColor | String | Button color One of the colors except the unsupported ones ( #FFFFFF, #F0F0F0, #000000, #FEE500).Important: When specifying the button color, you must also specify actionButtonFontColor (call-to-action text color). | X |
| rspvLandingUrl | String | Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme.If passed, it takes precedence over mobileLandingUrl or pcLandingUrl. | O* |
| mobileLandingUrl | String | Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. | O* |
| pcLandingUrl | String | Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. | 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 |
| videoFileUrl | String | Promotional video Size: 720x1280 pixels or more (9:16) or 1280x720 pixels or more (16:9) File size: 1GB File format: AVI/FLV/MP4 Pass a valid URL with http:// or https:// scheme. | X Available in case of application/json |
| videoFile | MultipartFile | Promotional video Size: 720x1280 pixels or more (9:16) or 1280x720 pixels or more (16:9) File size: 1GB File format: AVI/FLV/MP4 Pass the local file path. | X Available in case of multipart/form-data |
| uploadThumbnailImageFileUrl | String | Custum thumbnail Size: 1280x720 pixels or more (16:9) File size: 500KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. | X Available in case of application/json |
| uploadThumbnailImageFile | MultipartFile | Custum thumbnail Size: 1280x720 pixels or more (16:9) File size: 500KB File format: JPG/JPEG/PNG Pass the local file path. | X Available in case of multipart/form-data |
| 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 View 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 View 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 View 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 View list of Channel Posts for landing settings API. |
| Name | Description |
|---|---|
| PF_BOT | Chatbot |
| AD_VIEW | Ad View |
| CHANNEL_WEBVIEW | Channel Web View |
| BIZ_FORM | Business Form |
| CHANNEL_POST | Channel Post |
| Name | Type | Description |
|---|---|---|
| id | Long | Ad View's ID. |
- The previous name of
Slides,AssetGroup, will no longer be available after 2025.9.30.
| Name | Type | Description | Required |
|---|---|---|---|
| imageFileUrl | String | Slide image Image size: 500 x 500 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. | O Required in case of application/json |
| imageFile | Multipart File | Slide image Image size: 500 x 500 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. | O 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 (Maximum: 45 characters). Not allowed when creating sub-slides of IMAGE_NATIVE (Image native) or VIDEO_NATIVE (Video native). | X |
| priceAmount | String | Price information(Minimum: 0, Maximum: 9999999999) Integers only when CurrencyCode is KRW or JPYUp to 2 decimal places when CurrencyCode is USD, EURTo use priceAmount, priceCurrencyCode is required. | X |
| priceCurrencyCode | String | Currency One of KRW, USD, JPY, and EURTo use priceCurrencyCode, priceAmount and discountedPriceAmount are required. | X |
| discountedPriceAmount | String | Discounted price information(Minimum: 0, Maximum: 9999999999) Integers only when CurrencyCode is KRW or JPYUp to 2 decimal places when CurrencyCode is USD, EURdiscountedPriceAmount must be less than priceAmountTo use discountedPriceAmount, priceAmount and priceCurrencyCode are required. | X |
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID used for execution. |
| creativeId | Long | Creative's ID.
|
| 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:
|
| 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). |
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID for execution. |
| creativeId | Long | Creative's ID.
|
| 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:
|
| 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). |
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID for execution. |
| creativeId | Long | Creative's ID.
|
| adGroupId | Long | Ad group's ID. |
| format | String | Creative's type. Fixed to VIDEO_NATIVE. |
| profileImageFileUrl | String | Profile 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. |
| profileImageFile | Multipart File | Profile 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. |
| title | String | Title. |
| profileName | String | Profile name. |
| description | String | Promotional text. |
| actionButton | String | Call-to-action button. |
| rspvLandingUrl | String | Responsive landing URL. |
| mobileLandingUrl | String | Landing URL for mobile. |
| pcLandingUrl | String | Landing URL for PC. |
| name | String | Creative's name. |
| opinion | String | Opinion for ad verification. Up to 1,000 characters. |
| 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. |
| 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. |
| 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. |
| reviewStatus | String | Review status. One of the followings:
|
| creativeStatus | String | Creative's operation status. One of the followings:
|
| image | Image | Uploaded promotional image. |
| profileImage | Image | Uploaded profile image. |
| video | Video | Uploaded promotional video. |
| statusDescription | String | Current status of creative. |
| rejectedReason | String[] | Reasons for rejection of creative (Empty array). |
| createdDate | String | Date and time when the creative is created. |
| lastModifiedDate | String | Date and time when the creative is lastly modified. |
| thumbnailImage | Image | Uploaded custom thumbnail image. |
Request: application/json
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"}'
Request: multipart/form-data
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"
Response
// 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": []}
| 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 |
Enables you to edit display creatives.
Unused values may be returned as null.
The parameters to be provided differ depending on the creative type. For example, IMAGE_BANNER requires imageFileUrl, IMAGE_NATIVE requires both imageFileUrl and profileImageFileUrl, and VIDEO_NATIVE requires both videoFileUrl and profileImageFileUrl.
This API supports two Content-Type values for registering images, application/json and multipart/form-data, and both produce the same edit result. The differences are as follows:
- application/json: Pass the creative's image path in
http://orhttps://URI scheme through theimageFileUrlparameter. - multipart/form-data: Pass the creative's local file path through the
imageFileparameter.
If imageFileUrl or profileImageFileUrl is not included in the request body, the previously registered image is used.
This API limits the number of calls you can make every second per user account and ad account.
| 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 |
| 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. | O 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. | O 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 |
| 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 | Profile 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. | O Required in case of application/json |
| profileImageFile | Multipart File | Profile 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. | O Required in case of multipart/form-data |
| imageFileUrl | String | Promotional image. Size: 500x500 or higher (1:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 1200x600 or higher (2:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 720x1280 or higher (9:16). File size: 500KB. File format: JPG/JPEG/PNG. Size: 800x1000 or higher (4:5). File size: 500KB. File format: JPG/JPEG/PNG. Enter a valid URL in the format of http:// or https://. | O application/json. Required when using this method. |
| imageFile | Multipart File | Promotional image. Size: 500x500 or higher (1:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 1200x600 or higher (2:1). File size: 500KB. File format: JPG/JPEG/PNG. Size: 720x1280 or higher (9:16). File size: 500KB. File format: JPG/JPEG/PNG. Size: 800x1000 or higher (4:5). File size: 500KB. File format: JPG/JPEG/PNG. Enter a local file path. | O multipart/form-data. Required when using this method. |
| slides | Slides[] | Slide items of IMAGE_NATIVE creative (Minimum 1, Maximum 10). | X |
| 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 |
| actionButtonFontColor | String | Call-to-action text color One of #000000 (Black) or #FFFFFF (White).Important: When specifying the call-to-action text color, you must also specify actionButtonBackgroundColor (button color). | X |
| actionButtonBackgroundColor | String | Button color One of the colors except the unsupported ones ( #FFFFFF, #F0F0F0, #000000, #FEE500).Important: When specifying the button color, you must also specify actionButtonFontColor (call-to-action text color). | X |
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| id | Long | Original creative ID used for execution. | O |
| adGroupId | Long | Ad group's ID. | O |
| format | String | Creative's type. Fixed to VIDEO_NATIVE. | O |
| profileImageFileUrl | String | Profile 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 | Profile 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 |
| slides | Slides[] | Slide items of VIDEO_NATIVE creative (Minimum 1, Maximum 10). | X |
| 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 |
| actionButtonFontColor | String | Call-to-action text color One of #000000 (Black) or #FFFFFF (White).Important: When specifying the call-to-action text color, you must also specify actionButtonBackgroundColor (button color). | X |
| actionButtonBackgroundColor | String | Button color One of the colors except the unsupported ones ( #FFFFFF, #F0F0F0, #000000, #FEE500).Important: When specifying the button color, you must also specify actionButtonFontColor (call-to-action text color). | X |
| rspvLandingUrl | String | Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme.If passed, it takes precedence over mobileLandingUrl or pcLandingUrl. | O* |
| mobileLandingUrl | String | Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. | O* |
| pcLandingUrl | String | Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. | 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 |
| videoFileUrl | String | Promotional video Size: 720x1280 pixels or more (9:16) or 1280x720 pixels or more (16:9) File size: 1GB File format: AVI/FLV/MP4 Pass a valid URL with http:// or https:// scheme. | O Required in case of application/json |
| videoFile | MultipartFile | Promotional video Size: 720x1280 pixels or more (9:16) or 1280x720 pixels or more (16:9) File size: 1GB File format: AVI/FLV/MP4 Pass the local file path. | O Required in case of multipart/form-data |
| uploadThumbnailImageFileUrl | String | Custum thumbnail Size: 1280x720 pixels or more (16:9) File size: 500KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. | X Available in case of application/json |
| uploadThumbnailImageFile | MultipartFile | Custum thumbnail Size: 1280x720 pixels or more (16:9) File size: 500KB File format: JPG/JPEG/PNG Pass the local file path. | X Available in case of multipart/form-data |
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.
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID for execution. |
| creativeId | Long | Creative's ID.
|
| 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:
|
| 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). |
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID for execution. |
| creativeId | Long | Creative's ID.
|
| 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:
|
| 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). |
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID used for execution. |
| creativeId | Long | Creative's ID.
|
| format | String | Creative's type. Fixed to VIDEO_NATIVE. |
| name | String | Creative's name. |
| adGroupId | Long | Ad group's ID. |
| 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. |
| reviewStatus | String | Review status. One of the followings:
|
| creativeStatus | String | Creative's operation status. One of the followings:
|
| image | Image | Uploaded promotional image. |
| title | String | Title. |
| description | String | Promotional text. |
| actionButton | String | Call-to-action button. |
| profileName | String | Profile name. |
| profileImage | Image | Uploaded profile image. |
| video | Video | Uploaded promotional video. |
| statusDescription | String | Current status of creative. |
| rejectedReason | String[] | Reasons for rejection of creative (Empty array). |
| createdDate | String | Date and time when the creative is created. |
| lastModifiedDate | String | Date and time when the creative is lastly modified. |
| opinionProof | OpinionFile[] | List of materials for ad verification. |
| thumbnailImage | Image | Uploaded custom thumbnail image. |
Request: application/json
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"}'
Request: multipart/form-data
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"
Response
// 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": []}
| 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 |
Enables you to copy a Display creative.
- You can copy up to 20 creatives at a time. Copying may fail if the maximum number of creatives allowed for the group, campaign, or account is exceeded.
- Only Image Banner, Image Native, and Video Native creatives under Kakao Bizboard X Visit, Kakao Bizboard X Conversion, Display X Visit, Display X Conversion, and Video X View campaigns can be copied.
This API limits the number of calls you can make to every five seconds per user account and ad account.
| 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 |
| 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 |
| Name | Type | Description |
|---|---|---|
| - | DisplayCreative[] | List of creative information. |
| Name | Type | Description |
|---|---|---|
| id | Long | Original creative ID for execution. |
| creativeId | Long | Creative's ID.
|
| name | String | Creative's name. |
| format | String | Creative type. One of IMAGE_BANNER, IMAGE_NATIVE, or VIDEO_NATIVE. |
| 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:
|
| creativeStatus | String | Creative's operation status. One of the followings:
|
| 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. |
| 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 or VIDEO_NATIVE type of creative. |
| profileName | String | Profile name of the IMAGE_NATIVE, or VIDEO_NATIVE 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. |
| 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. |
| thumbnailImage | Image | Uploaded custom thumbnail image. |
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_111.jpg","fileName": "sample_image.jpg","width": 640,"height": 480,"size": 100000},"altText": "image_description1","title": "Title","description": "Promotion text","actionButton": "JOIN","profileName": "Profile name","profileImage": {"url": "http://xxx.kakao.co.kr/sample_profile_111.jpg","fileName": "sample_profile.jpg","width": 300,"height": 300,"size": 50000},"video": {"url": "http://xxx.kakao.co.kr/sample_image_111.avi","fileName": "sample_video.avi","size": 500000,"duration": 3.0},"statusDescription": "운영중","rejectedReason": [],"createdDate": "2020-01-01T00:00:00.000000","lastModifiedDate": "2020-01-01T00:00:00.000000","opinionProof": null,"thumbnailImage": {"url": "http://xxx.kakao.co.kr/sample_image_111.jpg","fileName": "sample_image.jpg","width": 640,"height": 480,"size": 100000},{"id": 35679,"creativeId": 35679,"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_222.jpg","fileName": "sample_image.jpg","width": 640,"height": 480,"size": 100000},"altText": "image_description2","title": "Title","description": "Promotion text","actionButton": "JOIN","profileName": "Profile name","profileImage": {"url": "http://xxx.kakao.co.kr/sample_profile_222.jpg","fileName": "sample_profile.jpg","width": 300,"height": 300,"size": 50000},"video": {"url": "http://xxx.kakao.co.kr/sample_image_222.avi","fileName": "sample_video.avi","size": 500000,"duration": 3.0},"statusDescription": "운영중","rejectedReason": [],"createdDate": "2020-01-01T00:00:00.000000","lastModifiedDate": "2020-01-01T00:00:00.000000","opinionProof": null,"thumbnailImage": {"url": "http://xxx.kakao.co.kr/sample_image_222.jpg","fileName": "sample_image.jpg","width": 640,"height": 480,"size": 100000}]
| 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 |
Returns the opinion and evidence information for the creative.
| 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| ID | Long | Original creative ID for execution. | O |
| Name | Type | Description |
|---|---|---|
| id | Long | Opinion ID. |
| opinion | String | Opinion for ad verification. |
| opinionProofFileList | OpinionFile[] | List of materials for verification. |
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": "의견증빙 정보가 존재하지 않습니다."}}