- Print
- PDF
Manage MFA
- Print
- PDF
All the MFA APIs require the following request parameter:
Parameter | Description | Data Type | Required |
---|---|---|---|
factor | Indicates the MFA factor used for Step Up Verification. Values: TOTP, WEB_AUTHN, PASSWORD, ANY | string | Mandatory |
1. Get all Current Authenticated User's MFA Factor Registrations
This GET method is used by the authenticated user to retrieve all their MFA factor registrations.
GET | {{url}}/api/mfa/registrations |
Request Example
curl --location GET '{{url}}/api/mfa/registrations' \
--header 'Accept: application/json'
Response Example
Status: 200 OK
[
{
"status": "CHALLENGE",
"factor": "TOTP",
"additionalDetails": {
"additionalProp1": {}
}
}
]
2. Register the Current Authenticated User for the MFA factor
This POST method registers the authenticated user for a MFA factor.
POST | {{url}}/api/mfa/register/{factor} |
Request Example
curl --location POST '{{url}}/api/mfa/register/TOTP' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data ' {
"additionalProp1": {}
}'
Response Example
{
"status": "CHALLENGE",
"factor": "TOTP",
"additionalDetails": {
"additionalProp1": {}
}
}
Status: 200 OK |
3. Get the Current Authenticated User's MFA Factor Registration Details
This GET method is used by the authenticated user to retrieve their MFA factor registration details.
GET | {{url}}/api/mfa/register/{factor} |
Request Example
curl --location GET '{{url}}/api/mfa/register/TOTP' \
--header 'Accept: application/json'
Response Example
{
"status": "CHALLENGE",
"factor": "TOTP",
"additionalDetails": {
"additionalProp1": {}
}
}
4. Delete the current authenticated user's MFA factor registration
This DELETE method deletes the current authenticated user's MFA registration.
DELETE | {{url}}/api/mfa/register/{factor}/{credential} |
Request Parameters
The request parameter used in this method is shown in the following table:
Parameter | Description | Data Type | Required |
credential | The MFA factor credential to confirm deletion of the MFA factor registration. | String | Mandatory |
Request Example
curl --location --request DELETE '{{url}}/api/mfa/register/TOTP/<string>' \
--header 'Accept: application/json'
Response Example
{
"message": "<string>",
"errorCode": "<string>"
}
Status: 204 No Content |
5. Get MFA factor Registration Details for a User
This GET method is used by tenant administrators to retrieve the MFA factor registration details for the given target user.
Note: Only administrators can execute this API.
GET | {{url}}/api/mfa/admin/registrations/users/{targetUserId} |
Request Parameters
The request parameter used in this method is shown in the following table:
Parameter | Description | Data Type | Required |
targetUserId | The random 20 alphanumeric string ID of the service identity user. | String | Mandatory |
Request Example
curl --location GET '{{url}}/api/mfa/admin/registrations/TOTP/users/<string>' \
--header 'Accept: application/json'
Response Example
[
{
"status": "CHALLENGE",
"factor": "TOTP",
"additionalDetails": {
"additionalProp1": {}
}
}
]
6. Delete MFA factor registration details
This DELETE method deletes all MFA factor registrations for the given target user.
Note: Only administrators can execute this API.
DELETE | {{url}}/api/mfa/admin/registrations/{{factor}}/users/{{targetUserId}} |
The request parameter used in this method is shown in the following table:
Parameter | Description | Data Type | Required |
targetUserId | The random 20 alphanumeric string id of the service identity user. | String | Mandatory |
Request Example
curl --location --request DELETE '{{url}}/api/mfa/admin/registrations/TOTP/users/<string>'
Status: 204 No Content
7. Delete MFA factor registered credentials
This DELETE method deletes all MFA factor registered credentials.
Note: Only administrators can execute this API.
DELETE | {{url}}/api/mfa/admin/registrations/{factor}/users/{targetUserId}/credentials/{credentialId} |
The request parameter used in this method is shown in the following table:
Parameter | Description | Data Type | Required |
targetUserId | The random 20 alphanumeric string id of the service identity user. | String | Mandatory |
credentialId | The identifier of a specific MFA factor credential. | String | Mandatory |
Request Example
curl --location --request DELETE '{{url}}/api/mfa/admin/registrations/TOTP/users/<string>'
Status: 204 No Content
Manage Users
1. Users with view access to identities can retrieve another user’s TOTP registration status
This GET method returns the user's TOTP registration status.
GET | {{url}}/api/mfa/admin/registrations/{factor}/users/{targetUserId} |
Request Example
curl --location --request GET '{{url}}/api/mfa/admin/registrations/{factor}/users/{targetUserId}'
Response Example
{
"status": "REGISTERED",
"factor": "TOTP"
}
2. Users with Manage Access to Identities can delete/unregister another user’s TOTP registration
This GET method is used by users who have managed access to delete or unregister another user's TOPT registration.
GET | {{url}}/api/mfa/admin/registrations/{factor}/users/{targetUserId} |
Request Example
curl --location --request GET '{{url}}/api/mfa/admin/registrations/{factor}/users/{targetUserId}'
Response Example
{
"status": "REGISTERED",
"factor": "TOTP"
}
Status: 204 No Content
Register and View Step Up MFA TOTP Factor
1. Create a New Secret Key for OTP Generations
This POST method creates a new secret key for OTP generations.
POST | {{url}}/api/mfa/register/TOTP |
Request Example
curl --location --request POST
{
"action": "GENERATE_SECRET"
}
Response Example
{
"status": "CHALLENGE",
"factor": "TOTP",
"additionalDetails":
{
"registrationStatus": "CHALLENGE", "key":
"K5WWKYUNX3KWCDVF7CN2RYP7IBPTGYNS", "uri":
"otpauth://totp/Britive:ymwmacdev-yiumen.wong@britive.com?
secret=K5WWKYUNX3KWCDVF7CN2RYP7IBPTGYNS&issuer=Britive&algorithm=SHA512&digits=6&period=30"
}
}
2. Get MFA TOTP Registration Status
This GET method returns the MFA TOTP registration status.
GET | {{url}}/api/mfa/register/TOTP |
Request Example
curl --location --request GET '{{url}}/api/mfa/register/TOTP'
Response Example
{
"status": "REGISTERED",
"factor": "TOTP"
}