Skip to main content
Skip table of contents

Identity Enrollment Package Submission API

This tutorial describes how to use the IdExchange API to send an enrollment package to be used in the identity proofing process necessary to issue a hardware credential. . The {{IdExchangeServer}} placeholder should be replaced with id.cyberarmed.com

Tools:

In this example, the Postman tool can be used to provide an example of how the API calls are structured. However, any code platform capable of making REST calls will work.

Sequence

  1. The enrollment system calls the IDMS GetSponsoredUsers endpoint supplying a Last Name, Organization Code, or External ID to get a list of users that have been sponsored and waiting for enrollment services.

  2. The IDMS responds back with a list of users that are waiting for enrollment services. Importantly, the list of records will include the OrganizationAffiliation value for each user. This value will be used by the enrollment system for step 3.

  3. The enrollment system performs the identity enrollment processes and the submits the enrollment package using the OrganizationAffiliation that was retrieved in step 2.

  4. The IDMS will respond to the enrollment system with the customer ID.

image-20240904-135150.png

Authentication

The API requires a digital certificate for authentication. When the certificate is verified, the API will return a Java Web Token (JWT) that can be used for subsequent calls.

API Endpoint: https://{{IdExchangeServer}}:444/WebApi/Token

Body: grant_type=password

Response:

User Lookup

Step 1: User Lookup

Before the enrollment takes place, the a request for an identity enrollment will be placed for a given user. To locate the users that are to be enrolled, the enrollment client will executed a search using the following end point.

API Endpoint: https://{{IdExchangeServer}}:444/WebApi/api/2/GetSponsoredUsersi/2/GetSponsoredUsersapi/2/GetSponsoredUsers

The following search parameters can be used to target the search

Parameter

Description

externalId

The unique ID key information from the originating source used to reference the ID in the originating source.

lastName

Last name of the user

firstName

First name of the user

OrganizationCode

The organization code for the user

FourDigitYearOfDob

The last four year digit of the applicant’s birthday

Sample JSON:

CODE
{    
    "LastName": "NextGenIdTester",
    "FirstName":"TED",
    "FourDigitYearOfDob":"1992",
    "OrganizationCode":"4700",
    "ExternalId":"1000004213"
}

If successful, the call will return with a list of users that meet the criteria. *Important: The organizationAffiliation value is the identifying key for the applicant. When submitting the enrollment package, the organizationAffiliation value will also be submitted to accurately associate the user with the enrollment.

Step 2: Submit the Enrollment Package.

In this step, the user’s biographic and biometric data will be submitted using the EBTS format. .

API Endpoint: https://{{IdExchangeServer}}:444/WebApi/api/2/EnrollmentSubmission

Parameters

Parameter

Description

externalId

This is the organizationAffiliation value that was retrieved for the user in step one.

EbtsEnrollmentPackage

The EBTS JSON record that is base64 encoded and zipped.

transactionType

The type of capture

userCredentialPolicyKey

The policy key for a given user.

Sample JSON:

CODE
{
    "externalId": "91518687268685",    
    "EbtsEnrollmentPackage": "EBTSRECORD",   
    "transactionType": "LIVECPT",    
    "userCredentialPolicyKey": "Obert"    
}

Response

A successful response will provide the unique key for the enrollment.

"Credential request successfully created. UserId [1000012543]"

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.