Create-ID API (0.3.0)

Download OpenAPI specification:Download

Create-ID API documentation for partner integrations.

Authentication

api-key

Security Scheme Type HTTP
HTTP Authorization Scheme basic

auth0

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

auth0-oidc

Security Scheme Type OpenID Connect
Connect URL https://princetonidentity.us.auth0.com/.well-known/openid-configuration

Access Levels

List access levels.

Retrieves a list of access levels that meet a set of search criteria.

Authorizations:
query Parameters
name
string

Defines a fuzzy search term on the access level's name.

asc
boolean
Default: true

When sorting, indicates whether the list should be sorted in ascending order. false indicates descending.

sort
string (AccessLevelSortField)
Value: "Name"

Indicates that the list should be sorted by the specified field.

limit
integer <int64>
Default: 12

The maximum number of records to return.

skip
integer <int64>
Default: 0

The number of records to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "revision": 0,
  • "timestamp": 0,
  • "total": 0
}

Create or update an access level.

Creates a new access level. For creation, id must not be specified (it will be auto-generated).

Authorizations:
Request Body schema: application/json
id
string <uuid>
location
string
name
string
object (Schedule)

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "location": "string",
  • "name": "string",
  • "schedule": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "location": "string",
  • "name": "string",
  • "schedule": {
    }
}

Remove an access level.

Remove an access level by ID.

Authorizations:
path Parameters
id
required
string

The ID of the access level to remove.

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Approvals

List approvals.

Retrieves a list of approvals that meet a set of search criteria.

Authorizations:
query Parameters
status
string (ApprovalStatus)
Enum: "Pending" "Approved" "Rejected"

List approvals in the specified state.

after
string <date-time>

Return approvals that occurred on or after the specified time.

before
string <date-time>

Return approvals that occurred on or before the specified time.

accessLevelId
string

Restrict the list of approvals to those who are tagged with the specified access level id.

asc
boolean
Default: true

When sorting, indicates whether the list should be sorted in ascending order ("false" indicates descending).

sort
string (ApprovalSortField)
Enum: "Email" "LastName" "Time"

Indicates that the list should be sorted by the specified field.

limit
integer <int64>
Default: 5000

The maximum number of approvals records to return.

skip
integer <int64>
Default: 0

The number of records to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "revision": 0,
  • "timestamp": 0,
  • "total": 0
}

Create an approval record.

Creates or updates an approval record. For creation, if approvalId is not specified, it will be auto-generated.

Authorizations:
Request Body schema: application/json
licensePlate
string
phoneNumber
string
photoId
string <byte>
portrait
string <byte>

Responses

Request samples

Content type
application/json
{
  • "licensePlate": "string",
  • "phoneNumber": "string",
  • "photoId": "string",
  • "portrait": "string"
}

Response samples

Content type
application/json
{
  • "approvalId": "string",
  • "samples": [
    ],
  • "status": "Pending",
  • "submitter": {
    },
  • "userData": {
    }
}

Approve an encounter.

Performs biometric extraction and enrolls the resulting biometrics to the subject specified in the encounter. This is used to "approve" an encounter.

Authorizations:
path Parameters
approvalId
required
string

The ID of the encounter record to enroll.

Responses

Response samples

Content type
application/json
{
  • "duplicates": [
    ],
  • "enrollments": [
    ],
  • "failedSamples": [
    ],
  • "message": "string",
  • "status": "OK",
  • "subjectId": "string"
}

Reject an approval.

This is used to "reject" an encounter.

Authorizations:
path Parameters
approvalId
required
string

The ID of the encounter record to reject.

Responses

Response samples

Content type
application/json
{
  • "approvalId": "string",
  • "samples": [
    ],
  • "status": "Pending",
  • "submitter": {
    },
  • "userData": {
    }
}

Assess biometric quality information.

Attempts to extract biometric templates from provided biometric samples (images). This is used to ensure the images captured by the end user during the registration process are acceptable. This does not return any biometric data, only quality information

Authorizations:
Request Body schema: application/json
Array
acquired
integer <int64>
captureTime
integer <int64>
contentType
string
data
string <byte>
object
deviceId
string
encounterId
string
internalId
integer <int64>
make
string
object
modality
string
Enum: "Face" "Iris" "Finger" "Scent" "DNA" "Ear" "Foot" "Vein" "HandGeometry" "Retina" "Voice" "Gait" "Keystroke" "LipMovement" "SignatureSign" "ScarMarkTattoo"
model
string
postingId
string
quality
number <double>
reference
string
sampleId
string
sampleType
string
Enum: "Enroll" "Probe" "Validate"
sizeBytes
integer <int64>
submodality
string
Enum: "LeftIris" "RightIris" "FrontalFace" "LeftProfileFace" "RightProfileFace" "RightThumb" "RightIndex" "RightMiddle" "RightRing" "RightLittle" "LeftThumb" "LeftIndex" "LeftMiddle" "LeftRing" "LeftLittle" "PlainRightThumb" "PlainRightIndex" "PlainRightMiddle" "PlainRightRing" "PlainRightLittle" "PlainLeftThumb" "PlainLeftIndex" "PlainLeftMiddle" "PlainLeftRing" "PlainLeftLittle" "PlainRightFour" "PlainLeftFour" "Unknown"
url
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "biometrics": [
    ],
  • "successful": true
}

Retrieve sample image data.

Returns a image data for the indicated sampleId. Content-Type will be image/jpeg if scaling is requested, otherwise the sample will retain its Content-Type as originally submitted. If only one dimension of scaling is requested, the original aspect ratio will be maintained.

Authorizations:
path Parameters
imageId
required
string

The ID of the sample to retrieve.

query Parameters
w
integer <int64>
Default: 0

The scaled width of the sample to retrieve. A value of 0 results in no scaling.

h
integer <int64>
Default: 0

The scaled height of the sample to retrieve. A value of 0 results in no scaling.

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Devices

Query the event logs generated by the system.

The system log endpoint returns a list of log entries compiled from submissions from all connected components. Entries logged here are often, but not always, errors or important events.

Authorizations:
query Parameters
componentId
string

Restrict the result to entries from the specified component ID.

type
string

Restrict the list of log entries to those of the specified type (Debug, Info, Warn, Error).

event
string

Include only log entries for the specified event.

acknowledged
string

Filter log entries based on acknowledgement status. Specifying this value as true will include only acknowledged entries; false will include only un-acknowledged entries.

asc
boolean
Default: true

When sorting, indicates whether the list should be sorted in ascending order ("false" indicates descending).

sort
string (ComponentLogSortField)
Value: "Time"

Indicates that the list should be sorted by the specified field. Currently only supports sorting by timestamp.

limit
integer <int64>
Default: 5000

The maximum number of entries to return.

skip
integer <int64>
Default: 0

The number of entries to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "revision": 0,
  • "timestamp": 0,
  • "total": 0
}

Query the status of devices connected to the system.

The device health endpoint returns a list of all known components along with their current health and status information. Querying this endpoint with no parameters will return a list of all known components.

Authorizations:
query Parameters
name
string

Defines a search term on the device's name. The search will perform a case-insensitive match looks for devices with a name that starts or ends with the characters of the search term.

asc
boolean
Default: true

When sorting, indicates whether the list should be sorted in ascending order ("false" indicates descending).

sort
string (DeviceSortField)
Enum: "Name" "AccessLevel" "Available" "LastUpdated"

Indicates that the list should be sorted by the specified field.

limit
integer <int64>
Default: 5000

The maximum number to return (to support pagination).

skip
integer <int64>
Default: 0

The number of records to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "revision": 0,
  • "timestamp": 0,
  • "total": 0
}

Update device information

Authorizations:
path Parameters
deviceId
required
string

The ID of the device to update.

Request Body schema: application/json
Array of objects (AccessLevel) [ items ]
available
boolean
id
string
lastHeartbeat
integer <int64>
latestStatusMessage
string
object (Location)
name
string
serialNumber
string
softwareVersion
string
url
string

Responses

Request samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "available": true,
  • "id": "string",
  • "lastHeartbeat": 0,
  • "latestStatusMessage": "string",
  • "location": {
    },
  • "name": "string",
  • "serialNumber": "string",
  • "softwareVersion": "string",
  • "url": "string"
}

Response samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "available": true,
  • "id": "string",
  • "lastHeartbeat": 0,
  • "latestStatusMessage": "string",
  • "location": {
    },
  • "name": "string",
  • "serialNumber": "string",
  • "softwareVersion": "string",
  • "url": "string"
}

Events

Get the list of encounter events.

The encounter event endpoint returns a list of all device events with associated user and device info

Authorizations:
query Parameters
personId
string

Filter based on associated person ID.

deviceId
string

Filter based on associated device ID.

type
string (EncounterEventType)
Enum: "BIOMETRIC_MATCH" "NO_MATCH" "SPOOF_DETECTED"

Filter based on event type.

after
string <date-time>

Return events that occurred on or after the specified time.

before
string <date-time>

Return events that occurred on or before the specified time.

asc
boolean
Default: false

Indicates whether the list should be sorted in ascending order. Sorted based on time of event occurrence ("false" indicates descending).

limit
integer <int64>
Default: 5000

The maximum number to return (to support pagination).

skip
integer <int64>
Default: 0

The number of records to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "revision": 0,
  • "timestamp": 0,
  • "total": 0
}

Get an encounter event by ID.

Retrieves the encounter event associated with the specified ID.

Authorizations:
path Parameters
id
required
string

The ID of the encounter event to retrieve.

Responses

Response samples

Content type
application/json
{
  • "device": {
    },
  • "eventPhotoId": "string",
  • "eventType": "BIOMETRIC_MATCH",
  • "id": "string",
  • "note": "string",
  • "person": {
    },
  • "timestamp": 0
}

People

List People.

Retrieves a list of people that meet a set of search criteria.

Authorizations:
query Parameters
name
string

Defines a fuzzy search term on the person's name (search includes first name, last name and email).

loadAccessLevels
boolean
Default: true

If true, loads all access level data for each returned person.

loadCredentials
boolean
Default: true

If true, loads all credential data for each returned person.

accessLevelId
string

Restrict the list of people to those who are tagged with the specified access level id.

role
string
Enum: "admin" "user"

Restrict the list of people to those who are tagged with the specified role.

status
Array of strings (RegistrationStatus)
Items Enum: "PENDING" "REGISTERED" "APPROVED" "COMPLETE"

Restrict the list of people to those who have the specified registration status.

active
boolean
Default: true

Restrict the list of people to those who are active or inactive.

asc
boolean
Default: true

When sorting, indicates whether the list should be sorted in ascending order. false indicates descending.

sort
string (PersonSortField)
Enum: "Email" "FirstName" "LastName" "Role" "RegistrationStatus" "LastUpdated"

Indicates that the list should be sorted by the specified field.

limit
integer <int64>
Default: 12

The maximum number of people to return.

skip
integer <int64>
Default: 0

The number of records to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "revision": 0,
  • "timestamp": 0,
  • "total": 0
}

Create a Person.

Creates a person. id need not be specified (as it will be auto-generated). This method will check the email to see if it had already existed and re-establish a new person person that previous ID.

Authorizations:
Request Body schema: application/json
Array of objects (AccessLevel) [ items ]
active
boolean
Array of objects (PersonCredential) [ items ]
email
string
firstName
string
id
string
lastName
string
licensePlate
string
mobileCredentialIssuedAt
integer <int64>
note
string
phoneNumber
string
portraitId
string
registrationStatus
string (RegistrationStatus)
Enum: "PENDING" "REGISTERED" "APPROVED" "COMPLETE"
role
string

Responses

Request samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "active": true,
  • "credentials": [
    ],
  • "email": "string",
  • "firstName": "string",
  • "id": "string",
  • "lastName": "string",
  • "licensePlate": "string",
  • "mobileCredentialIssuedAt": 0,
  • "note": "string",
  • "phoneNumber": "string",
  • "portraitId": "string",
  • "registrationStatus": "PENDING",
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "active": true,
  • "credentials": [
    ],
  • "email": "string",
  • "firstName": "string",
  • "id": "string",
  • "lastName": "string",
  • "licensePlate": "string",
  • "mobileCredentialIssuedAt": 0,
  • "note": "string",
  • "phoneNumber": "string",
  • "portraitId": "string",
  • "registrationStatus": "PENDING",
  • "role": "string"
}

Disable people.

Disable one or multiple people at a time by providing a list of IDs. Disabling a person will remove all biometrics and prevent login access.

Authorizations:
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Enable people.

Enable one or multiple people at a time by providing a list of IDs. Enabling a person will restore login access.

Authorizations:
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Get a Person by ID.

Retrieves the person associated with the specified ID.

Authorizations:
path Parameters
id
required
string

The ID of the person to retrieve.

Responses

Response samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "active": true,
  • "credentials": [
    ],
  • "email": "string",
  • "firstName": "string",
  • "id": "string",
  • "lastName": "string",
  • "licensePlate": "string",
  • "mobileCredentialIssuedAt": 0,
  • "note": "string",
  • "phoneNumber": "string",
  • "portraitId": "string",
  • "registrationStatus": "PENDING",
  • "role": "string"
}

Update an existing person.

Updates a person by ID. This allows the caller to update only a limited set of fields. For example, id, email, and role cannot be changed.

Authorizations:
path Parameters
id
required
string

The ID of the person to update.

Request Body schema: application/json
Array of objects (AccessLevel) [ items ]
active
boolean
Array of objects (PersonCredential) [ items ]
email
string
firstName
string
id
string
lastName
string
licensePlate
string
mobileCredentialIssuedAt
integer <int64>
note
string
phoneNumber
string
portraitId
string
registrationStatus
string (RegistrationStatus)
Enum: "PENDING" "REGISTERED" "APPROVED" "COMPLETE"
role
string

Responses

Request samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "active": true,
  • "credentials": [
    ],
  • "email": "string",
  • "firstName": "string",
  • "id": "string",
  • "lastName": "string",
  • "licensePlate": "string",
  • "mobileCredentialIssuedAt": 0,
  • "note": "string",
  • "phoneNumber": "string",
  • "portraitId": "string",
  • "registrationStatus": "PENDING",
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "accessLevels": [
    ],
  • "active": true,
  • "credentials": [
    ],
  • "email": "string",
  • "firstName": "string",
  • "id": "string",
  • "lastName": "string",
  • "licensePlate": "string",
  • "mobileCredentialIssuedAt": 0,
  • "note": "string",
  • "phoneNumber": "string",
  • "portraitId": "string",
  • "registrationStatus": "PENDING",
  • "role": "string"
}

Issue mobile credential.

Issues mobile credential.

Authorizations:
path Parameters
id
required
string

The ID of the person to be issued a mobile credential

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Revoke mobile credential.

Revokes mobile credential.

Authorizations:
path Parameters
id
required
string

The ID of the person who will have their credential revoked.

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Reports

Export a csv report containing user and event data for the date range specified.

Returns counts of users broken down by role and registration status.

Authorizations:
query Parameters
after
string <date-time>

Returns events that occurred on or after the specified time.

before
string <date-time>

Returns events that occurred on or before the specified time.

asc
boolean
Default: false

When sorting, indicates whether the list should be sorted in ascending order ("false" indicates descending).

limit
integer <int64>
Default: 5000

The maximum number of approvals records to return.

skip
integer <int64>
Default: 0

The number of records to skip (to support pagination).

Responses

Response samples

Content type
application/json
{
  • "description": "string",
  • "status": "string",
  • "timestamp": 0
}

Statistics about number of users registered and their status.

Returns counts of users broken down by role and registration status.

Authorizations:
query Parameters
after
string <date-time>

Scopes certain statistics after the specified time.

before
string <date-time>

Scopes certain statistics before the specified time.

Responses

Response samples

Content type
application/json
{
  • "scopedEventMatch": 0,
  • "scopedEventNoMatch": 0,
  • "scopedRegistrationApproved": 0,
  • "scopedRegistrationRegistered": 0,
  • "totalAdmins": 0,
  • "totalEndUsers": 0,
  • "totalRegistrationApproved": 0,
  • "totalRegistrationComplete": 0,
  • "totalRegistrationPending": 0,
  • "totalRegistrationRegistered": 0,
  • "totalUsers": 0
}

API Integration

Authenticate with an API key.

This is used to authenticate with an API key in order to get a short-lived token for use with the rest of the API surface.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "expiresIn": 0
}