The Cardinal Gray Data Model
Cardinal Gray’s API is built around an opinionated, transaction-agnostic data model that separates what we’re dealing with (the vehicle) from where we’re taking it (the transaction).- Vehicle (descriptive): The source of truth for VIN, make, model, title information, and registration data
- Transaction (prescriptive): How you’re working with this vehicle: loan, sale, repo, or salvage
The Vehicle Object
Overview
TheVehicle object is the descriptive core of every title entry. It contains:
1. Identity & Classification
2. Ownership Information
3. Registration Information
Registered vs titled owners are distinguished within the
title.owners via the ownership_type enum, which is ordered based
on ownership priority!Data Enrichment: When you POST a title with
sync_nmvtis, sync_public, or sync_private flags, Cardinal Gray automatically populates these fields with real-time DMV data. You only need to provide the VIN and we handle the rest.Deep Dive
Field-by-field walkthrough of theVehicle object.
Vehicle Fields
The following fields are available on theVehicle object from DMV data enrichment:
| Field | Description |
|---|---|
vin | Vehicle Identification Number |
year | Vehicle model year |
make | Vehicle manufacturer |
model | Vehicle model name |
body | Body style |
type | Vehicle type classification |
color | Primary color |
color_secondary | Secondary color |
fuel_type | Fuel type |
use | Vehicle use classification |
weight | Vehicle weight |
weight_rating | Weight rating classification |
weight_gross | Gross vehicle weight |
weight_unladen | Unladen weight |
width | Vehicle width |
length | Vehicle length |
bhpcc | BHP/CC rating |
number_of_axles | Number of axles |
number_of_cylinders | Number of cylinders |
license_plate | License plate number |
license_plate_type | Plate type |
motorcycle_engine_number | Motorcycle engine number |
registration_status | Current registration status |
registration_expiration_date | Registration expiration date |
registration_issuance_date | Registration issuance date |
class | Vehicle class |
has_reg_title_holds | Whether holds exist |
reg_title_holds | Array of registration/title holds |
prev_date_of_sale | Previous sale date |
prev_sale_price | Previous sale price |
fee_history | Historical fee data |
insurance | Insurance information |
VehicleTitle Fields
The following fields are available on the nestedVehicleTitle object:
| Field | Description |
|---|---|
number | Title number |
issuing_state | State that issued the title |
issuing_county | County where title was issued |
issuance_date | Title issuance date |
brand | Title brand (deprecated) |
brand_code | Brand code (deprecated) |
brands | Array of brand details with NMVTIS codes |
odometer_reading | Odometer reading at title issuance |
odometer_reading_unit | MI or KM |
odometer_code | Odometer status code |
odometer_code_translation | Human-readable odometer status |
has_liens | Whether liens exist |
active_liens | Array of active liens |
is_electronic | Electronic title flag |
is_and | AND ownership conjunction |
is_or | OR ownership conjunction |
is_tod | Transfer on Death flag |
is_jtwros | Joint Tenants With Right of Survivorship |
conjunction | Ownership conjunction type |
is_leased | Leased vehicle flag |
previous_title | Previous title information |
owner_names_one_line | Concatenated owner names |
number_of_owners | Number of owners |
owners | Array of owner Person objects |
status | Title status (active, inactive, pending, etc.) |
status_raw_text | Raw status text from source |
prev_action | Previous action (original, transfer, duplicate, etc.) |
prev_action_raw_text | Raw previous action text |
Transaction Types
Each transaction type is purpose-built for specific workflows, modeling the information you collect within a loan origination system or deal flow:Reach out to support for information on auto-populating transaction keys for your specific workflow needs
DirectLoan - Financing & Refinancing
DirectLoan - Financing & Refinancing
For title work involving loans or refinances.Use cases: Frontend lien perfection, refinances, lien additions.
Sale - Vehicle Transfers
Sale - Vehicle Transfers
For dealer sales, private party sales, or gifts.Use cases: Dealer sales, private party transfers, gift transfers.
Repo - Repossession Processing
Repo - Repossession Processing
For vehicle repossession workflows.Use cases: Repo title acquisition, affidavit generation, post-repo sales.
Salvage - Total Loss Processing
Salvage - Total Loss Processing
For insurance total loss or salvage title work.Use cases: Salvage title applications, total loss settlements, rebuilt titles.