API Docs

Documentation for using the Next Level3 API’s to integrate natively into your applications.

programming, code, development-583923.jpg

Next Level3 API

 
AccountLockCheck

The accountLockCheck is made to get the lock status for a user. This is the primary check used in authentication flow, either pre or post authentication, to determine the status of the account token associated with the userID. The accountLockCheck response defines the response returned from an accountLockCheck request. The response returned includes a boolean value containing the lock status for the account, either locked or unlocked.

Request Parameters
POST/nl3/api/v1/sdk/accountLockCheck
request
*required
Object
(body)

 UserID or nl3UserToken of user.

{
  "nl3UserToken": "string",
  "userAccountId": "string"
}
x-nl3-authorization-token
*required
String
(header)
Domain auth token signed by a valid Next Level3 Signing Key
 
Responses
CodeDescription
200

OK

{
  "locked": "true",
  "message": "string",
  "sessionID": "string",
  "status": "string"
}
201Created
401Unauthorized
403Forbidden
404Not Found
EnableUser

The enableUser api is used to enable account protection functionality for a given user in your system by linking the supplied user to a Next Level3 account. 

Request Parameters
POST/nl3/api/v1/sdk/enableUser
x-nl3-authorization-token
*required
String
(header)
Application auth token signed by a valid Next Level3 Signing Key
 
Responses
CodeDescription
200

OK
Example Value

{
  "nl3UserToken": "string" 
}
201Created
401Unauthorized
403Forbidden
404Not Found
Policies

The policy api’s are used to manage policies within the Next Level3 system. Use these API’s to perform a variety of policy management functionality including:

  • return a list of all policies for an entire organization
  • create policies
  • get specific policies
  • get approvers for multi approval type policies
  • execute policies
  • find users and groups assigned to policies
Request Parameters
GET/nl3/api/v1/sdk/policies
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK
Example Value

[
  {
    "activeDate": "2022-11-10T18:51:46.078Z",
    "alertAction": "ALLOW_UNLOCK",
    "allowUnlock": true,
    "approvers": [
      {
        "accountProtectionCheckHistory": [
          "string"
        ],
        "accounts": [
          {
            "application": "string",
            "autoRelockAllowed": true,
            "domain": {
              "id": "string",
              "name": "string",
              "url": "string"
            },
            "enabled": true,
            "groups": [
              {
                "companyId": "string",
                "createdByUser": "string",
                "createdDate": "2022-11-10T18:51:46.078Z",
                "groupDescription": "string",
                "groupKey": "string",
                "groupName": "string",
                "id": "string",
                "lastModifiedDate": "2022-11-10T18:51:46.078Z",
                "modifiedByUser": "string"
              }
            ],
            "id": "string",
            "lockStatus": true,
            "lockUnlockHistory": [
              "string"
            ],
            "lockedByPolicy": true,
            "userAccountAllowedCount": 0,
            "userAccountBlockedCount": 0,
            "userAccountId": "string"
          }
        ],
        "aggregations": {
          "todayBlocked": 0,
          "totalAllowed": 0,
          "totalBlocked": 0
        },
        "allowEmailNotification": true,
        "allowSmsNotification": true,
        "autoLockMinutes": 0,
        "autoLockOnAttempt": true,
        "autoLockOnBreach": true,
        "autoLockOnSuccess": true,
        "email": "string",
        "emailVerified": true,
        "first_name": "string",
        "full_name": "string",
        "id": "string",
        "isEULAAccepted": true,
        "isHelpViewed": true,
        "last_name": "string",
        "phone": "string",
        "userId": "string",
        "userType": "EXTERNAL",
        "username": "string"
      }
    ],
    "cronSchedule": "string",
    "endDate": "2022-11-10T18:51:46.078Z",
    "frequencyOfAction": "BI_WEEKLY",
    "id": "string",
    "metadata": {},
    "multiApprovalAction": "ALLOW_UNLOCK",
    "policyDescription": "string",
    "policyKey": "string",
    "policyName": "string",
    "policyType": "ALERT",
    "scheduleDateTime": "2022-11-10T18:51:46.078Z",
    "scheduledAction": "ALLOW_UNLOCK"
  }
]
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
POST/nl3/api/v1/sdk/policies
policyVO
*required
object
(body)

policyVO

{
  "activeDate": "2022-11-10T18:51:40.105Z",
  "alertAction": "ALLOW_UNLOCK",
  "allowUnlock": true,
  "approvers": [
    "string"
  ],
  "endDate": "2022-11-10T18:51:40.105Z",
  "frequencyOfAction": "BI_WEEKLY",
  "metadata": {},
  "multiApprovalAction": "ALLOW_UNLOCK",
  "policyKey": "string",
  "policyName": "string",
  "policyType": "ALERT",
  "scheduleDateTime": "2022-11-10T18:51:40.105Z",
  "scheduledAction": "ALLOW_UNLOCK"
}
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

{
  "activeDate": "2022-11-10T19:00:31.361Z",
  "alertAction": "ALLOW_UNLOCK",
  "allowUnlock": true,
  "approvers": [
    {
      "accountProtectionCheckHistory": [
        "string"
      ],
      "accounts": [
        {
          "application": "string",
          "autoRelockAllowed": true,
          "domain": {
            "id": "string",
            "name": "string",
            "url": "string"
          },
          "enabled": true,
          "groups": [
            {
              "companyId": "string",
              "createdByUser": "string",
              "createdDate": "2022-11-10T19:00:31.361Z",
              "groupDescription": "string",
              "groupKey": "string",
              "groupName": "string",
              "id": "string",
              "lastModifiedDate": "2022-11-10T19:00:31.361Z",
              "modifiedByUser": "string"
            }
          ],
          "id": "string",
          "lockStatus": true,
          "lockUnlockHistory": [
            "string"
          ],
          "lockedByPolicy": true,
          "userAccountAllowedCount": 0,
          "userAccountBlockedCount": 0,
          "userAccountId": "string"
        }
      ],
      "aggregations": {
        "todayBlocked": 0,
        "totalAllowed": 0,
        "totalBlocked": 0
      },
      "allowEmailNotification": true,
      "allowSmsNotification": true,
      "autoLockMinutes": 0,
      "autoLockOnAttempt": true,
      "autoLockOnBreach": true,
      "autoLockOnSuccess": true,
      "email": "string",
      "emailVerified": true,
      "first_name": "string",
      "full_name": "string",
      "id": "string",
      "isEULAAccepted": true,
      "isHelpViewed": true,
      "last_name": "string",
      "phone": "string",
      "userId": "string",
      "userType": "EXTERNAL",
      "username": "string"
    }
  ],
  "cronSchedule": "string",
  "endDate": "2022-11-10T19:00:31.361Z",
  "frequencyOfAction": "BI_WEEKLY",
  "id": "string",
  "metadata": {},
  "multiApprovalAction": "ALLOW_UNLOCK",
  "policyDescription": "string",
  "policyKey": "string",
  "policyName": "string",
  "policyType": "ALERT",
  "scheduleDateTime": "2022-11-10T19:00:31.361Z",
  "scheduledAction": "ALLOW_UNLOCK"
}
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
GET/nl3/api/v1/sdk/policies/{id}
id
*required
String
(path)
policy id 
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

{
  "activeDate": "2022-11-10T19:12:06.836Z",
  "alertAction": "ALLOW_UNLOCK",
  "allowUnlock": true,
  "approvers": [
    {
      "accountProtectionCheckHistory": [
        "string"
      ],
      "accounts": [
        {
          "application": "string",
          "autoRelockAllowed": true,
          "domain": {
            "id": "string",
            "name": "string",
            "url": "string"
          },
          "enabled": true,
          "groups": [
            {
              "companyId": "string",
              "createdByUser": "string",
              "createdDate": "2022-11-10T19:12:06.836Z",
              "groupDescription": "string",
              "groupKey": "string",
              "groupName": "string",
              "id": "string",
              "lastModifiedDate": "2022-11-10T19:12:06.836Z",
              "modifiedByUser": "string"
            }
          ],
          "id": "string",
          "lockStatus": true,
          "lockUnlockHistory": [
            "string"
          ],
          "lockedByPolicy": true,
          "userAccountAllowedCount": 0,
          "userAccountBlockedCount": 0,
          "userAccountId": "string"
        }
      ],
      "aggregations": {
        "todayBlocked": 0,
        "totalAllowed": 0,
        "totalBlocked": 0
      },
      "allowEmailNotification": true,
      "allowSmsNotification": true,
      "autoLockMinutes": 0,
      "autoLockOnAttempt": true,
      "autoLockOnBreach": true,
      "autoLockOnSuccess": true,
      "email": "string",
      "emailVerified": true,
      "first_name": "string",
      "full_name": "string",
      "id": "string",
      "isEULAAccepted": true,
      "isHelpViewed": true,
      "last_name": "string",
      "phone": "string",
      "userId": "string",
      "userType": "EXTERNAL",
      "username": "string"
    }
  ],
  "cronSchedule": "string",
  "endDate": "2022-11-10T19:12:06.836Z",
  "frequencyOfAction": "BI_WEEKLY",
  "id": "string",
  "metadata": {},
  "multiApprovalAction": "ALLOW_UNLOCK",
  "policyDescription": "string",
  "policyKey": "string",
  "policyName": "string",
  "policyType": "ALERT",
  "scheduleDateTime": "2022-11-10T19:12:06.836Z",
  "scheduledAction": "ALLOW_UNLOCK"
}
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
DELETE/nl3/api/v1/sdk/policies/{id}
id
*required
String
(path)
policy id 
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
PATCH/nl3/api/v1/sdk/policies/{id}
id
*required
String
(path)
policy id 
policyPatchVO
*required
Object
(body)

policyPatchVO

{
  "activeDate": "2022-11-10T19:18:15.799Z",
  "alertAction": "ALLOW_UNLOCK",
  "allowUnlock": true,
  "approversToAdd": [
    "string"
  ],
  "approversToRemove": [
    "string"
  ],
  "endDate": "2022-11-10T19:18:15.799Z",
  "frequencyOfAction": "BI_WEEKLY",
  "groupMembersToAdd": [
    "string"
  ],
  "groupMembersToRemove": [
    "string"
  ],
  "membersToAdd": [
    "string"
  ],
  "membersToRemove": [
    "string"
  ],
  "metadata": {},
  "multiApprovalAction": "ALLOW_UNLOCK",
  "policyName": "string",
  "scheduleDateTime": "2022-11-10T19:18:15.799Z",
  "scheduledAction": "ALLOW_UNLOCK" 
}

x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

{
  "activeDate": "2022-11-10T19:35:45.054Z",
  "alertAction": "ALLOW_UNLOCK",
  "allowUnlock": true,
  "approvers": [
    {
      "accountProtectionCheckHistory": [
        "string"
      ],
      "accounts": [
        {
          "application": "string",
          "autoRelockAllowed": true,
          "domain": {
            "id": "string",
            "name": "string",
            "url": "string"
          },
          "enabled": true,
          "groups": [
            {
              "companyId": "string",
              "createdByUser": "string",
              "createdDate": "2022-11-10T19:35:45.054Z",
              "groupDescription": "string",
              "groupKey": "string",
              "groupName": "string",
              "id": "string",
              "lastModifiedDate": "2022-11-10T19:35:45.054Z",
              "modifiedByUser": "string"
            }
          ],
          "id": "string",
          "lockStatus": true,
          "lockUnlockHistory": [
            "string"
          ],
          "lockedByPolicy": true,
          "userAccountAllowedCount": 0,
          "userAccountBlockedCount": 0,
          "userAccountId": "string"
        }
      ],
      "aggregations": {
        "todayBlocked": 0,
        "totalAllowed": 0,
        "totalBlocked": 0
      },
      "allowEmailNotification": true,
      "allowSmsNotification": true,
      "autoLockMinutes": 0,
      "autoLockOnAttempt": true,
      "autoLockOnBreach": true,
      "autoLockOnSuccess": true,
      "email": "string",
      "emailVerified": true,
      "first_name": "string",
      "full_name": "string",
      "id": "string",
      "isEULAAccepted": true,
      "isHelpViewed": true,
      "last_name": "string",
      "phone": "string",
      "userId": "string",
      "userType": "EXTERNAL",
      "username": "string"
    }
  ],
  "cronSchedule": "string",
  "endDate": "2022-11-10T19:35:45.054Z",
  "frequencyOfAction": "BI_WEEKLY",
  "id": "string",
  "metadata": {},
  "multiApprovalAction": "ALLOW_UNLOCK",
  "policyDescription": "string",
  "policyKey": "string",
  "policyName": "string",
  "policyType": "ALERT",
  "scheduleDateTime": "2022-11-10T19:35:45.054Z",
  "scheduledAction": "ALLOW_UNLOCK"
}
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
GET/nl3/api/v1/sdk/policies/{id}/approvers
id
*required
String
(path)
policy id 
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

[
  {
    "accountProtectionCheckHistory": [
      "string"
    ],
    "accounts": [
      {
        "application": "string",
        "autoRelockAllowed": true,
        "domain": {
          "id": "string",
          "name": "string",
          "url": "string"
        },
        "enabled": true,
        "groups": [
          {
            "companyId": "string",
            "createdByUser": "string",
            "createdDate": "2022-11-10T19:40:02.166Z",
            "groupDescription": "string",
            "groupKey": "string",
            "groupName": "string",
            "id": "string",
            "lastModifiedDate": "2022-11-10T19:40:02.166Z",
            "modifiedByUser": "string"
          }
        ],
        "id": "string",
        "lockStatus": true,
        "lockUnlockHistory": [
          "string"
        ],
        "lockedByPolicy": true,
        "userAccountAllowedCount": 0,
        "userAccountBlockedCount": 0,
        "userAccountId": "string"
      }
    ],
    "aggregations": {
      "todayBlocked": 0,
      "totalAllowed": 0,
      "totalBlocked": 0
    },
    "allowEmailNotification": true,
    "allowSmsNotification": true,
    "autoLockMinutes": 0,
    "autoLockOnAttempt": true,
    "autoLockOnBreach": true,
    "autoLockOnSuccess": true,
    "email": "string",
    "emailVerified": true,
    "first_name": "string",
    "full_name": "string",
    "id": "string",
    "isEULAAccepted": true,
    "isHelpViewed": true,
    "last_name": "string",
    "phone": "string",
    "userId": "string",
    "userType": "EXTERNAL",
    "username": "string"
  }
]
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
POST/nl3/api/v1/sdk/policies/{id}/execute
id
*required
String
(path)

policy id 

x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

string
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
GET/nl3/api/v1/sdk/policies/{id}/groupMembers
id
*required
String
(path)
policy id 
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

[
  {
    "companyId": "string",
    "createdByUser": "string",
    "createdDate": "2022-11-10T19:45:45.463Z",
    "groupDescription": "string",
    "groupKey": "string",
    "groupName": "string",
    "id": "string",
    "lastModifiedDate": "2022-11-10T19:45:45.463Z",
    "modifiedByUser": "string"
  }
]
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
GET/nl3/api/v1/sdk/policies/{id}/members
id
*required
String
(path)
policy id
page
integer($int32)
(query)
page
default value: 0
pageSize
integer($int32)
(query)
pageSize
default value: 20
x-nl3-api-token
*required
String
(header)
Valid Next Level3 API Signing Key
 
Responses
CodeDescription
200

OK

{
  "currentPage": 0,
  "first": true,
  "items": [
    {
      "application": "string",
      "autoRelockAllowed": true,
      "domain": {
        "id": "string",
        "name": "string",
        "url": "string"
      },
      "enabled": true,
      "groups": [
        {
          "companyId": "string",
          "createdByUser": "string",
          "createdDate": "2022-11-10T19:48:27.357Z",
          "groupDescription": "string",
          "groupKey": "string",
          "groupName": "string",
          "id": "string",
          "lastModifiedDate": "2022-11-10T19:48:27.357Z",
          "modifiedByUser": "string"
        }
      ],
      "id": "string",
      "lockStatus": true,
      "lockUnlockHistory": [
        "string"
      ],
      "lockedByPolicy": true,
      "userAccountAllowedCount": 0,
      "userAccountBlockedCount": 0,
      "userAccountId": "string"
    }
  ],
  "itemsPerPage": 0,
  "last": true,
  "pageSize": 0,
  "totalItems": 0,
  "totalPages": 0
}
201Created
401Unauthorized
403Forbidden
404Not Found
Registration

The registration api’s are used to manage user signup and device registration within the Next Level3 system. Use these API’s to perform a variety of user and device management functionality including:

  • start device registration
  • finish device registration
  • signup a new user after device registration
  • confirm a user signup
Request Parameters
POST/nl3/api/v1/sdk/registration/start
request
*required
Object
(body)

request

{
  "attestation": "string",
  "authenticatorSelection": {
    "authenticatorAttachment": [
      "CROSS_PLATFORM"
    ],
    "requireResidentKey": true,
    "userVerification": "DISCOURAGED"
  },
  "credentialNickname": "string",
  "username": "string"
}
x-nl3-authorization-token
*required
String
(header)
Domain auth token signed by a valid Next Level3 Signing Key
 
Responses
CodeDescription
200

OK

{
  "credentialNickname": "string",
  "publicKeyCredentialCreationOptions": {
    "attestation": "DIRECT",
    "authenticatorSelection": {
      "authenticatorAttachment": "CROSS_PLATFORM",
      "residentKey": "DISCOURAGED",
      "userVerification": "DISCOURAGED"
    },
    "challenge": {
      "base64": "string",
      "base64Url": "string",
      "bytes": "string",
      "empty": true,
      "hex": "string"
    },
    "excludeCredentials": [
      {
        "id": {
          "base64": "string",
          "base64Url": "string",
          "bytes": "string",
          "empty": true,
          "hex": "string"
        },
        "transports": [
          {
            "id": "string"
          }
        ],
        "type": "PUBLIC_KEY"
      }
    ],
    "extensions": {
      "appidExclude": {
        "id": "string"
      },
      "credProps": true,
      "largeBlob": {
        "support": {
          "value": "string"
        }
      },
      "uvm": true
    },
    "pubKeyCredParams": [
      {
        "alg": "ES256",
        "type": "PUBLIC_KEY"
      }
    ],
    "rp": {
      "id": "string",
      "name": "string"
    },
    "timeout": 0,
    "user": {
      "displayName": "string",
      "id": {
        "base64": "string",
        "base64Url": "string",
        "bytes": "string",
        "empty": true,
        "hex": "string"
      },
      "name": "string"
    }
  },
  "registrationId": "string",
  "username": "string"
}
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
POST/nl3/api/v1/sdk/registration/finish
request
*required
Object
(body)

request

{
  "credential": {
    "clientExtensionResults": {
      "appidExclude": true,
      "credProps": {
        "rk": true
      },
      "largeBlob": {
        "supported": true
      }
    },
    "id": {
      "bytes": "string"
    },
    "rawId": {
      "bytes": "string"
    },
    "response": {
      "attestationObject": {
        "bytes": "string"
      },
      "clientDataJSON": {
        "bytes": "string"
      },
      "transports": [
        {}
      ]
    },
    "type": "PUBLIC_KEY"
  },
  "registrationId": "string"
}

 

x-nl3-authorization-token
*required
String
(header)
Domain auth token signed by a valid Next Level3 Signing Key
 
Responses
CodeDescription
200

OK

{
  "credId": "string",
  "deviceId": "string",
  "publicKey": "string",
  "registrationResult": {
    "aaguid": {
      "base64": "string",
      "base64Url": "string",
      "bytes": "string",
      "empty": true,
      "hex": "string"
    },
    "attestationTrustPath": [
      "string"
    ],
    "attestationTrusted": true,
    "attestationType": "ANONYMIZATION_CA",
    "authenticatorExtensionOutputs": {
      "uvm": [
        {
          "keyProtectionType": "KEY_PROTECTION_HARDWARE",
          "matcherProtectionType": "MATCHER_PROTECTION_ON_CHIP",
          "userVerificationMethod": "USER_VERIFY_ALL"
        }
      ]
    },
    "clientExtensionOutputs": {
      "appidExclude": true,
      "credProps": {
        "rk": true
      },
      "largeBlob": {
        "supported": true
      }
    },
    "keyId": {
      "id": {
        "base64": "string",
        "base64Url": "string",
        "bytes": "string",
        "empty": true,
        "hex": "string"
      },
      "transports": [
        {
          "id": "string"
        }
      ],
      "type": "PUBLIC_KEY"
    },
    "publicKeyCose": {
      "base64": "string",
      "base64Url": "string",
      "bytes": "string",
      "empty": true,
      "hex": "string"
    },
    "signatureCount": 0
  }
}
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
POST/nl3/api/v1/sdk/registration/signup
userSignUpRequest
*required
Object
(body)

userSignUpRequest

{
  "email": "string",
  "first_name": "string",
  "last_name": "string",
  "phone": "string",
  "publicKeyCred": "string",
  "username": "string"
}

 

x-nl3-authorization-token
*required
String
(header)
Domain auth token signed by a valid Next Level3 Signing Key
 
Responses
CodeDescription
200

OK

{
  "success": true
}
201Created
401Unauthorized
403Forbidden
404Not Found
Request Parameters
POST/nl3/api/v1/sdk/registration/confirmSignup
confirmSignUpRequest
*required
Object
(body)

confirmSignUpRequest

{
  "confirmationCode": "string",
  "username": "string"
}

 

x-nl3-authorization-token
*required
String
(header)
Domain auth token signed by a valid Next Level3 Signing Key
 
Responses
CodeDescription
200

OK

{
  "success": true
}
201Created
401Unauthorized
403Forbidden
404Not Found

Scroll to Top