Proof Specification
Overview
The Identity Proof file is a reference provided to integrators for auditing purposes. The service produces this file at the end of the proofing session, and it contains the following:
- The evidence provided by the user, including images
- Detailed verifications results performed during the proofing session
- The final identity resulting from the different verifications performed during the proofing session
Proof Zip File
To retrieve the proof file, use the following REST API entry point:
Shell1curl -X GET \2 https://[URL_MAIN_PART]/gips/v1/identities/[IDENTITY_ID]/proof \3 -H 'apikey: [GIPS-RS_APIKEY_VALUE]' -o proof.tar.gz
Variable | Description |
---|---|
URL_MAIN_PART | The Service domain |
APIKEY_VALUE | Client application API key as provided by your administrator(s) |
IDENTITY_ID | This value should be the id value from the Create Identity response message. |
GET
Proof request is forbidden if the status of transaction is PROCESSING, GIPS will return HTTP 403
to the Relying Service.
This request closes the proofing session and returns a ZIP file embedded in a MIME envelope.
Note: Extract the zip file from the multipart enveloppe and then unzip the extracted file, then you will get the following structure:
The root folder is named after the identity ID and the timestamp of the proof generation:
For example gips-db676411-0329-4b13-ab7c-ee0adb6bb944_20171127144001086
.
Below is the list of files contained in this folder.
Element Name | Type | Required | Description |
---|---|---|---|
proof.json | Json file | true | This file is the main proof file that references all other files and contains the signature. |
images | Folder | false | This folder contains all images currently associated to the identity (i.e., Identity Document images, User's portrait, reference portrait if available). Images that have been deleted or replaced during the session are not retained and therefore are not present in the proof. |
videos | Folder | false | This folder contains all videos currently associated to the identity (i.e., liveness portrait capture, live document capture if available). Videos that have been deleted or replaced during the session are not retained and therefore are not present in the proof. Please note that by default, video are not provided in the proof. This requires dedicated tenant configuration to be set up with you Idemia support contact. |
additionalFiles | Folder | false | This folder contains all additional files currently attached to the identity. Additional files that have been deleted or replaced during the session are not retained and therefore are not present in the proof. |
identityDetails.json | Json file | true | This file contains details of the identity. It is the exact same structure and content as the GET {API URL}/identities/{id} request performed on the API with a Relying Service API key. |
verificationAndEvaluationDetails.json | Json file | true | This file contains details about the different verifications performed by the service, and how they contributed to the identity |
Main Proof File
The main proof file proof.json
references all the data inside the proof and controls its integrity and origin. It contains the following:
-
General information about the proof itself and the service that generated it
-
Hash of other files contained in the proof
-
The signature of the proof file
The content of this file corresponds to Proof structure.
Proof
Property Name | Type | Required | Description |
---|---|---|---|
componentVersion | string | true | Product version used for the whole identity proofing |
endDateTime | string(date-time) | true | Identity proofing process end datetime |
hashes | Hashes | true | List of Hashes of the files contained in the proof and other information related to the medias used in identity proofing process |
identityId | string | true | Unique identifier associated to the identity |
ips | [string] | false | List of IPs that participate in the identity proofing process |
previousProofId | string | false | Identifier of the previous identity proof in case of identity proofing resume |
proofId | string | true | Identifier of the proof generated as a result of identity processing |
signature | string | true | JSON Web Signature (JWS) of the content of the file proof.json |
startDateTime | string(date-time) | true | Identity proofing process start datetime |
tenantId | string | true | Identifier of the tenant used in the identity processing |
tenantRole | string | true | Tenant role used by the tenant in the identity processing. Allowed values: RELYING_SERVICE, USER_AGENT |
tenantUsed | string | false | Tenant configuration used by the tenant in the identity processing |
transactionId | string | false | Identifier of the identity transaction, can be the same as identityId |
version | string | true | Version of the proof |
Note:
Datetime format: yyyy-MM-ddThh-mm-ss[.SSSSSSS], the last part is optional and represents the fraction-of-seconds from 0 to 7 digits. (Example: 2020-08-05T17:56:14, 2020-08-05T17:56:14.33, 2020-08-05T17:56:14.331.)
Hashes
Property Name | Type | Required | Description |
---|---|---|---|
identityDetails | string | true | SHA-256 hash of the file identityDetails.json in the proof file |
verificationAndEvaluationDetails | string | true | SHA-256 hash of the file verificationAndEvaluationDetails.json in the proof file |
images | [Media] | false | List of the images used in the identity processing and their associated hashes |
videos | [Media] | false | List of the videos used in the identity processing and their associated hashes |
additionalFiles | [Media] | false | List of the additional files added to the identity and their associated hashes |
Media
Property Name | Type | Required | Description |
---|---|---|---|
hash | string | true | SHA-256 hash of the media |
id | string | true | Identifier of the media element in the proof file |
path | string | true | Path of the media element within the proof file |
Signature
All hashes are calculated based on the SHA-256 algorithm. The compact IETF JWS with RS256 (RSA signature with SHA-256) is used for the signature.
The signature contains the following three parts separated by a dot ".":
-
The header contains only the algorithm (in our case RS256)
-
The payload is a base64 of the data to sign (a minimized JSON of the proof content)
-
The signature
Note: The client application needs the public key or certificate to verify the proof signature.
There are many ways to verify signature. Example https://jwt.io/
For more details about IETF JWS, see https://tools.ietf.org/html/rfc7515.
Example Payload
Note: In the JWS payload the JSON is minimized.
Below is an example of a proof.json file
JSON1{2 "version": "1.0",3 "proofId": "********",4 "identityId": "********",5 "tenantId": "CUSTOM_NAME",6 "tenantRole": "RELYING_SERVICE",7 "transactionId": "********",8 "startDateTime": "2017-09-29T04:42:48.111",9 "endDateTime": "2017-09-29T04:59:57.575",10 "componentVersion": "1.0.0",11 "hashes": {12 "identityDetails": "********",13 "verificationAndEvaluationDetails": "********",14 "images": [15 {16 "id": "b35f7954",17 "path": "images/b35f7954.jpg",18 "hash": "********"19 },20 {21 "id": "7e435d21",22 "path": "images/7e435d21.jpg",23 "hash": "********"24 }25 ],26 "videos": [27 {28 "id": "ad3ea472",29 "path": "videos/ad3ea472.mp4",30 "hash": "********"31 },32 {33 "id": "2ceef228",34 "path": "videos/2ceef228.webm",35 "hash": "********"36 }37 ],38 "additionalFiles": [39 {40 "id": "3786ff22",41 "path": "additionalFiles/3786ff22.jpg",42 "hash": "********"43 },44 {45 "id": "a1262c99",46 "path": "additionalFiles/a1262c99.jpg",47 "hash": "********"48 }49 ]50 },51 "signature": "eyJhbGciOiJSUzI1NiJ9. InZlcnNpb24iOiIxLjAiLCJwcm9vZklkIjoiKioqKioqKioiLCJpZGVudGl0eUlkIjoiKioqKioqKioiLCJ0ZW5hbnRJZCI6IkNVU1RPTV9OQU1FIiwidHJhbnNhY3Rpb25JZCI6IioqKioqKioqIiwic3RhcnREYXRlVGltZSI6IjIwMTctMDktMjlUMDQ6NDI6NDguMTExIiwiZW5kRGF0ZVRpbWUiOiIyMDE3LTA5LTI5VDA0OjU5OjU3LjU3NSIsImNvbXBvbmVudFZlcnNpb24iOiIxLjAuMCIsImhhc2hzIjp7ImlkZW50aXR5RGV0YWlscyI6IioqKioqKioqIiwgICAgICAgICJ2ZXJpZmljYXRpb25BbmRFdmFsdWF0aW9uRGV0YWlscyI6IioqKioqKioqIiwiaW1hZ2VzIjpbe2lkOiAiMTIzNCIscGF0aDoiaW1hZ2VzLzEyMzQuanBnIixoYXNoOiIqKioqKioqKiJ9LHtpZDoiNDU2NyIscGF0aDoiaW1hZ2VzLzQ1NjcuanBnIiwgICAgICAgICAgICAgICAgaGFzaDoiKioqKioqKioifV0sInJlc3VtZURhdGEiOiIqKioqKioqKiJ9.IRMQENi4nJyp4er2LmZq3ivwoAjqa1uUkSBKFIX7ATndFF5ivnt+m8uApHO4kfIFOrW7w2Ezmlg3QdmaXlS9DhN0nUk/hGI3amEjkKd0BWYCB8vfUbUv0XGjQip78AI4z1PrFRNidm7+jPDm5Iq0SZnjKjCNS5Q15fokXZc8u0A="52}
Identity Details File
The identityDetails.json contains the final result of the identity, with the same content as if a GET /{API URL}/identities/{id}
was performed on the API with a Relying Service role.
Note: Refer to the API explorer section for details about the structure and content.
Verification and Evaluation Details File
The following section provides details on the content of the verificationAndEvaluationDetails.json
file.
This file contains a list of VerificationAndEvaluationDetails elements that give details about the performed verifications on different evidences and how they contributed to the identity.
Each evidence or consent found in IdentityDetails file corresponds to one VerificationAndEvaluationDetails element.
VerificationAndEvaluationDetails
Property Name | Type | Required | Description |
---|---|---|---|
additionalFile | AdditionalFile | false | Additional file attached to the identity when this element (VerificationAndEvaluationDetails) corresponds to a submission of an additional file |
businessId | string | false | Business ID that was provided at the time of transaction creation. Can be used for test purpose or to add a contextual identifier to the identity proofing process. |
consentsDetails | ConsentsDetails | false | Present when consent is submitted or removed, and contains details on the consent that has been added or removed |
contactDetails | ContactDetails | false | Contains contact information associated with the identity. |
evaluationDetails | EvaluationDetails | false | Details for each evidence how it contributed to the identity with information about scoring, attributes reference, adjudication eligibility result, portrait reference, raised indicators and errors; Level of Assurance and upgrade path |
evidenceDetails | EvidenceDetails | false | Information on the submitted evidence like the unique ID, family, type, extracted data and the unique identifiers of associated images |
identityOperation | object | true | Identity Operation that triggered the verification |
» id | string | false | Operation ID. The same like participantContextId |
» name | string | true | Operation name. Enum values: EMAIL_OTP, EMAIL_OTP_VERIFICATION, MOBILE_OTP, OTP_VERIFICATION, CONSENTS, ATTRIBUTES, PORTRAIT_CAPTURE, LIVENESS_VIDEO, ID_DOCUMENT, ID_DOCUMENT_CAPTURE, ID_DOCUMENT_LIVE_CAPTURE, EVIDENCE_NFC_VERIFICATION, ADJUDICATION, MEDICARE, CERTIFICATES, TRUSTED_ID_CLAIM, PORTRAIT_REFERENCE, ID_CLAIM, ADDITIONAL_FILE |
» type | string | true | Operation type. Enum values: ADD, DELETE |
identityOperationChild | string | false | Indicates the participantContextId of another VerificationAndEvaluationDetails that depends on this element.This field enhances the understanding of additional information in this element. |
identityOperationParent | string | false | Indicates the participantContextId of another VerificationAndEvaluationDetails element this element depends on |
participantContextId | string | true | Processing step identifier. Corresponds also to the verified evidence ID |
processingDetails | RestDetails | false | This section gives information on the used REST endpoint during the proofing session, including the URL, method, returned errors, and HTTP code. Only URLs that have an impact on the identity payload are registered in this structure. Consultation requests (GET) are not registered in the proof file. |
progress | string | true | Verification status |
sessionId | string | false | Session ID when this processing is related to an operation with session like portrait live capture, document live capture or NFC session |
startDateTime | string(date-time) | true | Datetime when verification has started. Date format: yyyy-MM-ddThh-mm-ss[.SSSSSSS] |
verificationDetails | [VerificationDetails] | false | List of performed verifications (Participants) on the evidence and their results |
Note on Deleted Evidence
In case an evidence is deleted, the verificationAndEvaluationDetails file will contain two processing steps:
-
One when evidence was added with all information including personal details except images since has been deleted after
-
One when evidence was deleted with
processingDetails
,evidenceDetails
andevaluationDetails
butevidenceDetails
will only contain Id, type, family (to know what has been deleted). ScopeverificationDetails
will be empty since no verification were performed on delete operation.
Note:
Datetime format: yyyy-MM-ddThh-mm-ss[.SSSSSSS], the last part is optional and represents the fraction-of-seconds from 0 to 7 digits. (Example: 2020-08-05T17:56:14, 2020-08-05T17:56:14.33, 2020-08-05T17:56:14.331.)
See https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_LOCALDATE_TIME.
AdditionalFile
Additional file attached to the identity
Property Name | Type | Required | Description |
---|---|---|---|
id | string | true | ID used to identify the file in the directory 'additionalFiles' inside the proof file |
metadata | [Metadata] | true | Contains additional information related to this additional file |
AdjudicationDecisionDetail
Free form field to express the reason of adjudication decision
Property Name | Type | Required | Description |
---|---|---|---|
comment | string | false | Free form field for any operator comment on this adjudication operation |
documentPradoId | string | false | Identifier of the type of document used as a reference in Prado for the adjudication |
duration | integer | false | Adjudication process duration (in ms) |
endTime | string | false | End datetime of adjudication procedure |
operatorId | string | false | Identifier of the operator |
operatorProfile | string | false | Status of the operator that did the adjudication |
startTime | string | false | Start datetime of adjudication process |
stationId | string | false | Identifier of the station where the adjudication was performed |
status | string | false | Status of the evidence after the adjudication |
AdjudicationDetails
Contains details about the adjudication verification
Property Name | Type | Required | Description |
---|---|---|---|
decisionDateTime | string | false | Datetime when the adjudication decision was taken |
decisionsDetails | [AdjudicationDecisionDetail] | false | Free form field to express the reason of adjudication decision |
expirationDate | string | false | Date of expiration of the adjudication response |
globalStatus | string | false | Global status of adjudication indicating evidence validity |
id | string | false | Adjudication operation identifier |
submitDateTime | string | false | Evidence submission datetime |
type | string | false | Adjudication type |
AdjudicationEligibility
Contains information about the evidence eligibility for adjudication
Property Name | Type | Required | Description |
---|---|---|---|
isAdjudicable | boolean | false | True if this evidence can be adjudicated, false otherwise |
isTechnicalError | boolean | false | True if adjudication eligibility status is due to a technical reason, false otherwise |
AttributesReferenceAndConsistency
Details on attribute matching and consistency checks for the evidence
Property Name | Type | Required | Description |
---|---|---|---|
isReference | boolean | false | True if evidence is the reference, false otherwise |
isTechnicalError | boolean | false | True if a technical error occurred, false otherwise |
mismatchedAttributes | [string] | false | List of attributes that showed significant discrepancy |
PortraitMatchingReference
Property Name | Type | Required | Description |
---|---|---|---|
isReference | boolean | false | True if evidence is the reference, false otherwise |
isTechnicalError | boolean | false | True if an error occurred due to a technical reason, false otherwise |
CaptureImage
Property Name | Type | Required | Description |
---|---|---|---|
channel | string | false | Channel used to capture the image. Enum values: nativeSDK, webSDK |
deviceModel | string | false | Model of the device used to capture the image |
id | string | false | Identifier of the captured image in the directory 'images' inside the proof file |
osType | string | false | Type of the device operating system |
osVersion | string | false | Version of the device operating system version |
side | string | false | Indicates the document image side. Enum values: FRONT, BACK |
source | string | false | Canal used to capture the image. Enum values: See Source values |
ConsentsDetails
Property Name | Type | Required | Description |
---|---|---|---|
consents | [Consent] | false | List of all submitted consent and their status |
Consent
Property Name | Type | Required | Description |
---|---|---|---|
approved | boolean | true | Notifies the service that the user consents to the associated proofing process. |
consentId | string | false | A unique identifier assigned to the consent. |
type | string | true | Consent type. Enum values: ATTRIBUTES, ID_DOCUMENT, PORTRAIT, ADDRESS, EMAIL, EMAIL_OTP, LANDLINE, MOBILE, MOBILE_OTP, VISA, GIV, ID_CLAIM |
validityPeriod | ValidityPeriod | false | Period during which the information is considered valid. |
ContactDetails
Property Name | Type | Required | Description |
---|---|---|---|
EmailElement | false | Email for contacting user. | |
landline | PhoneElement | false | Landline number that can be used to contact the user. For example : +0100000000001 |
mobile | PhoneElement | false | Mobile phone number that can be used to contact the user. For example : +0100000000001 |
username | Username | false | Name used to contact the user. |
Crop
Property Name | Type | Required | Description |
---|---|---|---|
id | string | false | Identifier of the crop in the directory 'images' inside the proof file |
originalCaptureId | string | false | Identifier of the original image the crop is extracted from |
Data
Property Name | Type | Required | Description |
---|---|---|---|
documentNumber | string | false | Document identifier extracted from the physical document |
expiryDate | string | false | Document expiry date. Date format: yyyy-MM-dd |
holderInformation | [HolderInformation] | false | Contains the document's holder personal information |
issuingCountry | string | false | Contains the ISO 3166-1 alpha-3 code referring to the country that issued the document |
issuingDate | string | false | Document issuing date. Date format: yyyy-MM-dd |
metadata | [Metadata] | false | May contain additional information depending on use case. |
mrz | [string] | false | Contains the document MRZ. Each MRZ line is an element of the list. |
DeviceInfo
Property Name | Type | Required | Description |
---|---|---|---|
browserName | string | false | Browser name |
browserVersion | string | false | Browser version |
deviceManufacturer | string | false | Manufacturer name of the device. |
deviceModel | string | false | Phone model. |
osType | string | false | Mobile operating system. |
osVersion | string | false | Version of phone OS. |
sdkInfo | SdkInfo | false | SDK information from nativeSDK |
EmailElement
Property Name | Type | Required | Description |
---|---|---|---|
errors | [Error] | false | List of errors that occurred during the email verification |
otp | OTPElement | false | Generic OTP element. |
value | string | false | Email value |
verified | boolean | false | True if this email has already been verified by the sender, false otherwise |
Error
Property Name | Type | Required | Description |
---|---|---|---|
code | string | true | Error code specific to the generated error. To check the meaning of the different error codes, report to the corresponding API Feedback Reference section. |
field | string | false | Name of the field that generated the error. |
message | string | false | A short description of the error. |
EvaluationDetails
Contains all information related to evaluation of the Evidence and Identity
Property Name | Type | Required | Description |
---|---|---|---|
evaluationDateTime | string(date-time) | true | Evaluation end datetime. Date format: yyyy-MM-ddThh-mm-ss[.SSSSSSS] |
evidences | [ProofEvidence] | true | List of evidences that contribute to the identity |
loaAndUpgradePath | LoaAndUpgradePath | false | Details how LOA can be improved |
updateOnIdentitySuccess | boolean | false | Describes whether identity was successfully updated with the result of this evaluation |
EvidenceDetails
Contains details on the submitted evidence
Property Name | Type | Required | Description |
---|---|---|---|
addressReferenceId | string | false | Identifier referring to the user address |
attributesReferenceId | string | false | Identifier referring to the user attributes |
captureImages | [CaptureImage] | false | List of images provided with the evidence. Not present if evidence has been deleted or replaced. |
data | Data | false | Contains detailed data from the submitted evidence. This field is not present in delete operation. |
deviceInfo | DeviceInfo | false | Device information from nativeSDK |
family | string | true | Evidence family type. Enum values: IDDOCUMENT, ATTRIBUTES, ADDRESS, DOCUMENT, IDENTIFICATION, PORTRAIT_REFERENCE, TRUSTED_ID_CLAIM, ID_CLAIM, CONTACT |
id | string | true | Evidence unique identifier |
photoCrops | [Crop] | false | List of images linked to crop of the document holder photography when applicable; not present if evidence has been deleted or replaced |
sdkInfo | SdkInfo | false | SDK information from nativeSDK |
type | string | true | Evidence type. Enum values: PASSPORT, IDENTITY_CARD, RESIDENT_CARD, BIRTH_CERTIFICATE, MARRIAGE_CERTIFICATE, POLL_CARD, ADDRESS, EMAIL, MOBILE_OTP, MAIL_OTP, SMS_OTP, DRIVING_LICENSE, CONSENT, ATTRIBUTES, ID_DOCUMENT, PORTRAIT, VISA, CERTIFICATE, ID_DOCUMENT_DATA, DRIVING_PERMIT, TAX_CARD, VOTER_CARD, TRUSTED_ID_CLAIM, ID_CLAIM, PORTRAIT_REFERENCE, PARTNER_ASSESSMENT, ADDITIONAL_FILE, MEDICARE |
video | string | false | Identifier of the live capture video in 'videos' directory inside the proof file |
HolderInformation
Property Name | Type | Required | Description |
---|---|---|---|
dateOfBirth | string | false | Document holder's birthdate. Date format: yyyy-MM-dd |
fullname | string | false | Document holder's full name |
gender | string | false | Document holder's gender. Enum values: M, F, X |
givenNames | [string] | false | Contains the list of the document holder's given names |
nationality | string | false | Contains the ISO 3166-1 alpha-3 code referring to the country of the document holder's nationality |
surname | string | false | Document holder's surname |
usageName | string | false | Document holder's usage name |
IndicatorsMitigation
List of indicators that mitigate invalidating indicators
Name | Type | Required | Description |
---|---|---|---|
mitigatedIndicators | [[string]] | false | List of mitigated indicators (“name” + “_” + “status”) |
mitigatingIndicators | [string] | false | List of mitigating indicators (“name” + “_” + “status”) |
LoaAndUpgradePath
Details how LOA can be improved (See REST API)
Property Name | Type | Required | Description |
---|---|---|---|
isTechnicalError | boolean | false | True if a technical error occurred, false otherwise |
levelOfAssurance | string | false | Indicates the global level of assurance (LOA) reached by the identity proofing |
upgradePaths | object | false | Lists all possibilities for the user to improve its level of assurance (LOA) |
Metadata
Key-value structure that contains additional information depending on use case.
Property Name | Type | Required | Description |
---|---|---|---|
key | string | true | Metadata key |
value | string | true | Metadata value |
OTPElement
Property Name | Type | Required | Description |
---|---|---|---|
creationTime | string(date-time) | false | Date of creation of the OTP. |
status | string | false | OTP status enum. Enum values: INITIATE, NOT_INITIATED, PENDING, PROCESSING, DONE, ERROR, TIMEOUT |
timeout | integer | false | Timeout of the OTP. |
ParticipantType
Enumeration of participant types
Enum value | Description |
---|---|
IMAGE_OCR | Document Authentication and Identity Data extraction |
BIOMETRIC_QUALITY_CHECK | Verification of the quality of a portrait for biometric purpose |
BIOMETRIC_MATCHING | Facial matching between the reference portrait and the user's live portrait |
BIOMETRIC_LIVENESS | Liveness verification of the user |
ADJUDICATION | Visual Verification of an evidence by a trained operator |
ANTIFRAUD | Verification of the identity by antifraud capabilities |
GOV_VERIFICATION | Validation of the Identity Document details against the issuer's records |
NFC_CHIP_VERIFICATION | Document validation against a NFC chip |
CLAIM_VERIFICATION | Verification of the claimed identity details against an authoritative source |
OPEN_ID_CONNECT | Verification of the trusted identity claim details against the Identity provider using OIDC |
ParticipantState
Enumeration of participant states
Enum value | Description |
---|---|
PROCESSING | Evidence verification is in progress |
ACCEPTED | Evidence verification was performed successfully (more technical than functional) |
REJECTED | Evidence verification was not performed successfully, a technical error may have happened |
ADJUDICATION | Evidence verification is in progress by a human operator |
PhoneElement
Property Name | Type | Required | Description |
---|---|---|---|
errors | [Error] | false | List of errors that occurred during the phone number verification |
language | string | false | Language used to send sms to this phone number |
otp | OTPElement | false | Generic OTP element. |
system | string | false | Phone operating system |
value | string | true | Phone number |
verified | boolean | false | True if this phone number has already been verified by the sender, false otherwise |
ProofEvidence
Result of the submitted evidence evaluation
Property Name | Type | Required | Description |
---|---|---|---|
attributesReferenceAndConsistency | AttributesReferenceAndConsistency | false | Details on attribute matching and consistency checks for this evidence |
consentApproved | boolean | false | True if consent has been approved, false otherwise |
errors | [Error] | false | List of error codes raised during evaluation |
evidencesAdjudicationEligibility | AdjudicationEligibility | false | Contains information about this evidence eligibility for adjudication |
externalVerificationScore | integer | false | External verification score given by the end user |
externallyVerified | boolean | false | True if score has been externally verified, false otherwise |
extracted | boolean | false | True if this evidence has been extracted, false otherwise |
id | string | true | Unique identifier of the evidence |
portraitMatchingReference | PortraitMatchingReference | false | Details on portrait matching with this evidence |
raisedIndicators | [string] | false | List of new Indicators raised during evaluation (“name” + “_” + “status”) |
statusAndScoring | StatusAndScoring | false | Contains details on evidence evaluation result like status and scoring |
type | string | false | Type of the evidence |
RestDetails
Contains information on the used REST endpoint during the proofing session, including the URL, method, returned errors, and HTTP code.
Only URLs that have an impact on the identity payload are registered in this structure. Consultation requests (GET) are not registered in the proof file.
Property Name | Type | Required | Description |
---|---|---|---|
endDateTime | string(date-time) | true | HTTP response datetime. Date format: yyyy-MM-ddThh-mm-ss[.SSSSSSS] |
errors | [Error] | false | List of error codes returned with the payload if any |
httpCode | integer | true | The returned HTTP code (200, 400, 500, etc.) |
method | string | true | HTTP method. Enum values: POST, PUT, DELETE |
startDateTime | string(date-time) | true | HTTP request datetime. Date format: yyyy-MM-ddThh-mm-ss[.SSSSSSS] |
submissionId | string | true | Identifier of this processing |
tokenRole | string | true | Specifies the role of the application that made the request. Enum values: RELYING_SERVICE, USER_AGENT |
uri | string | true | The endpoint URI |
SdkInfo
SDK information from nativeSDK
Property Name | Type | Required | Description |
---|---|---|---|
sdkVersion | string | false | Native SDK version |
StatusAndScoring
Contains details on evidence evaluation result like status and scoring
Property Name | Type | Required | Description |
---|---|---|---|
allNonOKVerifications | [string] | false | List of all negative indicators |
blockingIndicators | [array] | false | List of indicators that invalidate the evidence |
indicatorsMitigations | [IndicatorsMitigation] | false | List of indicators that mitigate invalidating indicators |
isBlockingindicatorFound | boolean | false | True if blocking indicators has been found, false otherwise |
isMandatoryIndicatorMissing | boolean | false | True if mandatory indicators are missed, false otherwise |
isTechnicalError | boolean | false | True if a technical error happened during this evidence evaluation, false otherwise |
mandatoryCheckRulesMissing | [string] | false | List of mandatory check rules that were missing |
positiveIndicators | [string] | false | List of indicators that support evidence validity |
score | string | true | Describes the level of trust reached by this evidence after verification. Enum values: LEVEL1, LEVEL2, ..., LEVEL5 |
status | string | true | The evidence status. Enum values: VERIFIED, NOT_VERIFIED, PROCESSING, ADJUDICATION, INVALID |
strength | string | true | Describes the maximum level of trust this evidence can reach. Enum values: LEVEL1, LEVEL2, ..., LEVEL5 |
strengthRuleUsed | string | false | The name of the business rule used to evaluate the evidence |
unverifiedIndicators | [string] | false | List of indicators whose checks have not been performed |
warningIndicators | [string] | false | List of all non-blocking warning and failed indicators |
Username
Name used to contact the user
Property Name | Type | Required | Description |
---|---|---|---|
username | string | true | Username for user account. |
ValidityPeriod
Period during which the information is considered valid.
Property Name | Type | Required | Description |
---|---|---|---|
from | string | false | Indicates the date on which the validity period begins. |
to | string | false | Indicates the date on which the validity period ends. |
VerificationDetails
Contains details on the verifications performed on the submitted evidence
Property Name | Type | Required | Description |
---|---|---|---|
candidateId | string | false | When comparing two evidences, this field contains the identifier of the candidate evidence |
candidateType | string | false | When comparing two evidences, this field contains the type of the candidate evidence |
endDateTime | string(date-time) | true | Verification end date. Date format: yyyy-MM-ddThh-mm-ss[.SSSSSSS] |
errors | [Error] | false | List of error codes raised during verification |
isBlockingParticipant | boolean | false | True if the participant is a blocking verification, false otherwise. If true and status is rejected then no more verification will be performed, only evaluation. |
linkedIdentityOperation | string | false | Indicates the participantContextId of another verificationAndEvaluationDetails that impacted the result of this verification |
mainOcrService | string | false | OCR service used for verification if applicable |
participantState | string | false | The participant state |
participantType | ParticipantType | false | The participant type |
raisedIndicators | [string] | false | List of Indicators raised by the participant (name + “_” + status) |
referenceId | string | false | When comparing two evidences, this field contains the identifier of the reference evidence |
referenceType | string | false | When comparing two evidences, this field contains the type of the reference evidence |
sessionCreationTime | string(date-time) | true | When this verification is related to an operation with session (Live capture session, NFC...), this field gives the session creation time |
sessionId | string | false | Session identifier if verification is done through session |
startDateTime | string(date-time) | true | Verification start datetime. Date format: yyyy-MM-ddThh-mm-ss[.SSSSSSS] |
verificationId | string | false | Identifier of evidence under verification |
verificationServices | [VerificationService] | false | List of sub systems or external services called during this action and their associated results |
VerificationService
Property Name | Type | Required | Description |
---|---|---|---|
adjudicationDetails | AdjudicationDetails | false | Gives details about the adjudication verification |
codingQualityOk | boolean | false | Define if coding quality was enough |
codingScore | number(float) | false | The score of coding |
errors | [Error] | false | List of error codes raised during verification. |
isTechnicalError | boolean | true | True if the service returned a technical error, false otherwise |
matchingScore | number(float) | false | The score of matching |
raisedIndicators | [string] | false | List of new Indicators raised by the service (“name” + “_” + “status”) |
responseTimeMS | integer | true | The time taken by the service to process the evidence |
score | string | false | When applicable, the score of the verification |
serviceInternalReference | string | false | Internal reference when applicable to the service (most part of the time it is the transaction id to easily correlate) |
serviceName | string | true | Name of the service used to verify the evidence |
serviceRequestId | string | false | The service request identifier (can be an UUID for example) |
serviceVersion | string | false | The version of the service that processed the evidence |
EvidenceFamily
Enumeration of evidence families
Enum value | Description |
---|---|
IDDOCUMENT | Identity Document |
ATTRIBUTES | User Identity Attributes (names, date of birth etc ..) |
DOCUMENT | Non identity documents |
IDENTIFICATION | Portrait |
ADDRESS | Address of the user |
ADJ | Adjudication |
TRUSTED_ID_CLAIM | Trusted identity claimed (OIDC) |
CONTACT | Contact details |
ID_CLAIM | Identity claim |
Source
Enumeration of image sources
Enum value | Description |
---|---|
LIVE_CAPTURE_IMAGE | Still image of a living subject captured on the user's device |
LIVE_CAPTURE_VIDEO | Still image of a living subject extracted from a video captured by the user's device |
SCAN | Still image coming from a scan |
DOCUMENT_CROP | Still image extracted by cropping a zone from another image |
OTHER | Capture come from an non communicated channel or a different one than the list above |
Progress
Enumeration of VerificationAndEvaluationDetails progress status
Enum value | Description |
---|---|
STARTING | Evaluation has just started |
PROCESSING | Evaluation in progress |
DONE | Evaluation is done |
BLOCKED | Evaluation is blocked |
ERROR | Error during evaluation |
PAUSE | Evaluation is paused |
ISOCountries31661Alpha3
ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM,ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN,BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ,BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN,CCK,CHE,CHL,CHN,CIV,CMR,COD,COG,COK,COL,COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU,DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP,EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBD,GBR,GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC,GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV,HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL,ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM,KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE,LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA,MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG,MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM,NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU,NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL,PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,RKS,ROU,RUS,RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE,SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN,SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK,TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA,UGA,UKR,UMI,UNA,UNK,UNO,URY,USA,UZB,VAT,VCT,VEN,VGB,VIR,VNM,VUT,WLF,WSM,XOM,XXA,XXB,XXC,XXX,YEM,ZAF,ZMB,ZWE,ABR |