Available in Classic and VPC
Get the list of mails included in a send request. Only the summary fields needed to browse the list are returned. Use the Get mail API for the body, attachments, and per-recipient results.
Request
This section describes the request format. The method and URI are as follows:
| Method | URI |
|---|---|
| GET | /mail/v2/services/{serviceId}/requests/{requestId}/mails |
Request headers
For information about the headers common to all Simple & Easy Notification Service APIs, see Simple & Easy Notification Service request headers.
| Field | Required | Description |
|---|---|---|
x-ncp-lang |
Optional | Response message language
|
Request path parameters
You can use the following path parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
serviceId |
String | Required | Mail service ID
|
requestId |
String | Required | Send request ID
|
Request query parameters
You can use the following query parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
mailId |
String | Optional | Mail ID
|
recipientAddress |
String | Optional | Recipient email address
|
title |
String | Optional | Mail subject
|
status |
String | Optional | Mail sending status
|
pageNo |
Integer | Optional | Page number
|
pageSize |
Integer | Optional | Number of items per page
|
sort |
String | Optional | Sort condition
|
- If different filters are specified together, they are combined with AND.
- For callers with permission,
404is returned if therequestIdin the path does not exist. This is different from the case where no mail matches the conditions (an empty array with200). - If the sort key is not unique, the order of items with the same value is not guaranteed.
Request example
The request example is as follows:
curl --location --request GET 'https://sens.apigw.ntruss.com/mail/v2/services/ncp:mail:kr:1********2:main/requests/20260712-R-01K0ZQ8YV3M4N5P6R7S8T9VAWX-777/mails?status=PARTIAL_FAILED&pageNo=0&pageSize=10&sort=createDateTime%2Cdesc' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'x-ncp-lang: en-US'
Response
This section describes the response format.
Response body
The response body includes the following data:
| Field | Type | Required | Description |
|---|---|---|---|
mails |
Array | - | Mail list: mails
|
totalElements |
Integer | - | Total number of matching items |
totalPages |
Integer | - | Total number of pages |
pageNo |
Integer | - | Current page number |
pageSize |
Integer | - | Number of items per page |
mails
The following describes mails.
| Field | Type | Required | Description |
|---|---|---|---|
requestId |
String | - | Send request ID |
mailId |
String | - | Mail ID
|
createDateTime |
String | - | Date and time the send request was accepted
|
title |
String | - | Mail subject |
templateNo |
Integer | - | Number of the template used
|
templateName |
String | - | Name of the template used
|
status |
String | - | Mail sending status
|
senderAddress |
String | - | Sender email address |
senderName |
String | - | Sender name
|
sendDateTime |
String | - | Date and time sending was completed
|
representativeRecipient |
String | - | Representative recipient email address
|
recipientCount |
Integer | - | Number of recipients
|
sendType |
String | - | Sending type
|
advertising |
Boolean | - | Whether the mail is an advertisement
|
Recipients that were not sent to because of unsubscription (UNSUBSCRIBED), send blocking (BLOCKED), or a processing error (ERRORED) are not counted as successes, so a mail whose only recipients are such addresses is observed as FAILED. Check the reason for each recipient with recipients[].status and recipients[].sendResultCode of the Get mail API.
Response status codes
The following describes the response status codes.
| HTTP status code | Code | Message | Description |
|---|---|---|---|
| 200 | - | OK | Request succeeded |
| 400 | InvalidParameter | Bad Request | Request parameter error |
| 401 | Unauthorized | Unauthorized | Authentication failed |
| 403 | Forbidden | Forbidden | No permission for the serviceId in the path |
| 404 | NotFound | Not Found | The requestId in the path does not exist |
| 500 | InternalServerError | Internal Server Error | Internal server error |
Unlike other Simple & Easy Notification Service APIs, the mail v2 API returns errors in the NCP API standard error format. Instead of the status and error (string) fields in the response body, the error object below is returned.
Error response body
The response body when a call fails includes the following data:
| Field | Type | Required | Description |
|---|---|---|---|
error |
Object | - | Error information |
error.errorCode |
String | - | Error code
|
error.message |
String | - | Fixed message for each error code
|
error.detail |
String | - | Detailed reason for the request
|
error.fieldErrors |
Array | - | List of errors by parameter
|
Error response example
The response example when a call fails is as follows:
{
"error": {
"errorCode": "NotFound",
"message": "The requested resource was not found."
}
}
Response example
The response example is as follows:
{
"mails": [
{
"requestId": "20260712-R-01K0ZQ8YV3M4N5P6R7S8T9VAWX-777",
"mailId": "20260712-M-01K0ZQ8YVBQ7C2D3E4F5G6H7J8-777",
"createDateTime": "2026-07-12T15:19:53+09:00",
"title": "Welcome, Hong Gildong.",
"templateNo": 41,
"templateName": "Membership level change notice",
"status": "PARTIAL_FAILED",
"senderAddress": "no_reply@company.com",
"senderName": "Customer Center",
"sendDateTime": "2026-07-12T15:19:53+09:00",
"representativeRecipient": "hongildong@example.com",
"recipientCount": 30,
"sendType": "IMMEDIATE",
"advertising": false
}
],
"totalElements": 2,
"totalPages": 1,
"pageNo": 0,
"pageSize": 10
}