Facts and credential assertions
Dockt exposes evidence at two levels:
- A Document’s
factsdescribe values read from that specific file. - A Decision’s
factscontain 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 shape
Section titled “Document facts shape”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:
| Field | Type | Meaning |
|---|---|---|
value | string, number, boolean, object, or null | Extracted value. Dates use YYYY-MM-DD strings when a calendar date is available. |
confidence | number or null | Extraction 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.
Document and issuer facts
Section titled “Document and issuer facts”| Key | Value type | Meaning |
|---|---|---|
document_type | string | Document type stated or identified for the file. |
certificate_type | string | Certificate category or qualification type shown on the document. |
document_number | string | General identifier printed on the document. |
authority_check_url | string | URL printed on the document for an authority or validity check. |
authority_check_reference | string | Reference value used with an authority check, such as a validation code. |
diploma_number | string | Diploma, certificate, or equivalent evidence number. |
issue_date | date | Date on which the document was issued. |
valid_from | date | First date on which the document or authorization is valid. |
valid_until | date | Last date on which the document or authorization is valid. |
issuing_body | string | Organization or authority that issued the document. |
issuer_name | string | Issuer name as shown on the document. |
issuing_center | string | Issuing, examination, or training center. |
issuer_country | string | Country associated with the issuer. |
document_country | string | Country to which the document belongs or in which it was issued. |
language | string | Language identified for the document. |
Worker identity facts
Section titled “Worker identity facts”| Key | Value type | Meaning |
|---|---|---|
holder_name | string | Full name of the person who holds the document or credential. |
first_name | string | Holder’s first or given name. |
last_name | string | Holder’s last or family name. |
date_of_birth | date | Holder’s date of birth. |
nationality | string | Holder’s nationality as printed or encoded on the document. |
person_identifier | string | Person-specific identifier other than a document number. |
identity_document_number | string | Passport, identity card, or other identity-document number. |
Employer and organization facts
Section titled “Employer and organization facts”| Key | Value type | Meaning |
|---|---|---|
employer_name | string | Legal or stated name of the worker’s employer. |
employer_registration_type | string | Type of employer registration identifier shown. |
employer_registration_number | string | Employer registration identifier. |
employer_country | string | Country in which the employer is established or registered. |
employer_address | string | Employer address shown on the document. |
employer_vat_number | string | Employer VAT identifier. |
service_recipient_name | string | Name of the customer or organization receiving the service. |
service_recipient_registration_type | string | Type of registration identifier used for the service recipient. |
service_recipient_registration_number | string | Service recipient’s registration identifier. |
kbo_number | string | Belgian Crossroads Bank for Enterprises registration number. |
company_registration_status | string | Company registration state shown by the evidence. |
declaration_of_works_number | string | Reference for a Declaration of Works or equivalent chain registration. |
Assignment and employment facts
Section titled “Assignment and employment facts”| Key | Value type | Meaning |
|---|---|---|
assignment_start_date | date | Date on which the assignment starts. |
assignment_end_date | date | Date on which the assignment ends. |
assignment_activity | string | Work or activity described for the assignment. |
worksite_name | string | Name of the site where the work takes place. |
worksite_address | string | Address of the worksite. |
project_reference | string | Project, site, or assignment reference. |
social_security_country | string | Country whose social-security system covers the worker. |
posting_declaration_number | string | Identifier of a worker-posting declaration or notification. |
notification_status | string | Status stated for the posting or other notification. |
employment_registration_number | string | Identifier of an employment registration. |
employment_start_date | date | Employment start date shown in the evidence. |
employment_end_date | date | Employment end date shown in the evidence. |
contract_type | string | Employment or engagement contract type. |
wage_amount | number | Wage amount stated in the evidence. Read wage_period before interpreting it. |
wage_period | string | Period or frequency associated with wage_amount. |
Accommodation and access facts
Section titled “Accommodation and access facts”| Key | Value type | Meaning |
|---|---|---|
accommodation_address | string | Address of accommodation provided or declared for the worker. |
accommodation_capacity | number | Number of people the accommodation evidence states it can house. |
approval_authority | string | Person, role, or organization that granted an approval. |
approval_date | date | Date on which the approval was granted. |
approval_scope | string | Work, site, or exception covered by the approval. |
Permit and Vander Elst facts
Section titled “Permit and Vander Elst facts”| Key | Value type | Meaning |
|---|---|---|
work_permit_number | string | Work-authorization or work-permit identifier. |
residence_permit_number | string | Residence-permit identifier. |
permit_type | string | Type or category of work or residence permit. |
permit_scope | string | Work, location, employer, or activity covered by the permit. |
permit_remarks | string | Conditions or remarks printed on the permit. |
legal_basis | string | Legal basis stated for the authorization or exemption. |
vander_elst_reference | string | Reference associated with Vander Elst evidence. |
prior_residence_days | number | Number of days of prior legal residence supported by the evidence. |
permit_covers_assignment | boolean | Whether the evidence states that the permit covers the evaluated assignment. |
employer_match_status | string | Result of comparing the employer across relevant evidence. |
Registration and operational facts
Section titled “Registration and operational facts”| Key | Value type | Meaning |
|---|---|---|
debt_check_date | date | Date on which fiscal or social debt status was checked. |
debt_status | string | Fiscal or social debt state returned by the evidence. |
check_in_reference | string | Reference for a worksite attendance registration. |
check_in_at | string | Check-in timestamp as supplied by the evidence. |
check_out_at | string | Check-out timestamp as supplied by the evidence. |
professional_card_number | string | Professional-card identifier for a self-employed worker. |
social_contribution_period | string | Period covered by social-contribution evidence. |
social_contribution_status | string | Payment or affiliation status for social contributions. |
temporary_agency_accreditation_number | string | Accreditation identifier for a temporary-employment agency. |
Skill and professional facts
Section titled “Skill and professional facts”| Key | Value type | Meaning |
|---|---|---|
skill_scope | string | Trade, task, role, or competency covered by a certificate. |
training_level | string | Level or category of the completed training. |
professional_registration_number | string | Registration number for a regulated professional. |
regulated_profession | string | Regulated profession named in the evidence. |
professional_authorization_status | string | Status of the authorization to practise the profession. |
screening_profile | string | Role or screening profile against which a check was performed. |
screening_result | string | Outcome 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 external checks
Section titled “Document external checks”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}| Field | Values | Meaning |
|---|---|---|
code | See the table below | Stable code for the kind of check performed. |
status | completed, not_found, ambiguous, unsupported, unavailable | Outcome of that check. It is separate from document_result. |
source | string or null | Customer-safe identifier for the source used. Source identifiers are not a closed enum. |
reason | string or null | Explanation supplied for the outcome when available. |
Enrichment check codes
Section titled “Enrichment check codes”| Code | Meaning |
|---|---|
organization.registry_profile | Checks an employer’s official registration profile. |
organization.vat_registration | Validates an employer VAT registration. |
organization.customs_registration | Validates an employer customs or EORI registration. |
organization.jurisdiction.restrictive_measures | Looks 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_profile | Looks up VCA credentials associated with the worker. Confirmed credentials can also appear in credential_assertions. |
document.issuer.social_security_directory | Checks whether a social-security document issuer matches the applicable institution directory. |
document.a1_authority_verification | Validates an A1 document through its applicable authority check. |
document.limosa_authority_verification | Validates a Limosa declaration through its applicable authority check. |
document.vca_registry_verification | Validates 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
Section titled “Credential assertions”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"}| Field | Type | Meaning |
|---|---|---|
scheme_code | string | Identifier of the credential scheme. |
definition_code | string | Canonical qualification or credential code confirmed within that scheme. |
source | string | Kind of source that established the assertion. |
status | string | Status returned for the asserted credential. |
holder_name | string or null | Confirmed holder name when available. |
certificate_number | string or null | Confirmed certificate identifier when available. |
valid_from | string or null | Confirmed validity start when available. |
valid_until | string or null | Confirmed 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 shape
Section titled “Decision facts shape”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 } ]}| Field | Values | Meaning |
|---|---|---|
id | string | Identifier of this frozen fact in the Decision. |
code | See the table below | Semantic name of the resolved value. |
subject.type | worker, employer, assignment, credential | Kind of entity the fact describes. |
subject.id | string | Subject identifier inside the Decision. Treat it as opaque. |
value | string, number, boolean, or string array | Resolved value. The current fact codes normally return strings. |
resolution | resolved, corroborated | corroborated means more than one consistent statement supports the value. |
assurance | low, medium, high | Source-based assurance: customer input alone is low, document evidence is medium, and external or multiple source kinds produce high assurance. |
sources | array | Lineage for the statements that support the value. |
Decision fact codes
Section titled “Decision fact codes”| Code | Subject | Meaning |
|---|---|---|
person.name | worker | Resolved full name of the worker. |
person.date_of_birth | worker | Resolved worker date of birth. |
person.nationality | worker | Resolved worker nationality. |
organization.legal_name | employer | Resolved legal name of the employer. |
organization.registration_number | employer | Resolved organization registration number. |
organization.vat_number | employer | Resolved VAT identifier. |
organization.status | employer | Resolved registration or operating status of the organization. |
assignment.worksite_country | assignment | Country in which the assignment takes place. |
assignment.starts_on | assignment | Resolved assignment start date. |
assignment.ends_on | assignment | Resolved assignment end date. |
credential.type | credential | Resolved credential or qualification code. |
credential.status | credential | Resolved status of the credential. |
credential.valid_from | credential | Resolved start of the credential’s validity period. |
credential.valid_until | credential | Resolved 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.
How external checks become Decision facts
Section titled “How external checks become Decision facts”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, ororganization.status. - A VAT check can contribute
organization.vat_numberororganization.legal_name. - A credential register can contribute
credential.type,credential.status, orcredential.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.
Decision fact sources
Section titled “Decision fact sources”| Field | Values | Meaning |
|---|---|---|
kind | customer_input, document, external_source | Where the supporting statement originated. |
code | string | Customer-safe source code. Treat it as an identifier and allow unfamiliar values. |
document_ids | string array | Documents used by this source, when applicable. |
observed_at | date-time or null | Time at which an external value was observed. |
fresh_until | date-time or null | Time 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.
Finding codes
Section titled “Finding codes”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.
| Code | Meaning |
|---|---|
document.intrinsic_issue | The Document itself contains an issue or signal that needs attention. |
identity.cross_document_conflict | Verified evidence identifies a person who differs from the worker being assessed. |
evidence.required_unresolved | Required Assessment information or evidence is missing, unresolved, or invalid. |
source.mandatory_unavailable | Dockt couldn’t complete a required authoritative check. |
source.authoritative_contradiction | An authoritative source contradicts a material claim or couldn’t find the claimed record. |
integrity.temporal_impossibility | Evidence dates or validity periods form a timeline that can’t be reconciled. |
agent.unavailable | A 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.