See api-docs Menu

Get Available Authentication Factors


Use this API to return a list of authentication factors that are available for user enrollment via API. This list is dependent upon the given user’s policy configuration.

Once a factor has been enrolled by a user it will no longer be returned in this request.

For a full list of factors that a user has enrolled via UI or API use the Get Enrolled Factors call.

The API supports enrollment of SMS, Voice, Email, Authenticator (TOTP), and OneLogin Protect.

Resource URL

https://<subdomain>/api/2/mfa/users/<user_id>/factors

Header Parameter

Authorization

required

string

Set to bearer:<access_token>.

Set <access_token> to the access token you generated using the Generate Token API.

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 Manage All scope.

Resource Parameter

user_id

required

integer

Set to the id of the user.

If you don’t know the user’s id, use the Get Users API call to return all users and their id values.

Sample Response

[
    {
        "factor_id": 58958,
        "name": "OneLogin Protect",
        "auth_factor_name": "OneLogin"
    },
    {
        "factor_id": 58959,
        "name": "OneLogin SMS",
        "auth_factor_name": "SMS"
    },
    {
        "factor_id": 58960,
        "name": "OneLogin Voice",
        "auth_factor_name": "OneLogin Voice"
    },
    {
        "factor_id": 58961,
        "name": "OneLogin Email",
        "auth_factor_name": "OneLogin Email"
    },
    {
        "factor_id": 58957,
        "name": "Authenticator",
        "auth_factor_name": "Google Authenticator"
    }
]
{
    "statusCode": 401,
    "name": "InvalidCredentials",
    "message": "Please provide valid credentials"
}

Response Elements

name

Authentication factor name, as it appears to administrators in OneLogin.

auth_factor_name

Internal use only

factor_id Identifier for the factor which will be used for user enrollment

Postman Collection

Run In Postman

    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>/factors' \
-X GET \
-H "Authorization: bearer: <access_token>" \

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.