Skip to content

Facts and credential assertions

Dockt exposes evidence at two levels:

  • A Document’s facts describe values read from that specific file.
  • A Decision’s facts contain a smaller allowlisted set of values resolved across the Assessment, with subject and source lineage.

Documents can also include verifications, enrichment.checks, and credential_assertions when Dockt performs applicable authoritative or external checks.

Use this page as the value and code reference after you know which response field you are handling.

Document.facts is an object keyed by fact name. Every key contains an array because one file can contain the same kind of value more than once.

{
"facts": {
"holder_name": [
{ "value": "Amina Diallo", "confidence": 0.99 }
],
"valid_until": [
{ "value": "2027-05-17", "confidence": 0.96 }
]
}
}

Each entry contains:

FieldTypeMeaning
valuestring, number, boolean, object, or nullExtracted value. Dates use YYYY-MM-DD strings when a calendar date is available.
confidencenumber or nullExtraction confidence from 0 to 1, or null when no confidence is available. Confidence is not a verification result.

Only facts found on the file are returned. A missing key means Dockt didn’t expose a value for that fact; it doesn’t by itself mean that the document is invalid. Use document_result, issues, and findings for the conclusion.

KeyValue typeMeaning
document_typestringDocument type stated or identified for the file.
certificate_typestringCertificate category or qualification type shown on the document.
document_numberstringGeneral identifier printed on the document.
authority_check_urlstringURL printed on the document for an authority or validity check.
authority_check_referencestringReference value used with an authority check, such as a validation code.
diploma_numberstringDiploma, certificate, or equivalent evidence number.
issue_datedateDate on which the document was issued.
valid_fromdateFirst date on which the document or authorization is valid.
valid_untildateLast date on which the document or authorization is valid.
issuing_bodystringOrganization or authority that issued the document.
issuer_namestringIssuer name as shown on the document.
issuing_centerstringIssuing, examination, or training center.
issuer_countrystringCountry associated with the issuer.
document_countrystringCountry to which the document belongs or in which it was issued.
languagestringLanguage identified for the document.
KeyValue typeMeaning
holder_namestringFull name of the person who holds the document or credential.
first_namestringHolder’s first or given name.
last_namestringHolder’s last or family name.
date_of_birthdateHolder’s date of birth.
nationalitystringHolder’s nationality as printed or encoded on the document.
person_identifierstringPerson-specific identifier other than a document number.
identity_document_numberstringPassport, identity card, or other identity-document number.
KeyValue typeMeaning
employer_namestringLegal or stated name of the worker’s employer.
employer_registration_typestringType of employer registration identifier shown.
employer_registration_numberstringEmployer registration identifier.
employer_countrystringCountry in which the employer is established or registered.
employer_addressstringEmployer address shown on the document.
employer_vat_numberstringEmployer VAT identifier.
service_recipient_namestringName of the customer or organization receiving the service.
service_recipient_registration_typestringType of registration identifier used for the service recipient.
service_recipient_registration_numberstringService recipient’s registration identifier.
kbo_numberstringBelgian Crossroads Bank for Enterprises registration number.
company_registration_statusstringCompany registration state shown by the evidence.
declaration_of_works_numberstringReference for a Declaration of Works or equivalent chain registration.
KeyValue typeMeaning
assignment_start_datedateDate on which the assignment starts.
assignment_end_datedateDate on which the assignment ends.
assignment_activitystringWork or activity described for the assignment.
worksite_namestringName of the site where the work takes place.
worksite_addressstringAddress of the worksite.
project_referencestringProject, site, or assignment reference.
social_security_countrystringCountry whose social-security system covers the worker.
posting_declaration_numberstringIdentifier of a worker-posting declaration or notification.
notification_statusstringStatus stated for the posting or other notification.
employment_registration_numberstringIdentifier of an employment registration.
employment_start_datedateEmployment start date shown in the evidence.
employment_end_datedateEmployment end date shown in the evidence.
contract_typestringEmployment or engagement contract type.
wage_amountnumberWage amount stated in the evidence. Read wage_period before interpreting it.
wage_periodstringPeriod or frequency associated with wage_amount.
KeyValue typeMeaning
accommodation_addressstringAddress of accommodation provided or declared for the worker.
accommodation_capacitynumberNumber of people the accommodation evidence states it can house.
approval_authoritystringPerson, role, or organization that granted an approval.
approval_datedateDate on which the approval was granted.
approval_scopestringWork, site, or exception covered by the approval.
KeyValue typeMeaning
work_permit_numberstringWork-authorization or work-permit identifier.
residence_permit_numberstringResidence-permit identifier.
permit_typestringType or category of work or residence permit.
permit_scopestringWork, location, employer, or activity covered by the permit.
permit_remarksstringConditions or remarks printed on the permit.
legal_basisstringLegal basis stated for the authorization or exemption.
vander_elst_referencestringReference associated with Vander Elst evidence.
prior_residence_daysnumberNumber of days of prior legal residence supported by the evidence.
permit_covers_assignmentbooleanWhether the evidence states that the permit covers the evaluated assignment.
employer_match_statusstringResult of comparing the employer across relevant evidence.
KeyValue typeMeaning
debt_check_datedateDate on which fiscal or social debt status was checked.
debt_statusstringFiscal or social debt state returned by the evidence.
check_in_referencestringReference for a worksite attendance registration.
check_in_atstringCheck-in timestamp as supplied by the evidence.
check_out_atstringCheck-out timestamp as supplied by the evidence.
professional_card_numberstringProfessional-card identifier for a self-employed worker.
social_contribution_periodstringPeriod covered by social-contribution evidence.
social_contribution_statusstringPayment or affiliation status for social contributions.
temporary_agency_accreditation_numberstringAccreditation identifier for a temporary-employment agency.
KeyValue typeMeaning
skill_scopestringTrade, task, role, or competency covered by a certificate.
training_levelstringLevel or category of the completed training.
professional_registration_numberstringRegistration number for a regulated professional.
regulated_professionstringRegulated profession named in the evidence.
professional_authorization_statusstringStatus of the authorization to practise the profession.
screening_profilestringRole or screening profile against which a check was performed.
screening_resultstringOutcome stated by the background-screening evidence.

The tables list all 80 public Document fact keys currently supported by Dockt. Only keys applicable to a particular document appear in its response. The response schema allows new keys, so ignore or store unfamiliar keys rather than failing the entire response. Raw document text is never returned as a fact.

Document.enrichment.checks summarizes applicable evidence checks that are separate from the file’s intrinsic document_result:

{
"code": "organization.vat_registration",
"status": "completed",
"source": "SOURCE_CODE",
"reason": null
}
FieldValuesMeaning
codeSee the table belowStable code for the kind of check performed.
statuscompleted, not_found, ambiguous, unsupported, unavailableOutcome of that check. It is separate from document_result.
sourcestring or nullCustomer-safe identifier for the source used. Source identifiers are not a closed enum.
reasonstring or nullExplanation supplied for the outcome when available.
CodeMeaning
organization.registry_profileChecks an employer’s official registration profile.
organization.vat_registrationValidates an employer VAT registration.
organization.customs_registrationValidates an employer customs or EORI registration.
organization.jurisdiction.restrictive_measuresLooks up restrictive measures associated with an employer jurisdiction. This is a country-level lookup, not a conclusion that the employer is sanctioned.
credential.vca.registry_profileLooks up VCA credentials associated with the worker. Confirmed credentials can also appear in credential_assertions.
document.issuer.social_security_directoryChecks whether a social-security document issuer matches the applicable institution directory.
document.a1_authority_verificationValidates an A1 document through its applicable authority check.
document.limosa_authority_verificationValidates a Limosa declaration through its applicable authority check.
document.vca_registry_verificationValidates VCA document evidence through the applicable register.

An intrinsic authority check may appear in the Document’s verifications array instead of enrichment.checks. verifications uses the statuses verified, not_found, invalid, expired, error, and not_checked and includes an optional source and reason.

credential_assertions contains credentials established through an applicable authoritative check. It is separate from extracted facts: a printed certificate label can be a fact, while an assertion records the credential that was actually confirmed.

{
"scheme_code": "SCHEME_CODE",
"definition_code": "QUALIFICATION_CODE",
"source": "registry",
"status": "verified",
"holder_name": "Amina Diallo",
"certificate_number": "CERTIFICATE_NUMBER",
"valid_from": "2022-05-17",
"valid_until": "2032-05-16"
}
FieldTypeMeaning
scheme_codestringIdentifier of the credential scheme.
definition_codestringCanonical qualification or credential code confirmed within that scheme.
sourcestringKind of source that established the assertion.
statusstringStatus returned for the asserted credential.
holder_namestring or nullConfirmed holder name when available.
certificate_numberstring or nullConfirmed certificate identifier when available.
valid_fromstring or nullConfirmed validity start when available.
valid_untilstring or nullConfirmed validity end when available.

Treat scheme_code, definition_code, source, and status as public identifiers rather than closed enums. Available credential definitions can vary with the configured catalog.

Decision facts are resolved values included in the immutable result returned by GET /v1/decisions/{decisionId}:

{
"id": "fact_example",
"code": "organization.legal_name",
"subject": {
"id": "employer:1",
"type": "employer"
},
"value": "Example Employer NV",
"resolution": "corroborated",
"assurance": "high",
"sources": [
{
"kind": "document",
"code": "assessment_document",
"document_ids": ["doc_example"],
"observed_at": null,
"fresh_until": null
}
]
}
FieldValuesMeaning
idstringIdentifier of this frozen fact in the Decision.
codeSee the table belowSemantic name of the resolved value.
subject.typeworker, employer, assignment, credentialKind of entity the fact describes.
subject.idstringSubject identifier inside the Decision. Treat it as opaque.
valuestring, number, boolean, or string arrayResolved value. The current fact codes normally return strings.
resolutionresolved, corroboratedcorroborated means more than one consistent statement supports the value.
assurancelow, medium, highSource-based assurance: customer input alone is low, document evidence is medium, and external or multiple source kinds produce high assurance.
sourcesarrayLineage for the statements that support the value.
CodeSubjectMeaning
person.nameworkerResolved full name of the worker.
person.date_of_birthworkerResolved worker date of birth.
person.nationalityworkerResolved worker nationality.
organization.legal_nameemployerResolved legal name of the employer.
organization.registration_numberemployerResolved organization registration number.
organization.vat_numberemployerResolved VAT identifier.
organization.statusemployerResolved registration or operating status of the organization.
assignment.worksite_countryassignmentCountry in which the assignment takes place.
assignment.starts_onassignmentResolved assignment start date.
assignment.ends_onassignmentResolved assignment end date.
credential.typecredentialResolved credential or qualification code.
credential.statuscredentialResolved status of the credential.
credential.valid_fromcredentialResolved start of the credential’s validity period.
credential.valid_untilcredentialResolved end of the credential’s validity period.

Only these 14 codes are currently included in public Decision facts. Other evidence can still affect requirements or Findings without appearing in this allowlisted array.

Applicable external checks can add evidence to an Assessment. A value appears in public Decision facts only when its semantic code is one of the 14 allowlisted codes above, its value has a supported public shape, and the available statements resolve to one consistent value.

For example:

  • An organization registration check can contribute organization.legal_name, organization.registration_number, or organization.status.
  • A VAT check can contribute organization.vat_number or organization.legal_name.
  • A credential register can contribute credential.type, credential.status, or credential.valid_until.

External checks can establish additional evidence that isn’t part of the public fact allowlist. Those values may support requirements or Findings, but Dockt doesn’t return their internal evidence codes in Decision.facts. This keeps the public result stable while still preserving the relevant conclusion and source lineage.

FieldValuesMeaning
kindcustomer_input, document, external_sourceWhere the supporting statement originated.
codestringCustomer-safe source code. Treat it as an identifier and allow unfamiliar values.
document_idsstring arrayDocuments used by this source, when applicable.
observed_atdate-time or nullTime at which an external value was observed.
fresh_untildate-time or nullTime until which that observation is considered fresh, when available.

Use the fact code and subject.type for application logic. Use sources to show evidence lineage or to explain why a resolved value has its assurance level. Don’t infer the Decision result by counting facts; use the top-level decision, requirements, and Findings.

Document and Decision Findings explain why a result needs attention. Use code and impact for routing; use the returned title and explanation for reviewer-facing text.

CodeMeaning
document.intrinsic_issueThe Document itself contains an issue or signal that needs attention.
identity.cross_document_conflictVerified evidence identifies a person who differs from the worker being assessed.
evidence.required_unresolvedRequired Assessment information or evidence is missing, unresolved, or invalid.
source.mandatory_unavailableDockt couldn’t complete a required authoritative check.
source.authoritative_contradictionAn authoritative source contradicts a material claim or couldn’t find the claimed record.
integrity.temporal_impossibilityEvidence dates or validity periods form a timeline that can’t be reconciled.
agent.unavailableA supporting evaluation step was unavailable and the result requires a safe fallback or review.

The public Finding code set is allowlisted. Always handle an unfamiliar future code by falling back to its returned impact, title, and explanation.