Query Notification Channels
POST
/web/v1/notification-channels/queryWEBQueries notification channels with optional filters. Returns a paginated result.
Authentication
Requires a valid JWT token and Turnstile verification. Gateway validation: enableJwtToken=true, enableTurnstile=true.
Request Parameters
Request Body
NotificationChannelQueryRequest:
| Name | Type | Required | In | Description |
|---|---|---|---|---|
bizId | string | No | body | Filter by channel business ID (max 64 characters) |
institutionBizId | string | No | body | Filter by institution business ID (max 64 characters) |
channelName | string | No | body | Filter by channel name (max 255 characters) |
channelCategory | string | No | body | Filter by category: EMAIL |
channelStatus | string | No | body | Filter by status: ACTIVE, INACTIVE, PENDING, ERROR |
activeOnly | boolean | No | body | If true, return only active channels |
Query Parameters (Pagination)
| Name | Type | Required | In | Description |
|---|---|---|---|---|
page | integer | No | query | Page number (0-based) |
size | integer | No | query | Page size |
sort | string | No | query | Sort field and direction (e.g., createdAt,desc) |
Success Response
Success200
{
"code": "2000",
"message": "SUCCESS",
"data": {
"content": [
{
"bizId": "ch_abc123",
"institutionBizId": "inst_abc123",
"channelName": "Main Email",
"channelRemark": null,
"channelHost": "smtp.example.com",
"channelCategory": "EMAIL",
"channelStatus": "ACTIVE",
"emailConfig": {
"smtpHost": "smtp.example.com",
"smtpPort": 587,
"senderEmail": "noreply@example.com",
"senderName": "Acme Corp",
"username": "noreply@example.com",
"password": "******",
"useSsl": true,
"useStartTls": false,
"connectionTimeout": 10000,
"readTimeout": 30000
},
"createdAt": "2026-03-21T00:00:00Z",
"updatedAt": "2026-03-21T00:00:00Z",
"createdBy": "user_xyz",
"updatedBy": "user_xyz"
}
],
"totalElements": 1,
"totalPages": 1,
"number": 0,
"size": 20
}
}Error Responses
| Code | Description |
|---|---|
4010 | Unauthorized (invalid or missing JWT token) |
4030 | Turnstile verification failed |
Notes
- All filter fields are optional; omit them to retrieve all channels.
- The response uses Spring Data
Pageformat withcontent,totalElements,totalPages,number, andsizefields. - Passwords in email config are masked in responses.