Available in Classic and VPC
Get the list of emails included in the delivery request. This API returns only the summary fields needed to browse the list. If you need results by body, attachment, or recipient, use the Get email details API.
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 request 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 | Email service ID
|
requestId |
String | Required | Delivery request ID
|
Request query parameters
You can use the following query parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
mailId |
String | Optional | Email ID
|
recipientAddress |
String | Optional | Recipient email address
|
title |
String | Optional | Email subject
|
status |
String | Optional | Mail delivery status
|
pageNo |
Integer | Optional | Page number
|
pageSize |
Integer | Optional | Number of items per page
|
sort |
String | Optional | Sort criteria
|
- If multiple filters are specified together, they are applied with AND logic.
- For authorized callers only, if the
requestIdin the path does not exist, a404is returned. This is different from there being no emails that match the criteria (empty array +200). - If sort keys are not unique, the order of entries 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: ko-KR'
Response
This section describes the response format.
Response body
The response body includes the following data:
| Field | Type | Required | Description |
|---|---|---|---|
mails |
Array | - | Email list: mails
|
totalElements |
Integer | - | Total number of items that meet the criteria |
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 | - | Delivery request ID |
mailId |
String | - | Email ID
|
createDateTime |
String | - | Delivery request acceptance date and time
|
title |
String | - | Email subject |
templateNo |
Integer | - | Template number used
|
templateName |
String | - | Template name used
|
status |
String | - | Email delivery status
|
senderAddress |
String | - | Sender email address |
senderName |
String | - | Sender name
|
sendDateTime |
String | - | Delivery completion date and time
|
representativeRecipient |
String | - | Primary recipient email address
|
recipientCount |
Integer | - | Number of recipients
|
sendType |
String | - | Delivery type
|
advertising |
Boolean | - | Whether it is an ad email
|
Recipients whose emails were not delivered due to unsubscription (UNSUBSCRIBED), blocking (BLOCKED), or processing errors (ERRORED) are not counted as successes; therefore, emails containing only such recipients are reported as FAILED. To view the reasons for each recipient, check recipients[].status and recipients[].sendResultCode of the Get email details 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 APIs in the Simple & Easy Notification Service, 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 shown below is returned.
Error response body
The response body includes the following data if the call fails.
| Field | Type | Required | Description |
|---|---|---|---|
error |
Object | - | Error information |
error.errorCode |
String | - | Error code
|
error.message |
String | - | Predefined message for each error code
|
error.detail |
String | - | Detailed reason for each request
|
error.fieldErrors |
Array | - | List of errors by parameter
|
Error response example
The following is a sample response upon a failed call.
{
"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, Gildong Hong.",
"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
}