사이드 메뉴
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
Kakao Moment
Business Form+ management
This document explains how to use the Business Form+ API.
| Method | URL | Authorization |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/v4/adAccounts/bizFormPlus/report | Business token |
| Permission | Prerequisites | Business Authentication | Business consent items |
|---|---|---|---|
| Required: Apply for permission | Convert to a Biz App Business Authentication Redirect URI Business consent items | Required | Required: Get Business Form+ response |
Retrieves the response results of Business Form+ created in an ad account.
Send a GET request with the business token and ad account ID (adAccountId) in the headers, and pass the Business Form+ ID (formId) as a query parameter.
On success, the API returns the list of response results and cursor information for the next page. On failure, refer to Error code to identify the cause.
To call the Business Form+ response result retrieval API, you must meet the below conditions.
- The business registration numbers registered in the Kakao Developers app and the ad account must match.
- User consent to the consent item for retrieving Business Form+ response results among the Business access permission consent items.
- Hold permission for the Moment ad account to retrieve and form report download permission for the form ID to retrieve.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Auth header for the request, authenticated with a Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| Name | Type | Description | Required |
|---|---|---|---|
| formId | String | Business Form+ form ID (Example: MA-1111) | O |
| cursorId | Long | Cursor ID for pagination | X |
| size | Integer | Number of records to retrieve (default: 100, max: 1,000) | X |
| Name | Type | Description |
|---|---|---|
| code | Integer | Error code |
| message | String | Result message |
| data | Data[] | Detailed data for each report item |
| hasNext | Boolean | Whether a next page exists |
| nextCursor | Long | Cursor ID for the next page request |
| Name | Type | Description |
|---|---|---|
| applyId | Long | Response ID |
| submittedAt | String | Response submission date and time |
| expiresAt | String | Response expiration date and time, 90 days after submission |
String | ||
| birthDate | String | Birth date in YYYY-MM-DD format |
| gender | String | Gender, one of the following:
|
| name | String | Name |
| phoneNumber | String | Phone number |
| address | String | Address |
| answers | Answer[] | Survey response values |
| optionalAgreements | OptionalAgreement[] | List of optional consent items |
| channelAddStatus | String | Channel add status (Example: -, already added, Y, N) |
| inflowSource | String | Inflow source (for example, Moment or ETC) |
| Name | Type | Description |
|---|---|---|
| question | String | Question |
| answer | String | Answer |
| Name | Type | Description |
|---|---|---|
| title | String | Title |
| agree | Boolean | Whether the user agreed |
Request
curl -v -G GET "https://apis.moment.kakao.com/openapi/v4/adAccounts/bizFormPlus/report" \-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \-H "adAccountId: ${AD_ACCOUNT_ID}" \-d "formId=${FORM_ID}" \-d "size=100"
Response
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"code": 200,"message": "Success","data": [{"applyId": 526,"submittedAt": "2026-03-20T08:27:15.848222+09:00","expiresAt": "2026-06-18T08:27:15.848222+09:00","email": "test1@example.com","birthDate": "${BIRTH_DATE}","gender": "MALE","name": "${NAME}","phoneNumber": "${PHONE_NUMBER}","address": "${ADDRESS}","answers": [{"question": "Single selection title","answer": "3"},{"question": "Multiple selection title","answer": "1, 3, None"},{"question": "Descriptive title","answer": "This is a long-text response generated for test data creation. It simulates an actual user's response."},{"question": "Date title","answer": "2024-04-11"},{"question": "Number title","answer": "37"}],"optionalAgreements": [{"title": "Optional consent title","agree": false}],"channelAddStatus": "Y","inflowSource": "MOMENT"}],"hasNext": true,"nextCursor": 526}