Verify an Authentication Factor
Use this API to authenticate a one-time password (OTP) code provided by a multifactor authentication (MFA) device.
Use this endpoint to verify an OTP code provided by SMS, Email, or Authenticator. The verification_id parameter required by the PUT verification method is not required when the HTTP method is POST.
Resource URL
https://<subdomain>/api/2/mfa/users/<user_id>/verifications/
Header Parameter
Authorization required string | Set to Set The access token must have been generated using an API credential pair created using the scope required to call this API. This API can be called using the |
Resource Parameters
user_id required integer |
Set to the If you don’t know the user’s |
Request Parameter
otp string |
OTP code provided by the device or SMS message sent to user. |
device_id integer |
ID of the specified device which has been registerd for the given user. Available on Get Devices API call. |
Request Body
For OneLogin Email and OneLogin SMS:
{
"otp": "123456"
}
For Authenticator OTP:
{
"otp": "123456",
"device_id": "98765"
}
Sample Response
- 200 OK
- 401 Unauthorized
- 403 Forbidden
{
"status": {
"type": "success",
"code": 200,
"message": "Success",
"error": false
}
}
{
"statusCode": 401,
"name": "InvalidCredentials",
"message": "Please provide valid credentials"
}
{
"statusCode": 403,
"name": "ForbiddenAction",
"message": "You are not authorised to perform this action or access the resource"
}
Postman Collection
- Clicking Run in Postman button navigates to the page where you can fork the collection to your workspace. Forking the collection into your workspace will enable you to contribute to the source collection using pull requests. You can also view the collection in a public workspace if you like and even import a copy of the collection using the links present on the screen.
Sample Code
cURL
Replace sample values indicated by < >
with your actual values.
curl 'https://<subdomain>/api/2/mfa/users/<user_id>/verifications/' \
-X PUT \
-H "Authorization: bearer: <access_token>" \
-H "Content-Type: application/json" \
-d '{
"otp":"123456"
}'
Have a Question?
Found a problem or a bug? Submit a support ticket.
Looking for walkthroughs or how-to guides on OneLogin's user and admin features? Check out the documentation in our Knowledge Base.
Have a product idea or request? Share it with us in our Ideas Portal.