Skip to main content
Updating your phone number follows the same protect-then-verify pattern used across the account settings. You provide the new number in E.164 format together with your current password, and the API dispatches a one-time passcode (OTP) via SMS. Enter that 6-digit code in the second step to confirm ownership of the new number and complete the update.
The OTP sent to your new phone number expires after 10 minutes. If it expires before you confirm it, restart the flow by calling POST /users/me/phone-number again to receive a fresh code.

Phone Number Change Flow

1

Initiate the Phone Number Change

Call POST /users/me/phone-number with your new phone number (in E.164 format) and your current account password. The API validates the number, checks it is not already in use, and sends a 6-digit OTP via SMS.POST /users/me/phone-numberObtain a CSRF token from GET /auth/csrf-token before sending this request, and pass it in the x-csrf-token header.
E.164 format requires a leading +, the country code, and the subscriber number with no spaces or dashes. For example, a US number looks like +14155552671.
Request Body
string
required
The phone number you want to register, in E.164 format. Pattern: ^\+[1-9]\d{1,14}$. Example: +14155552671.
string
required
Your current account password, used to re-authenticate the request.
Response — 202 AcceptedNo response body is returned. An OTP has been sent to the new phone number via SMS.Error Responses
2

Confirm with the OTP

Retrieve the 6-digit OTP from your SMS inbox and call POST /users/me/phone-number/verify while still authenticated. The code is single-use and must be submitted within 10 minutes of dispatch.POST /users/me/phone-number/verifyObtain a fresh CSRF token before this call.Request Body
string
required
The 6-digit one-time passcode received via SMS. Pattern: ^\d{6}$. Example: 123456.
Response — 200 OK
Your account phone number is now updated. The new number will appear in your profile and will be used for future SMS communications.Error Responses