Our SMS APIs allow the sending of an SMS one-time code to a user, then obtaining that code for verification.
Note: Phone numbers need to be in E.164 format, ie. +14165551234
If they are not, you will receive a 400 error when making an SMS Send call.
Note: We only support US mobile phone numbers, any other country or phone type will be rejected and you will receive a 400 error.
Request Response
Copy {
"phoneNumber" : "+14165551234" ,
}
Copy {
"phoneId" : "phone-number-test-01234abc-0000-0000-0000-0123456789" ,
"phoneMask" : "1234"
}
cURL
Copy curl --location --request POST 'https://api.ratio.me/v1/auth/otp/sms:send' \
--header 'Authorization: Bearer eyJ......' \
--header 'ratio-client-id: <YOUR_CLIENT_ID>' \
--header 'ratio-client-secret: <YOUR_CLIENT_SECRET>' \
--header 'Content-Type: application/json' \
--data-raw '{
"phoneNumber": "+14165551234"
}'
Once you receive the one-time code from the user, send it as well as the phoneId
you received in the first response to the sms:authenticate
endpoint to obtain a JWT
.
Request Response
Copy {
"phoneId" : "phone-number-test-01234abc-0000-0000-0000-0123456789" ,
"otp" : "123456" ,
}
Copy {
"sessionJwt" : "eyJ............"
}
cURL
Copy curl --location --request POST 'https://api.ratio.me/v1/auth/otp/sms:authenticate' \
--header 'ratio-client-id: <YOUR_CLIENT_ID>' \
--header 'ratio-client-secret: <YOUR_CLIENT_SECRET>' \
--header 'Authorization: Bearer eyJ......' \
--header 'Content-Type: application/json' \
--data-raw '{
"otp": "123456",
"phoneId": "phone-number-test-01234abc-0000-0000-0000-0123456789"
}'