Skip to main content
POST
Create a new title entry
Create a title entry from structured account_data, document URLs, or a raw array of document URLs. If an entry with the same VIN already exists for your organization, Porter updates the existing entry instead of creating a duplicate.

Response Variants

This endpoint returns HTTP 200 for successful creates and updates.
entryId
string
Returned for new entries and for existing entries when enrichment is requested.
job_status
string
pending for new entries, or enriching when an existing VIN is updated and a sync flag was requested.
When an existing VIN is updated without sync flags, the API returns the full patched title entry instead of the minimal {entryId, job_status} response.

Notes

  • A raw JSON array is accepted as a legacy shorthand for { "attachments": [...] }.
  • If sync_public or sync_private is requested without an issuing state, the API automatically enables sync_nmvtis.
  • dppa_exemption is optional on create. When provided, it is passed through to enrichment requests.

Authorizations

Authorization
string
header
required

API key or Clerk JWT supplied as Authorization: Bearer

Body

application/json

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

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

sync_nmvtis
boolean

Whether to sync NMVTIS data

sync_public
boolean

Whether to sync public DMV data

sync_private
boolean

Whether to sync private DMV data

dppa_exemption
string

Driver's Privacy Protection Act exemption code. Passed through to enrichment requests when provided; create requests do not validate it as required.

website
string

Accepted for legacy clients but ignored; the organization is derived from authentication.

Response

Title entry created or existing entry updated. The response variant depends on VIN deduplication and requested sync flags.

New entry created; job_status is pending

entryId
string<uuid>
required

Unique identifier for the created title entry

Example:

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

job_status
enum<string>
required

Will be 'pending' for new entries

Available options:
pending,
input_parsing,
enriching,
generating_forms,
complete,
error
Example:

"pending"