Start phone verification
Sends the user a one-time code. Relay it through your UI — the user reads it back to you, same pattern as the connect code. A verification stays fresh for 60 days. Provide phone_number only when the user has no phone on file (US numbers only).
How it works
Some flows need the user’s phone OTP-verified — for example, card attachment listsphone_number under user_info_required. Same embedded pattern as connect: we send the code, your UI collects it, you verify it server-to-server.
- If the user already has a verified phone that’s still fresh, the response is
already_verified— nothing more to collect. - Pass
phone_numberonly when the user has no phone on file. US numbers only (+1XXXXXXXXXX). - A verification stays fresh for 60 days; after that, run this flow again when a phone is required.
Authorizations
A platform access token. Get one on the Create an access token endpoint by exchanging your client_id + client_secret, then send it as Authorization: Bearer <token>. Tokens live one hour.
Body
Response
sent (code on its way) or already_verified (nothing to do — proceed to fund).
"phone_verification"sent, already_verified, verified Where the code was sent (status sent only).
sms, email The masked destination number (status sent only).
How long the code stays valid (status sent only).