--- title: "Get message delivery list" slug: "sens-brandmessage-list" updated: 2026-09-17T09:35:44Z published: 2026-09-17T09:35:44Z canonical: "api.ncloud-docs.com/sens-brandmessage-list" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Get message delivery list Available in Classic and VPC Get the message delivery request list of Brand Message. You can query the list of requests within the last 30 days. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | GET | /brandmessage/v2/services/{serviceId}/messages | ### Request headers For information about the headers common to all Simple & Easy Notification Service APIs, see [Simple & Easy Notification Service request headers](/docs/en/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request path parameters You can use the following path parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message service ID - See [Get project list](/docs/en/sens-project-list). | ### Request query parameters You can use the following query parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `requestId` | String | Conditional | Request ID - Enter the request ID received in response when sending the message. - One among `requestId`, `requestStartTime`+`requestEndTime`, or `completeStartTime`+`completeEndTime` must be entered. - `requestStartTime`+`requestEndTime` and `completeStartTime`+`completeEndTime` can't be used at the same time. | | `requestStartTime` | String | Conditional | Query start date and time based on the delivery request - YYYY-MM-DD HH:mm:ss format (URL encoding required). - One among `requestId`, `requestStartTime`+`requestEndTime`, or `completeStartTime`+`completeEndTime` must be entered. - `requestStartTime`+`requestEndTime` and `completeStartTime`+`completeEndTime` can't be used at the same time. | | `requestEndTime` | String | Conditional | Query end date and time based on the delivery request - YYYY-MM-DD HH:mm:ss format (URL encoding required). - Must be within 31 days of `requestStartTime`. | | `completeStartTime` | String | Conditional | Query start date and time based on the delivery completion - YYYY-MM-DD HH:mm:ss format (URL encoding required). - One among `requestId`, `requestStartTime`+`requestEndTime`, or `completeStartTime`+`completeEndTime` must be entered. - `requestStartTime`+`requestEndTime` and `completeStartTime`+`completeEndTime` can't be used at the same time. | | `completeEndTime` | String | Conditional | Query end date and time based on the delivery completion - YYYY-MM-DD HH:mm:ss format (URL encoding required). - Must be within 24 hours of `completeStartTime`. | | `plusFriendId` | String | Conditional | Channel ID - Check from **Simple & Easy Notification Service** > **Biz MessageBrand** > **KakaoTalk Channel** in the NAVER Cloud Platform console. - Required if `requestId` is not entered. | | `messageId` | String | Optional | Message ID | | `requestStatusName` | String | Optional | Request status - `success` \| `fail` - `success`: Success - `fail`: Failure | | `messageStatusName` | String | Optional | Reception status - `success` \| `processing` \| `fail` - `success`: Success - `processing`: Processing - `fail`: Failure | | `templateCode` | String | Optional | Template code - Check from **Simple & Easy Notification Service** > **Biz MessageBrand** > **Message Template** in the NAVER Cloud Platform console. | | `to` | String | Optional | Recipient number - Only numbers can be entered. | | `nextToken` | String | Optional | Page location token - Use this when querying the next list, and enter the token value received in the previous call. | | `pageSize` | Integer | Optional | Number of items per page - 1-100 (default: 20) - 100 is applied by default when entering `requestId`. | ### Request example The request example is as follows: ``` curl --location --request GET 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages?requestStartTime=2025-11-25T09%3A10%3A00&requestEndTime=2025-11-25T23%3A30%3A00&pageSize=3' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' ``` ## Response This section describes the response format. ### Response body The response body includes the following data: | Field | Type | Required | Description | | --- | --- | --- | --- | | `statusCode` | String | - | Status code - It follows HTTP status code rules. - `202`: Success - Others: Failure | | `statusName` | String | - | Status - `success` \| `processing` \| `reserved` \| `fail` - `success`: Success - `processing`: Processing - `reserved`: Reserved - `fail`: Failure | | `messages` | Array | - | Message delivery request list: [messages](/docs/en/sens-brandmessage-list#messages) | | `pageSize` | Integer | - | Number of items per page | | `pageIndex` | Integer | - | Page index | | `nextToken` | String | - | Page location token - It isn't displayed if there is no next page. | | `itemCount` | Integer | - | Number of response results | | `hasMore` | Boolean | - | Whether next page exists - `true`: It exists. - `false`: It doesn't exist. | #### `messages` The following describes `messages`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `requestTime` | String | - | Request date and time - YYYY-MM-DDTHH:mm:ss.sss format | | `requestId` | String | - | Request ID | | `messageId` | String | - | Message ID | | `countryCode` | String | - | Country code | | `to` | String | - | Recipient number | | `content` | String | - | Message content | | `plusFriendId` | String | - | Channel ID | | `messageType` | String | - | Message type - `TEXT` \| `IMAGE` \| `WIDE_IMAGE` \| `WIDE_ITEM_LIST` \| `COMMERCE` \| `CAROUSEL_COMMERCE` \| `CAROUSEL_FEED` \| `PREMIUM_VIDEO` - `TEXT`: Text - `IMAGE`: Image type - `WIDE_IMAGE`: Wide image type - `WIDE_ITEM_LIST`: Wide list type - `COMMERCE`: Commerce type - `CAROUSEL_COMMERCE`: Carousel commerce type - `CAROUSEL_FEED`: Carousel feed type - `PREMIUM_VIDEO`: Premium video type | | `isAdult` | Boolean | - | Target age - `true` \| `false` (default) - `true`: Adult - `false`: All ages | | `targeting` | String | - | Targeting code - `M` \| `N` \| `I` (default) - `M`: Users who have consented to receive promotional information from customers (Kakao Talk consent) - `N`: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent) - `I`: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel - `F`: Exclude non-channel friends (support planned) | | `completeTime` | String | - | Completion date and time - YYYY-MM-DDTHH:mm:ss format | | `requestStatusCode` | String | - | Request status code - `A000`: Success - Others: Failure | | `requestStatusName` | String | - | Request status - `success` \| `fail` - `success`: Success - `fail`: Failure | | `requestStatusDesc` | String | - | Request status description | | `messageStatusCode` | String | - | See [Reception status code](/docs/en/sens-brandmessage-get#%EC%88%98%EC%8B%A0%EA%B2%B0%EA%B3%BC%EC%BD%94%EB%93%9C). - `0000`: Success - Others: Failure | | `messageStatusName` | String | - | Reception status - `success` \| `processing` \| `fail` - `success`: Success - `processing`: Processing. `messageStatusCode` and `messageStatusDesc` are not displayed. - `fail`: Failure | | `messageStatusDesc` | String | - | Reception status description | | `useSmsFailover` | Boolean | - | Use of SMS alternative delivery - `true` \| `false` - `true`: Enable - `false`: Disable | | `failover` | Object | - | SMS alternative delivery information - Display if alternative delivery has been executed. | | `failover.smsServiceId` | String | - | SMS service ID used for alternative delivery | | `failover.requestId` | String | - | Alternative delivery request ID | | `failover.messageId` | String | - | Alternative delivery message ID | | `failover.requestStatusCode` | String | - | See [SMS alternative delivery request status code](/docs/en/sens-brandmessage-get#SMS%EB%8C%80%EC%B2%B4%EB%B0%9C%EC%86%A1%EC%9A%94%EC%B2%AD%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). | | `failover.requestStatusName` | String | - | Alternative delivery request status - `success` \| `fail` - `success`: Success - `fail`: Failure | | `failover.requestStatusDesc` | String | - | Alternative delivery request status description | | `failover.messageStatus` | String | - | Alternative delivery message status - `READY` \| `PROCESSING` \| `COMPLETED` - `READY`: Standby - `PROCESSING`: Processing - `COMPLETED`: Completed | | `failover.messageStatusCode` | String | - | Alternative delivery message reception status code - See [SMS reception result code](/docs/en/sens-sms-get#%EC%88%98%EC%8B%A0%EA%B2%B0%EA%B3%BC%EC%BD%94%EB%93%9C). | | `failover.messageStatusName` | String | - | Alternative delivery message reception status | | `failover.messageStatusDesc` | String | - | Alternative delivery message reception status description | ### Response status codes For information about the HTTP status codes common to all Simple & Easy Notification Service APIs, see [Simple & Easy Notification Service response status codes](/docs/en/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### Response example The response example is as follows: ``` { "statusCode": "202", "statusName": "success", "messages": [ { "requestTime": "2025-11-28T11:21:06.317", "requestId": "RBBA-*************-****-********-QlvjXtBr", "messageId": "bc87c708-****-****-****-57b56c506309", "countryCode": "82", "to": "010********", "plusFriendId": "@******", "messageType": "TEXT", "targeting": "I", "isAdult": false, "completeTime": "2025-11-28T11:21:06", "requestStatusCode": "A000", "requestStatusName": "success", "requestStatusDesc": "Succeeded", "messageStatusCode": "0000", "messageStatusName": "success", "messageStatusDesc": "Normal delivery", "useSmsFailover": false }, { "requestTime": "2025-11-28T10:46:55.663", "requestId": "RBBA-*************-****-********-kgepsygn", "messageId": "3d68485a-****-****-****-730c20492b51", "countryCode": "82", "to": "010********", "plusFriendId": "@******", "messageType": "TEXT", "targeting": "I", "isAdult": false, "completeTime": "2025-11-28T10:46:56", "requestStatusCode": "A000", "requestStatusName": "success", "requestStatusDesc": "Succeeded", "messageStatusCode": "0000", "messageStatusName": "success", "messageStatusDesc": "Normal delivery", "useSmsFailover": true, "failover": { "smsServiceId": "ncp:sms:kr:27*********6:sens", "requestId": "RSLA-*************-****-********-ZzdhBYsk", "messageId": "6cc7eab4-****-****-****-c523f8a0e8ce", "requestStatusCode": "0", "requestStatusName": "success", "requestStatusDesc": "Succeeded", "messageStatus": "COMPLETED", "messageStatusCode": "0", "messageStatusName": "success", "messageStatusDesc": "Succeeded" } } ], "pageSize": 2, "pageIndex": 0, "nextToken": "**********V0ZXJIYXNoIjoiNTBkOTg5NTdkYmM2MjIwZWJjMzAyMzNiNmQwZWRlN**********jZGJlMmI5MTcyOTQ3ZDNiZjU0YzRjNjU3NiIsInRva2VuSGFzaCI6ImVmM2NlNGUyMjc1MTE1ZDNiMDZiNjhmNzJiOWM0MDcxOTQ1MjA2MGRiN2M4MmRiYTQ1MGMxNzIwOTBiNmMy**********NoZWRFcG9jaE1pbGxpcyI6MTc2NDI5NjU4MDIwMywicmVxdWVzdFRpbWVFcG9jaE1pbGxpcyI6MTc2NDI5NDQxNTY2MywiY29tcGxldGVUaW1lRXBvY2hNaWxsaXMiOm51bGwsIm1lc3NhZ2VJZCI6IjNkNjg0ODVhLWU3NmQtNGE3Ny05Y2Q0LTczMGMyMD**********", "itemCount": 2, "hasMore": true } ```