Apply the email change parked by POST /me/change-info, once the one-time code mailed to the new
address proves the caller controls it. The address is taken from the pending change, never from this
request. Five wrong codes drop the pending change; a new one must then be requested. The old address
stays in effect until this call succeeds. Rate limited per client IP.
Responses
-
Email changed
-
Wrong or expired code (
validation_erroron keycode), no pending email change (data.type = no_pending_email_change), or too many wrong codes (same type; the pending change was dropped) -
The verified address already belongs to another account
-
Unauthorized - invalid or missing JWT token
-
Rate limit exceeded
-
The verification store is unavailable; nothing was applied
-
Internal server error
curl \
--request POST 'https://my.nethesis.it/backend/api/me/change-info/verify-email' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"code": "482913"
}'
{
"code": "482913"
}
{
"code": 200,
"message": "profile updated successfully",
"data": {
"updated_fields": [
"email"
]
}
}
{
"code": 400,
"message": "validation failed",
"data": {
"type": "validation_error",
"errors": [
{
"key": "code",
"message": "invalid verification code",
"value": "string"
}
]
}
}
{
"code": 409,
"message": "email already in use by another account",
"data": {
"type": "already_exists",
"key": "email"
}
}
{
"code": 500,
"message": "internal server error",
"data": {}
}