Overview
account_facts is a top-level field on title entries (DynamoDBEntry) that packages four yes/no judgements an integration partner needs at a glance. Each fact includes a plain-language summary and references back into the underlying data.
Facts are derived from the vehicle reconciliation engine — the same projection that powers title review — not from raw account_data alone. They are computed live on read when you call GET /title/{id} (or the reconcile endpoint for opted-in orgs) and are only present when job_status is complete.
account_discrepancies and account_matches are deprecated in favor of account_facts. Prefer reading account_facts for title review automation.When it appears
| Condition | Result |
|---|---|
| Organization is opted in to the preview | account_facts may be included |
job_status is not complete | Field is omitted |
| Reconciliation or fact derivation fails | Field is omitted (response still succeeds) |
POST /title request (stored in the “Initial API Call Data” attachment), not the live account_data.loan.borrower[] array, which enrichment may overwrite with materialized title owners.
Object shape
The four facts
borrower_on_title
Question: Do all submitted obligor borrowers appear on the title?
true— Every submitted borrower fuzzy-matches at least one reconciled title owner.false— At least one submitted borrower does not match any owner, or there were no submitted borrowers / no reconciled owners to compare.
Last, First order, middle initials, and common nickname prefixes. Non-obligor borrowers (is_nonobligor: true) are excluded from the submitted set.
When false because of a mismatch, references cite the unmatched borrower(s) plus the owner list. When true, references cite the matched borrower(s) plus owners.
borrower_signature_only_needed_for_title
Question: Can the borrower sign alone (without other owners)?
truewhen either:- The title is an OR title (
vehicle.title.is_or === true), or - Every reconciled title owner is a submitted borrower (wholly borrower-owned).
- The title is an OR title (
falsewhen the title is AND/joint and not wholly borrower-owned, or when no reconciled owners are available to evaluate.
true regardless of borrower ownership.
has_problematic_brands
Question: Does the title carry a title-impairing brand?
true— At least one problematic brand is present onvehicle.title.brands(or legacyvehicle.title.brand).false— No problematic brands found, or no brand data available.
SALVAGE, REBUILT, FLOOD, JUNK, LEMON, EXPORT_ONLY, and related variants.
Excluded (not title-blocking on their own): odometer brands (ACTUAL_MILEAGE, EXEMPT_ODOMETER, etc.) and administrative brands (MEMORANDUM_COPY, etc.).
are_there_active_liens
Question: Are there unreleased liens on the title?
true— At least one lien inactive_lienslackslien_release_signed: true, orhas_liensis true with no lien detail.false— All liens are released, no liens exist, or no lien data is available.
references point to each unreleased lienholder name.
Interpreting value: false
For all four facts, false is overloaded. It can mean either:
- A genuine negative answer (e.g. borrower is not on title), or
- Insufficient data to decide (e.g. enrichment still running, no submitted borrowers, no reconciled owners).
summary string to disambiguate — it explicitly states when inputs were missing (e.g. “No submitted borrower names were available…”).
A future explicit
determinable or tri-state field is tracked as a partner-facing contract change. Until then, parse summary or wait until job_status is complete and enrichment has populated owners/brands/liens.Example response
Related endpoints
Get Title Entry
GET /title/{id} — primary surface where account_facts is returned for preview orgsCore Ontology
Background on
AccountData, Vehicle, and reconciliation inputs