Create Notification Channel
POST
/web/v1/notification-channels/command/createWEBCreates a new notification channel. Currently supports EMAIL channel type.
Authentication
Requires a valid JWT token and Turnstile verification. Gateway validation: enableJwtToken=true, enableTurnstile=true.
Request Parameters
Request Body
NotificationChannelCreateRequest:
| Name | Type | Required | In | Description |
|---|---|---|---|---|
institutionBizId | string | Yes | body | Institution business ID (max 64 characters) |
channelName | string | Yes | body | Channel name (max 255 characters) |
channelRemark | string | No | body | Channel remark (max 255 characters) |
channelHost | string | Yes | body | Channel host/access endpoint (max 512 characters) |
channelCategory | string | Yes | body | Channel category enum: EMAIL |
emailConfig | object | No | body | Email configuration (required when channelCategory is EMAIL) |
emailConfig.smtpHost | string | Yes | body | SMTP server hostname |
emailConfig.smtpPort | integer | Yes | body | SMTP server port (1-65535) |
emailConfig.senderEmail | string | Yes | body | Sender email address |
emailConfig.senderName | string | Yes | body | Sender display name |
emailConfig.username | string | Yes | body | SMTP authentication username |
emailConfig.password | string | Yes | body | SMTP authentication password |
emailConfig.useSsl | boolean | No | body | Use SSL encryption (default: true) |
emailConfig.useStartTls | boolean | No | body | Use STARTTLS (default: false) |
emailConfig.connectionTimeout | integer | No | body | Connection timeout in milliseconds (default: 10000) |
emailConfig.readTimeout | integer | No | body | Read timeout in milliseconds (default: 30000) |
Success Response
Success200
{
"code": "2000",
"message": "SUCCESS",
"data": {
"bizId": "ch_abc123",
"institutionBizId": "inst_abc123",
"channelName": "Main Email",
"channelRemark": null,
"channelHost": "smtp.example.com",
"channelCategory": "EMAIL",
"channelStatus": "PENDING",
"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"
}
}Error Responses
| Code | Description |
|---|---|
4000 | Validation error (missing required fields, invalid email config) |
4010 | Unauthorized (invalid or missing JWT token) |
4030 | Turnstile verification failed |
Notes
- The password is masked as
******in the response for security. - When
channelCategoryisEMAIL, theemailConfigobject is required. - The channel is created with
PENDINGstatus initially.