Update Notification Channel
POST
/web/v1/notification-channels/command/update WEBUpdates an existing notification channel. Supports partial update -- only non-null fields are modified.
Required Headers
| Header | Example Value | Description |
|---|---|---|
| Content-Type | application/json | Request content type |
| Accept | application/json | Expected response type |
| X-Client-Hash | Client device fingerprint | |
| Accept-Language | en, zh, zh-Hant, ja, vi | Response language (default: en) |
| Authorization | Bearer | JWT access token |
Request Parameters
Request Body
NotificationChannelUpdateRequest:
| Name | Type | Required | In | Description |
|---|---|---|---|---|
bizId | string | Required | body | Channel business ID (max 64 characters) |
channelName | string | Optional | body | New channel name (max 255 characters) |
channelRemark | string | Optional | body | New channel remark (max 255 characters) |
channelHost | string | Optional | body | New channel host (max 512 characters) |
channelStatus | string | Optional | body | New status: ACTIVE, INACTIVE, PENDING, ERROR |
emailConfig | object | Optional | body | Updated email configuration (see Create endpoint for field details) |
Success Response
Success 200
{
"code": "2000",
"message": "SUCCESS",
"data": {
"bizId": "ch_abc123",
"institutionBizId": "inst_abc123",
"channelName": "Updated Email",
"channelRemark": "Production channel",
"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-21T01:00:00Z",
"createdBy": "user_xyz",
"updatedBy": "user_xyz"
}
}Error Responses
| Code | Description |
|---|---|
4000 | Validation error (missing bizId) |
4010 | Unauthorized (invalid or missing JWT token) |
4030 | Turnstile verification failed |
4040 | Channel not found |
Notes
- Only fields provided in the request body are updated; omitted fields remain unchanged.
- The password is masked in the response.