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

Next Level3 API
AccountLockCheckThe 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 | |
Code | Description |
200 | OK {
"locked": "true",
"message": "string",
"sessionID": "string",
"status": "string"
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
EnableUserThe 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 | |
Code | Description |
200 | OK {
"nl3UserToken": "string"
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
PoliciesThe 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:
| |
Request Parameters | |
GET | /nl3/api/v1/sdk/policies |
x-nl3-api-token *required String (header) | Valid Next Level3 API Signing Key |
Responses | |
Code | Description |
200 | OK [
{
"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"
}
] |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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"
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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"
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
200 | OK |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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"
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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"
}
] |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
200 | OK string |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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"
}
] |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
RegistrationThe 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:
| |
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 | |
Code | Description |
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"
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
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
}
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
200 | OK {
"success": true
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not 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 | |
Code | Description |
200 | OK {
"success": true
} |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |