Skip to main content

Data blocks

Unit of information produced and consumed by flow steps

As described Core Concept, a data block is a unit of information that is produced and consumed by flow steps. Each data block has a specific type, and each type defines a unique set of attributes.

The system ensures consistent data flow by:

  • Identifying which data blocks are available at each step
  • Verifying that all required input data blocks are present
  • Confirming that all data dependencies are satisfied before executing a step

The following section provides a comprehensive summary of all available data blocks, including the attributes associated with each type.


AuthenticationResult

The AuthenticationResult data block contains the result of a biometric authentication process and uses a discriminated union based on the result field to represent either a successful or failed authentication.

Attributes

AttributeTypeDescriptionRequired
providerstringAuthentication service provider.Yes
credentialIdstringUnique identifier of the credential used (or attempted).Yes
credentialTypestringType of credential (e.g., FACE, FINGERPRINT, FIDO_KEY).Yes
subjectIdstringIdentifier of the authenticated (or attempted) subject.Yes
requestIdstringUnique identifier of the authentication request.Yes
result"success"Discriminator that determines the result type.Yes
authenticatedAtdatetimeISO 8601 timestamp of successful authentication (success variant).Yes (success case)
attemptedAtdatetimeISO 8601 timestamp of the authentication attempt (failure variant).Yes (failure case)
reasonobjectError information object (failure variant only).Yes (failure case)
reason.codestringDefined by the third‑party Web SDK for the “error” event. Full list: Error Explanations.Yes
reason.detailsstringIDnow concatenates the error code with the reason before returning it. The result contains the code and a reason prefixed with the same code (e.g., SERVER_USER_NOT_FOUND – <detailed message>).No

AuthenticatorCredential

The AuthenticatorCredential data block represents a concrete authentication credential that has been issued, enrolled or created and is associated with a subject.

Attributes

AttributeTypeDescriptionRequired
credentialIdstringUnique identifier returned by the provider.Yes
credentialTypestringTechnology / modality (e.g. FACE, FINGERPRINT, FIDO_KEY, PASSWORD).Yes
subjectIdstringInternal immutable identifier of the entity (links the credential to a subject).Yes
providerstringSystem that manages the credential (e.g. KEYLESS, PLATFORM, CUSTOM, INTERNAL_CA).Yes
status"active" | "suspended" | "revoked" | "expired"Lifecycle status of the credential (e.g. active, revoked, suspended, expired).Yes
createdAtdatetimeISO 8601 timestamp of initial creation.Yes
updatedAtdatetimeISO 8601 timestamp of last modification (equals createdAt if never updated).Yes

BasicIdentity

The BasicIdentity data block contains fundamental identity information extracted from documents.

Attributes

AttributeTypeDescriptionRequired
givenNamestringGiven name.Yes
familyNamestringFamily name.Yes
namestringName.No
birthDatestringBirth date.No
birthPlacestringBirth place.No

BiometricSamples

The BiometricSamples data block contains references to biometric data captured from the end-user and is used as input or output of biometric processes. Biometric artifacts (e.g., face image/selfie) are referenced via the Vault.

Attributes

AttributeTypeDescriptionRequired
faceobjectVault reference to the captured face image (selfie).Yes
face.$ref"vault"Reference namespace. Currently: vault.Yes (if face is present)
face.$idstringVault object identifier (UUID).Yes (if face is present)
consentbooleanWhether the user has given consent for biometric data processing.No

Example

{
"datablockId": "b5e60a3b-b553-4160-ae8d-baa42a595eaa",
"type": "biometricSamples",
"createdBy": {
"stepId": "DOC_ID",
"clock": 1
},
"createdAt": "2026-02-10T14:00:01.899Z",
"status": "STORED",
"content": {
"face": {
"$ref": "vault",
"$id": "5e8de376-caa3-40a8-a998-8627a7d4d009"
}
}
}

ComparisonResults

The ComparisonResults data block contains the output of a comparison between two sets of data, including verdict and attribute-level details.

Attributes

AttributeTypeDescriptionRequired
verdict"match" | "noMatch" | "inconclusive"Overall result of the comparison (match / noMatch / inconclusive).Yes
leftOperandstringId of the step whose data was used as left operand.Yes
rightOperandstringId of the step whose data was used as right operand.Yes
attributesCompared"givenName" | "familyName" | "name" | "birthDate" | "birthPlace"[]List of attributes that were checked.Yes
mismatchedAttributes"givenName" | "familyName" | "name" | "birthDate" | "birthPlace"[]List of attributes that failed to match (empty if verdict is match or inconclusive).Yes
missingAttributes"givenName" | "familyName" | "name" | "birthDate" | "birthPlace"[]List of attributes that could not be compared because data was missing.Yes

DeviceInfo

The DeviceInfo data block captures basic information about the end-user's device, browser, and network environment.

Attributes

AttributeTypeDescriptionRequired
browserNamestringBrowser name.No
browserVersionstringBrowser version.No
osNamestringOperating system name.No
osVersionstringOperating system version.No
deviceTypestringDevice type.No
timezoneobjectTimezone information object.No
timezone.timezonestringIANA timezone name (e.g. "Europe/Berlin").No
timezone.timezoneOffsetnumberTimezone offset from UTC in minutes.No
timezone.languagestringPreferred language of the user (e.g. "en-US").No
timezone.languagesstring[]Array of accepted languages.No
timezone.localestringLocale string (e.g. "en-US").No
timezone.dateLocalestringLocale used for date formatting.No
timezone.numberLocalestringLocale used for number formatting.No
ipAddressstringClient's IP address.No

DeviceSignals

The DeviceSignals data block encapsulates information about the end-user's device, browser, and network environment for risk assessment and fraud detection.

Attributes

AttributeTypeDescriptionRequired
userReferencestringIdentifier to link the assessment to a specific user or session.No
requestIdstringUnique identifier for the assessment request.No
providerstringService that performed the assessment.Yes
timestampstringISO 8601 timestamp of when the assessment was completed.Yes
result"trusted" | "inconclusive" | "suspicious" | "not_trusted"Trust assessment result (trusted, suspicious, not_trusted, inconclusive).Yes
browserobjectBrowser information object.Yes
browser.userAgentstringFull user-agent string reported by the browser.Yes
browser.incognitobooleanWhether the browser is in incognito/private mode.No
browser.namestringBrowser name.Yes
browser.versionstringBrowser version.Yes
browser.osstringOperating system.Yes
browser.deviceTypestringDevice type.Yes
networkobjectNetwork information object.Yes
network.ipstringClient's IP address.Yes
network.locationobjectGeolocation object with country, city, latitude, longitude.Yes
network.timezonestringTimezone identifier.No
signalsobjectJSON object containing the complete, raw, unaltered response from the external provider. More info: API reference.Yes

DigitalSignals

The DigitalSignals data block is the structured output generated by the DIGITAL_SIGNALS:v1 step and acts as a detailed receipt of the trust assessment based on email, phone and IP.

Attributes

AttributeTypeDescriptionRequired
providerstringService that performed the assessment.Yes
timestampstringISO 8601 timestamp of when the assessment was completed.Yes
servicesstring[]List of services/signals analyzed (e.g. ["ip", "emails", "phone", "name"]).Yes
inputSourcesobjectObject containing step IDs for data sources.Yes
inputSources.basicIdentitystringStep ID that provided core identity data (e.g. name).No
inputSources.extendedIdentitystringStep ID that provided additional identity data (e.g. phone, email).No
inputSources.deviceSignalsstringStep ID that provided device signal data (e.g. IP address).No
result"trusted" | "suspicious" | "not_trusted" | "inconclusive"Trust assessment result (trusted, suspicious, not_trusted, inconclusive).Yes
scorenumberNumerical trust score (0–100) computed by IDnow. See also: Trustfull Digital Score.Yes
reasonsobject[]Array of reason objects, each containing code and details.Yes
reasons[].codestringMachine‑readable reason code defined by the third‑party provider. Full list: Reason Codes.Yes
reasons[].detailsstringHuman‑readable explanation for the reason code, defined by the third‑party provider. Full list: Reason Codes.Yes
signalsobjectMandatory JSON object containing the complete, raw, unaltered response from the Trustfull Onboarding API.Yes

DocumentData

The DocumentData data block contains information about processed documents.

Attributes

AttributeTypeDescriptionRequired
documentType"ID" | "PASSPORT" | "RESIDENT_PERMIT" | "VISA" | "DRIVING_LICENSE" | "HEALTH_CARD"Document type.Yes
documentNumberstringDocument number.No
expiryDatedate | datetimeExpiry date of the document.No
issuanceDatedate | datetimeIssuance date of the document.No
issuingCountrystringIssuing country.No
issuingAuthoritystringIssuing authority.No

DocumentImages

The DocumentImages data block contains references to document image files stored in the Vault. Each side (front/back) is represented as a Vault reference object.

Attributes

AttributeTypeDescriptionRequired
documentType"ID" | "PASSPORT" | "RESIDENT_PERMIT" | "VISA" | "DRIVING_LICENSE" | "HEALTH_CARD"Document category for the images (e.g., ID).No
frontSideobjectVault reference to the front side image.Yes
frontSide.$ref"vault"Reference namespace. Currently: vault.Yes (if frontSide is present)
frontSide.$idstringVault object identifier (UUID).Yes (if frontSide is present)
backSideobjectVault reference to the back side image.No
backSide.$ref"vault"Reference namespace. Currently: vault.Yes (if backSide is present)
backSide.$idstringVault object identifier (UUID).Yes (if backSide is present)

Example

{
"createdAt": "2026-02-10T14:00:01.899Z",
"documentType": "ID",
"frontSide": {
"$ref": "vault",
"$id": "4d293362-9738-4a37-8d74-eb3acbc35749"
},
"backSide": {
"$ref": "vault",
"$id": "fd9bbe6e-61f8-41d3-9a18-efa4bd997bb4"
}
}

DocumentsToSign

The DocumentsToSign data block references the documents uploaded by the customer that the end-user needs to sign, and the corresponding template ID.

Each document source is referenced via the Vault as an external reference object ({ $ref: "vault", $id: "<uuid>" }).

Attributes

AttributeTypeDescriptionRequired
documentsobject[]Array of document objects to be included in the signing process (must contain at least one).Yes
documents[].templateIdstringIdentifier linking the runtime document to a document template / definition.Yes
documents[].sourceobjectVault reference to the source PDF to be signed.Yes

DocumentVerification

The DocumentVerification data block contains the results of document verification processes. The overall result is provided in verdict, detailed findings may be listed in issues, and the full verification report can be referenced via the Vault. Evidence files references can be found in evidences array.

Attributes

AttributeTypeDescriptionRequired
verdictobjectOverall verification verdict object (see verdict.status).Yes
verdict.status"VERIFIED" | "REJECTED" | "FRAUD_DETECTED" | "CANCELED" | "ABORTED" | "ERROR"Verdict status (e.g., VERIFIED).Yes
verdict.reasonstringOptional human-readable reason string providing additional context for the verdict.No
issuesobject[]Array of issues returned by the verification (can be empty).No
issues[].codestringIssue code.Yes
issues[].severity"error" | "warning"Issue severity (error or warning).Yes
issues[].messagestringHuman-readable description of the issue.No
reportobject[Deprecated - use evidences analysisReport instead] Vault reference to the verification report artifact.No
report.$ref"vault"Reference namespace. Currently: vault.Yes (if report is present)
report.$idstringVault object identifier (UUID).Yes (if report is present)
evidencesobject[]Array of evidence returned by the verificationNo
evidences[].type"documentFrontRecording" | "documentBackRecording" | "sessionRecording" | "livenessRecording" | "analysisReport"Yes
evidences[].refobjectVault reference to the evidence.Yes
evidences[].ref.$ref"vault"Reference namespace. Currently: vault.Yes
evidences[].ref.$idstringVault object identifier (UUID).Yes

Example

{
"datablockId": "6688a3d7-f1f7-42bf-bc11-4712395b41b6",
"type": "documentVerification",
"createdBy": {
"stepId": "DOC_ID",
"clock": 1
},
"createdAt": "2026-02-10T14:00:01.633Z",
"status": "STORED",
"content": {
"verdict": {
"status": "VERIFIED"
},
"issues": [],
"report": {
"$ref": "vault",
"$id": "d16dc58a-a939-4e15-afea-28efb9f87f3f"
},
"evidences": [
{
"type": "livenessRecording",
"ref": {
"$ref": "vault",
"$id": "2bca8bb8-7220-41c9-82bd-472347a399b9"
}
},
{
"type": "analysisReport",
"ref": {
"$ref": "vault",
"$id": "84ccc2ee-2c31-4b8d-8e1a-d77551080a4f"
}
}
]
}
}

ExtendedIdentity

The ExtendedIdentity data block contains additional identity information beyond basic fields. Image artifacts (e.g., portrait) are referenced via the Vault.

Attributes

AttributeTypeDescriptionRequired
portraitobjectVault reference to the portrait image for EUDI requirement.No
portrait.$ref"vault"Reference namespace. Currently: vault.Yes (if portrait is present)
portrait.$idstringVault object identifier (UUID).Yes (if portrait is present)
nationalitystringNationality information.No
personalAdministrativeNumberstringPersonal administrative number.No
familyNameBirthstringFamily name at birth.No
givenNameBirthstringGiven name at birth.No
sex"NOT_KNOWN" | "MALE" | "FEMALE" | "NOT_APPLICABLE" | "0" | "1" | "2" | "9"Sex (ISO 5218 sex codes: 0/1/2/9; renamed from gender).No
emailAddressemailEmail address.No
mobilePhoneNumberstringMobile phone number (E.164 format: +[country code][number]).No
residentAddressstringThe full address of the place (string).No
residentStreetstringStreet of residence.No
residentHouseNumberstringHouse number of residence.No
residentCountrystringAlpha-2 country code as specified in ISO 3166-1.No
residentStatestringState or province of residence.No
residentCitystringCity of residence.No
residentPostalCodestringPostal code of residence.No

Example

{
"datablockId": "a93e5fb3-8053-49bc-9071-44a0d297fb6f",
"type": "extendedIdentity",
"createdBy": {
"stepId": "DOC_ID",
"clock": 1
},
"createdAt": "2026-02-10T14:00:01.917Z",
"status": "STORED",
"content": {
"portrait": {
"$ref": "vault",
"$id": "020ff369-43d8-4b8a-94e7-6814c0bdc35a"
},
"nationality": "FRA",
"sex": 1,
"residentAddress": "24 RUE DANTON 35700 RENNES FRANCE"
}
}

PepAndSanctionsResults

The PepAndSanctionsResults data block contains the outcome of a Politically Exposed Person (PEP) and sanctions screening check.

warning

This data block is currently being worked on.


OutcomeStatus

The OutcomeStatus data block carries the final outcome of a session as determined by the End step.

Attributes

AttributeTypeDescriptionRequired
status"accepted" | "rejected"Outcome status (accepted or rejected).Yes

PresentationResult

The PresentationResult data block encapsulates the complete outcome of an EUDI Wallet credential presentation session, including metadata, presented credentials and error information in case of failure.

Attributes (common)

AttributeTypeDescriptionRequired
sessionIdstringUnique identifier for the presentation session.Yes
result"success"Discriminator indicating successful presentation.Yes

Attributes (success variant)

AttributeTypeDescriptionRequired
presentedCredentialsobject[]List of credentials presented by the user.Yes
presentedCredentials[].typestringType of the presented credential.Yes
presentedCredentials[].issuerstringIdentifier of the credential issuer.Yes
presentedCredentials[].presentedClaimsobject[]Array of claims presented by the user.Yes
presentedCredentials[].presentedClaims[].claimNamestringName of the claim shared by the user.Yes
presentedCredentials[].presentedClaims[].claimValueunknownValue of the claim shared by the user.No
presentedAtdatetimeISO 8601 timestamp of the presentation by the user.Yes

Attributes (failure variant)

AttributeTypeDescriptionRequired
reasonobjectError information object.Yes
reason.codestringDefined by the third‑party Web SDK. Contact your Account Manager for more information.Yes
reason.detailsstringIDnow concatenates the error code with the reason before returning it as part of the data block. Contact your Account Manager for more information.No
attemptedAtdatetimeISO 8601 timestamp of the presentation attempt.Yes

SignedDocumentsPackage

The SignedDocumentsPackage data block is the successful output of the ELECTRONIC_SIGNATURE:v1 step and contains information about the signature process and signed documents.

Attributes

AttributeTypeDescriptionRequired
signatureProcessIdstringIdentifier of the signature process (transaction number).Yes
signedDocumentsobjectSigned documents delivery object.Yes
signedDocuments.mode"archive" | "items" | "both"Delivery mode: archive, items, or both.Yes
signedDocuments.archiveobjectVault reference to the ZIP archive containing signed documents (depending on mode).No
signedDocuments.documentsobject[]Array of signed document objects (depending on mode).No
signedDocuments.documents[].templateIdstringIdentifier for the template used for the electronic signature.Yes (per document, when present)
signedDocuments.documents[].signedobjectVault reference to the signed PDF file.Yes (per document, when present)
createdAtstringISO 8601 timestamp of initial creation.Yes

UserReference

The UserReference data block carries a reference to a user and contains the subject identifier provided by the customer.

Attributes

AttributeTypeDescriptionRequired
subjectIdstringIdentifier of the subject provided by the customer.Yes