Update Own Profile
POST
/web/v1/system/profile/update JWTUpdates the authenticated user's own profile information. All fields are optional; only non-null fields are applied.
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
ProfileUpdateRequest:
| Name | Type | Required | In | Description |
|---|---|---|---|---|
request | ProfileUpdateRequest | Required | body | Raw request body (encrypted via SecureChannel, auto-decrypted by the server) |
accountName | String | Optional | body | Account display name (max 126 characters) |
accountPhone | String | Optional | body | Account phone number (max 25 characters) |
defaultLanguage | String | Optional | body | Preferred language code (max 10 characters, e.g. "en", "zh") |
defaultTimezone | String | Optional | body | Preferred timezone (max 50 characters, e.g. "America/New_York") |
defaultCountry | String | Optional | body | Preferred country code (max 10 characters, e.g. "US") |
Example request body:
Request Body 200
{
"accountName": "Jane Admin",
"accountPhone": "+1987654321",
"defaultLanguage": "zh",
"defaultTimezone": "Asia/Shanghai",
"defaultCountry": "CN"
}Request Example
json
{
"accountName": "John Doe",
"accountPhone": "+1234567890",
"defaultLanguage": "en",
"defaultTimezone": "UTC",
"defaultCountry": "US"
}Success Response
Success 200
{
"success": true,
"code": "2000",
"message": "SUCCESS",
"data": {
"bizId": "ACC_SYS_001",
"institutionBizId": "INST_SYS_001",
"accountEmail": "admin@example.com",
"accountPhone": "+1987654321",
"accountName": "Jane Admin",
"accountRemark": null,
"accountPortal": {
"code": "SYSTEM",
"value": 10010101,
"label": "System"
},
"accountStatus": {
"code": "ACTIVE",
"value": 10010202,
"label": "Active"
},
"createdAt": "2026-01-15T08:00:00Z",
"updatedAt": "2026-03-23T10:00:00Z",
"defaultLanguage": "zh",
"defaultTimezone": "Asia/Shanghai",
"defaultCountry": "CN"
}
}Error Responses
Unauthorized 401
{
"success": false,
"code": "4010",
"message": "Invalid or expired token"
}| Code | Description |
|---|---|
4000 | Validation error (field exceeds max length) |
4010 | Unauthorized (invalid or missing JWT token) |
Notes
- Only the authenticated user can update their own profile.
- All fields are optional. Only non-null fields are updated.
accountRemarkis admin-only and cannot be changed via this endpoint.- Changes are reflected immediately. The response returns the full updated profile.