For phone-based OTP (one-time password) authentication — where an OTP is a single-use 6-digit code sent to verify the identity of a user — Wise supports multiple delivery methods, including SMS, WhatsApp, and voice. Use Wise's secure endpoint to create and register the end user's phone number. Then, call the trigger endpoints (SMS, WhatsApp, Voice) to send an OTP to the registered number. Finally, submit the OTP via the verify endpoints (SMS, WhatsApp, Voice) to complete the authentication challenge.
Please read the SCA over API guide to understand how SCA integration works.
Create a verified phone number for a user.
This endpoint is restricted and requires both a client credentials token and additional access to use. Please speak with your implementation manager if you would like to use this API.
Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.
- Production Environmenthttps://api.wise.com/2026Q3/application/users/{userId}/phone-numbers
- Sandbox Environmenthttps://api.wise-sandbox.com/2026Q3/application/users/{userId}/phone-numbers
curl -i -X POST \
'https://api.wise.com/2026Q3/application/users/{userId}/phone-numbers' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
-d '{
"phoneNumber": "string"
}'OK
Echoed back when X-External-Correlation-Id was included in the request. Learn more.
Type of phone number when used in authentication.
Only PRIMARY is supported at the moment.
{ "id": 1230944, "phoneNumber": "+6588888888", "type": "PRIMARY", "verified": true, "clientId": "clientId" }