Skip to main content
POST
/
title
Create a new title entry
curl --request POST \
  --url https://dev.cardinalgray.com/title \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "attachments": [
    "https://example.com/vehicle-title.pdf",
    "https://example.com/drivers-license.jpg"
  ],
  "account_data": {
    "vehicle": {
      "vin": "1HGCM82633A123456"
    },
    "borrower": {
      "name": "John Doe",
      "contact_email": "john.doe@example.com",
      "contact_phone": "123-456-7890"
    }
  },
  "groupId": "branch-5321"
}'
{
  "entryId": "550e8400-e29b-41d4-a716-446655440000",
  "job_status": "pending"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Title entry data - either structured AccountData or document URLs for processing

  • Multimodal Request
  • Document Upload
  • Structured Data

Recommended format: combine document uploads with partial structured data for best results

attachments
string<uri>[]

Array of document URLs to be processed via OCR and data extraction. Supported formats: PDF, JPG, PNG

account_data
object

Additional structured data, such as loan applicant information. Data will be intelligently merged with OCR-extracted data.

groupId
string

Optional user group ID for organizational access control and workflow routing

Response

Existing entry updated (when VIN already exists)

entryId
string<uuid>
required

Unique identifier for the created title entry

Example:

"550e8400-e29b-41d4-a716-446655440000"

job_status
enum<string>
required

Initial processing status of the entry

Available options:
pending
Example:

"pending"