Skip to main content

Overview

Drivly’s Credit Application API is designed for the submission of credit applications for vehicle purchases and loan payoffs. It interfaces with financial lenders for processing these applications, ensuring a streamlined approach for credit checks, approvals, and financing options.

Making a Request

Submit a credit application to https://commerce.driv.ly/api/creditApplications with a POST request. Below is a breakdown of the required and optional data fields, supplemented with example requests for your applications.

Required Fields

Required fields must be provided with every application:
FieldDescriptionFormat Example
primaryApplicantThe applicant’s information{ "name": "John Doe", "ssn": "123-45-6789" }
applicationTypeThe type of application (e.g., PURCHASE, REFINANCE, LEASE_BUYOUT)“PURCHASE”
vehicleThe vehicle information being financed{ "make": "Toyota", "model": "Camry", "year": 2020 }
hasCoApplicantWhether the application includes a co-applicanttrue
environmentThe environment to use”Production”
financeAmountThe amount to finance35000
sendToThe system to send the application to”RouteOne”
preApprovalThe pre-approval ID”PA123456”

Optional Fields

Optional fields can be included based on specific requirements:
FieldDescriptionFormat Example
coApplicantThe co-applicant’s information{ "name": "Jane Doe", "ssn": "987-65-4321" }
tradesTrade-in vehicle information{ "make": "Ford", "model": "Focus", "year": 2018 }

Required Fields

  • primaryApplicant: The applicant’s information.
  • applicationType: The type of application (e.g., PURCHASE, REFINANCE, LEASE_BUYOUT).
  • vehicle: The vehicle information being financed.
  • hasCoApplicant: Whether the application includes a co-applicant (e.g., true, false).
  • environment: The environment to use (e.g., Production, Development).
  • financeAmount: The amount to finance (e.g., 35000).
  • sendTo: The system to send the application to (e.g., RouteOne, TSG).
  • preApproval: The pre-approval ID.

Optional Fields

  • coApplicant: The co-applicant’s information (if applicable).
  • trades: Trade-in vehicle information (if applicable).

Example Request

{
  "title": "Credit Application",
  "sendTo": "RouteOne",
  "state": "DRAFT",
  "environment": "Production",
  "preApproval": "123456789",
  "applicationType": "REFINANCE",
  "financeAmount": 65000,
  "downPayment": 5000,
  "primaryApplicant": {
    "firstName": "Danny",
    "lastName": "Turner",
    "birthDate": "06/24/1995",
    "emailAddress": "dannyt@gmail.com",
    "cellPhone": "561-775-1234",
    "ssn": "123-45-6789",
    "currentResidence": {
      "monthlyPaymentAmount": 3000,
      "monthsAtResidence": 36,
      "ownershipStatus": "OWN",
      "address": {
        "lineOne": "123 Main St",
        "lineTwo": "Apt 2",
        "city": "Miami",
        "state": "FL",
        "postalCode": "33101"
      }
    },
    "currentEmployment": {
      "yearlyIncomeAmount": 95000,
      "monthsAtEmployer": 36,
      "employmentType": "FULL_TIME",
      "employerName": "ABC Corp",
      "employmentPosition": "Manager",
      "employmentAddress": {
        "lineOne": "1525 Flamingo Ave",
        "lineTwo": "Suite 100",
        "city": "Miami",
        "state": "FL",
        "postalCode": "33101"
      }
    },
    "additionalIncomeAmount": 1000,
    "additionalIncomeFrequency": "WEEKLY",
    "additionalIncomeSource": "Part-time job",
    "terms": {
      "agreeToTerms": true,
      "agreeIP": "150.80.15.220",
      "agreeUserAgent": "Mozilla/5.0"
    }
  },
  "hasCoApplicant": false,
  "vehicle": {
    "vin": "W1NKM4HB4RF139674",
    "year": 2024,
    "make": "Mercedes-Benz",
    "model": "GLC",
    "trim": "GLC 300 4MATIC",
    "mileage": 20,
    "lien": {
      "lienHolder": "ABC Bank",
      "monthlyPaymentAmount": 800,
      "payoffAmount": 30000,
      "initialTerm": 72,
      "remainingTerm": 36,
      "originalAmount": 60000,
      "apr": 4.5
    }
  }
}

Fetch API Example

We will assume that the createCreditApplication function and the Promise is called with the required data fields.
export async function createCreditApp(data) {
  try {
    const res = await fetch('https://commerce.driv.ly/api/creditApplications', {
      method: 'POST',
      headers: {
        Authorization: '<api-key>',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(data),
    })

    const data = await res.json()
    console.log('Credit Application Response:', data)
  } catch (error) {
    console.error('Error during the API request:', error)
  }
}

Successful Response

A successful response will have a 200 status code and a JSON object with the following fields:
  • id: The application ID.
  • title: The application title.
  • status: The application status.
  • sendTo: The system the application is sent to.
  • state: The application state.
  • environment: The environment used.
  • preApproval: The pre-approval ID.
  • applicationType: The application type.
  • financeAmount: The financed amount.
  • downPayment: The down payment amount.
  • primaryApplicant: The primary applicant’s information.
  • hasCoApplicant: Whether the application has a co-applicant.
  • vehicle: The vehicle information.
  • createdAt: The application creation date.
  • updatedAt: The application update date.

Example Response

{
  "id": "65f4c43aa86cc23f4013cfc8",
  "sendTo": "RouteOne",
  "state": "DRAFT",
  "environment": "Production",
  "requiredFields": [],
  "preApproval": {
    "id": "12034631b86bb45g202071a1",
    "title": "Danny Turner (dannyt@gmail.com)",
    "firstName": "Danny",
    "middleInitial": "",
    "lastName": "Turner",
    "suffix": null,
    "address": "123 Main St Apt 2",
    "city": "Miami",
    "state": "FL",
    "zip": "33101",
    "phone": "+15617751234",
    "email": "dannyt@gmail.com",
    "sessionId": "",
    "createdAt": "2024-03-26T22:04:01.175Z",
    "updatedAt": "2024-03-26T22:04:01.175Z",
    "status": "Processed",
    "AppId": 154422063,
    "customer": {
      "id": "12ab3d1241567b12d2ga12c1",
      "leads": ["65ea2c8130784a03c8fd39c9"],
      "address": "65ea2c8130784a03c8fd39c9",
      "email": "dannyt@gmail.com",
      "phone": "+15617551234",
      "consumerFirstName": "Danny",
      "consumerMiddleName": "",
      "consumerLastName": "Turner",
      "consumerSuffix": null,
      "consumerPreApprovals": ["12034631b86bb45g202071a1"],
      "consumerLeadSource": [],
      "companyType": [],
      "createdAt": "2024-03-26T22:03:29.685Z",
      "updatedAt": "2024-03-26T22:03:29.685Z"
    },
    "segmentationBand": "Good (700-749)",
    "income": "$12,000" // monthly income
  },
  "primaryApplicant": {
    "firstName": "Danny",
    "lastName": "Turner",
    "birthDate": "06/24/1995",
    "emailAddress": "dannyt@gmail.com",
    "cellPhone": "561-775-1234",
    "ssn": "123-45-6789",
    "currentResidence": {
      "monthlyPaymentAmount": 3000,
      "monthsAtResidence": 36,
      "ownershipStatus": "OWN",
      "address": {
        "lineOne": "123 Main St",
        "lineTwo": "Apt 2",
        "city": "Miami",
        "state": "FL",
        "postalCode": "33101"
      }
    },
    "currentEmployment": {
      "yearlyIncomeAmount": 95000,
      "monthsAtEmployer": 36,
      "employmentType": "FULL_TIME",
      "employerName": "ABC Corp",
      "employmentPosition": "Manager",
      "employmentAddress": {
        "lineOne": "1525 Flamingo Ave",
        "lineTwo": "Suite 100",
        "city": "Miami",
        "state": "FL",
        "postalCode": "33101"
      }
    },
    "previousResidence": { "address": {} },
    "previousEmployment": { "employmentAddress": {} },
    "additionalIncomeAmount": 1000,
    "additionalIncomeFrequency": "WEEKLY",
    "additionalIncomeSource": "Part-time job",
    "terms": {
      "agreeToTerms": true,
      "agreeIP": "150.80.15.220",
      "agreeUserAgent": "Mozilla/5.0"
    }
  },
  "coApplicant": {
    "currentResidence": { "address": {} },
    "currentEmployment": { "employmentAddress": {} },
    "previousResidence": { "address": {} },
    "previousEmployment": { "employmentAddress": {} },
    "terms": {}
  },
  "vehicle": {
    "vin": "W1NKM4HB4RF139674",
    "year": 2024,
    "make": "Mercedes-Benz",
    "model": "GLC",
    "trim": "GLC 300 4MATIC",
    "mileage": 20,
    "lien": {
      "lienHolder": "ABC Bank",
      "monthlyPaymentAmount": 800,
      "payoffAmount": 30000,
      "initialTerm": 72,
      "remainingTerm": 36,
      "originalAmount": 60000,
      "apr": 4.5
    }
  },
  "createdAt": "2024-03-15T21:58:48.032Z",
  "updatedAt": "2024-03-15T21:58:48.032Z",
  "logs": [],
  "missingFields": {},
  "passesChecklist": true,
  "rates": [],
  "title": "[DRAFT] Danny Turner - $65,000.00",
  "applicationType": "REFINANCE",
  "meta": {
    "refinanceType": "REMOVE SOMEONE",
    "term": "60 months",
    "sellTrade": "No"
  },
  "downPayment": 5000,
  "financeAmount": 65000,
  "trades": [],
  "hasCoApplicant": false
}

Form Integration (UI)

We have RouteOne Certified Form Integration available. This allows you to submit credit applications directly to RouteOne for processing. To use this feature:
  • Use https://credit.driv.ly?tenant={RouteOneDealerId} with the RouteOne Dealer ID.
  • Host the form on custom domain with the RouteOne API integration.
The form fields can be pre-filled using query parameters, making it easier to complete the application. https://credit.driv.ly/?[fieldName]={value}&[fieldName]={value}

Form Fields (UI)

firstName
string
required
The first name of the primary applicant (e.g., John)Min: 2 characters, Max: 30 characters
middleName
string
The middle initial of the primary applicant (e.g., D)Max: 3 characters
lastName
string
required
The last name of the primary applicant (e.g., Smith)Min: 2 characters, Max: 30 characters
phone
string
required
The phone number of the primary applicant (e.g., 5615551212)
phoneType
enum<string>
required
The type of phone number (e.g., MOBILE, HOME, WORK)options: MOBILE, HOME, WORK
email
string
required
The email address of the primary applicant (e.g., john@gmail.com)
dateOfBirth
string
required
The date of birth of the primary applicant (e.g., 01/01/1990)format: MM/DD/YYYY
ssn
string
required
The SSN of the primary applicant (e.g., 123456789)Min: 9 characters
residenceTypeCode
enum<string>
required
The residence type of the primary applicant (e.g., OWN=1, Rent=3, Live With Others=4)options: 1, 3, 4
addressLine1
string
required
The address line 1 of the primary applicant (e.g., 123 Main St)Max: 200 characters
addressLine2
string
The address line 2 of the primary applicant (e.g., Apt 2)Max: 200 characters
city
string
required
The city of the primary applicant (e.g., Miami)Max: 30 characters
state
string
required
The state of the primary applicant (e.g., FL)Max: 2 characters
zipCode
string
required
The ZIP code of the primary applicant (e.g., 33101)Max: 5 characters
addressYears
enum<string>
required
The number of years at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
addressMonths
enum<string>
The number of months at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
rentMortgagePaymentAmount
string
required
The monthly rent/mortgage payment of the primary applicant (e.g., 1500)
prevAddressLine1
string
The address line 1 of the primary applicant (e.g., 123 Main St)Required if addressYears is less than 2 yearsMax: 200 characters
prevAddressLine2
string
The address line 2 of the primary applicant (e.g., Apt 2)Required if addressYears is less than 2 yearsMax: 200 characters
prevCity
string
The city of the primary applicant (e.g., Miami)Required if addressYears is less than 2 yearsMax: 30 characters
prevState
string
The state of the primary applicant (e.g., FL)Required if addressYears is less than 2 yearsMax: 2 characters
prevZipCode
string
The ZIP code of the primary applicant (e.g., 33101)Required if addressYears is less than 2 yearsMax: 5 characters
prevAddressYears
enum<string>
The number of years at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10Required if addressYears is less than 2 years
prevAddressMonths
enum<string>
The number of months at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
prevRentMortgagePaymentAmount
string
The monthly rent/mortgage payment of the primary applicant (e.g., 1500)Required if addressYears is less than 2 years
licenseNumber
string
required
The driver’s license number of the primary applicant (e.g., 123456789)
licenseState
string
required
The driver’s license state of the primary applicant (e.g., FL)Max: 2 characters
employmentStatusCode
enum<string>
required
The employment status of the primary applicant (e.g., Full Time, Military, Contract)options: Full Time, Military, Contract, Part Time, Temporary, Seasonal, Self-Employed, Retired, Not Applicable
employerName
string
required
The employer name of the primary applicant (e.g., ABC Corp)Max: 40 characters
employerPhone
string
required
The employer phone number of the primary applicant (e.g., 5615551212)
employmentTitle
string
required
The job title of the primary applicant (e.g., Manager)Max: 20 characters
timeOnJobYears
enum<string>
required
The number of years at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
timeOnJobMonths
enum<string>
The number of months at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
incomeAmount
string
required
The monthly income of the primary applicant (e.g., 5000)
prevEmployerName
string
The employer name of the primary applicant (e.g., ABC Corp)Required if timeOnJobYears is less than 2 yearsMax: 40 characters
prevEmployerPhone
string
The employer phone number of the primary applicant (e.g., 5615551212)Required if timeOnJobYears is less than 2 years
prevEmploymentTitle
string
The job title of the primary applicant (e.g., Manager)Required if timeOnJobYears is less than 2 yearsMax: 20 characters
prevTimeOnJobYears
enum<string>
The number of years at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10Required if timeOnJobYears is less than 2 years
prevTimeOnJobMonths
enum<string>
The number of months at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
prevIncomeAmount
string
The monthly income of the primary applicant (e.g., 5000)Required if timeOnJobYears is less than 2 years
otherIncomeSourceCode
enum<string>
The other income source of the primary applicant (e.g., OTHCSTM)options: OTHCSTM, NO
otherIncomeAmount
string
The other income monthly amount of the primary applicant (e.g., 1000)
otherIncomeSourceDescription
string
The other income source description of the primary applicant (e.g., Part-time job)Max: 30 characters
joint
boolean
Joint application indicator
co_firstName
string
required
The first name of the primary applicant (e.g., John)Min: 2 characters, Max: 30 characters
co_middleName
string
The middle initial of the primary applicant (e.g., D)Max: 3 characters
co_lastName
string
required
The last name of the primary applicant (e.g., Smith)Min: 2 characters, Max: 30 characters
co_phone
string
required
The phone number of the primary applicant (e.g., 5615551212)
co_phoneType
enum<string>
required
The type of phone number (e.g., MOBILE, HOME, WORK)options: MOBILE, HOME, WORK
co_email
string
required
The email address of the primary applicant (e.g., john@gmail.com)
co_dateOfBirth
string
required
The date of birth of the primary applicant (e.g., 01/01/1990)format: MM/DD/YYYY
co_ssn
string
required
The SSN of the primary applicant (e.g., 123456789)Min: 9 characters
co_residenceTypeCode
enum<string>
required
The residence type of the primary applicant (e.g., OWN=1, Rent=3, Live With Others=4)options: 1, 3, 4
co_addressLine1
string
required
The address line 1 of the primary applicant (e.g., 123 Main St)Max: 200 characters
co_addressLine2
string
The address line 2 of the primary applicant (e.g., Apt 2)Max: 200 characters
co_city
string
required
The city of the primary applicant (e.g., Miami)Max: 30 characters
co_state
string
required
The state of the primary applicant (e.g., FL)Max: 2 characters
co_zipCode
string
required
The ZIP code of the primary applicant (e.g., 33101)Max: 5 characters
co_addressYears
enum<string>
required
The number of years at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
co_addressMonths
enum<string>
The number of months at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
co_rentMortgagePaymentAmount
string
required
The monthly rent/mortgage payment of the primary applicant (e.g., 1500)
co_prevAddressLine1
string
The address line 1 of the primary applicant (e.g., 123 Main St)Required if co_addressYears is less than 2 yearsMax: 200 characters
co_prevAddressLine2
string
The address line 2 of the primary applicant (e.g., Apt 2)Required if co_addressYears is less than 2 yearsMax: 200 characters
co_prevCity
string
The city of the primary applicant (e.g., Miami)Required if co_addressYears is less than 2 yearsMax: 30 characters
co_prevState
string
The state of the primary applicant (e.g., FL)Required if co_addressYears is less than 2 yearsMax: 2 characters
co_prevZipCode
string
The ZIP code of the primary applicant (e.g., 33101)Required if co_addressYears is less than 2 yearsMax: 5 characters
co_prevAddressYears
enum<string>
The number of years at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10Required if co_addressYears is less than 2 years
co_prevAddressMonths
enum<string>
The number of months at the current addressoptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
co_prevRentMortgagePaymentAmount
string
The monthly rent/mortgage payment of the primary applicant (e.g., 1500)Required if co_addressYears is less than 2 years
co_licenseNumber
string
required
The driver’s license number of the primary applicant (e.g., 123456789)
co_licenseState
string
required
The driver’s license state of the primary applicant (e.g., FL)Max: 2 characters
co_employmentStatusCode
enum<string>
required
The employment status of the primary applicant (e.g., Full Time, Military, Contract)options: Full Time, Military, Contract, Part Time, Temporary, Seasonal, Self-Employed, Retired, Not Applicable
co_employerName
string
required
The employer name of the primary applicant (e.g., ABC Corp)Max: 40 characters
co_employerPhone
string
required
The employer phone number of the primary applicant (e.g., 5615551212)
co_employmentTitle
string
required
The job title of the primary applicant (e.g., Manager)Max: 20 characters
co_timeOnJobYears
enum<string>
required
The number of years at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
co_timeOnJobMonths
enum<string>
The number of months at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
co_incomeAmount
string
required
The monthly income of the primary applicant (e.g., 5000)
co_prevEmployerName
string
The employer name of the primary applicant (e.g., ABC Corp)Required if co_timeOnJobYears is less than 2 yearsMax: 40 characters
co_prevEmployerPhone
string
The employer phone number of the primary applicant (e.g., 5615551212)Required if co_timeOnJobYears is less than 2 years
co_prevEmploymentTitle
string
The job title of the primary applicant (e.g., Manager)Required if co_timeOnJobYears is less than 2 yearsMax: 20 characters
co_prevTimeOnJobYears
enum<string>
The number of years at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10Required if co_timeOnJobYears is less than 2 years
co_prevTimeOnJobMonths
enum<string>
The number of months at the current joboptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
co_prevIncomeAmount
string
The monthly income of the primary applicant (e.g., 5000)Required if co_timeOnJobYears is less than 2 years
co_otherIncomeSourceCode
enum<string>
The other income source of the primary applicant (e.g., OTHCSTM)options: OTHCSTM, NO
co_otherIncomeAmount
string
The other income monthly amount of the primary applicant (e.g., 1000)
co_otherIncomeSourceDescription
string
The other income source description of the primary applicant (e.g., Part-time job)Max: 30 characters
vehicleVin
string
required
The vehicle’s VIN (e.g., 5LM5J6WC1RGL07567)Min: 17 characters
vehicleYear
string
required
The vehicle’s year (e.g., 2024)Min: 4 characters
vehicleMake
string
required
The vehicle’s make (e.g., Lincoln)Min: 1 characters
vehicleModel
string
required
The vehicle’s model (e.g., Aviator)Min: 1 characters
vehiclePrice
string
required
The vehicle’s price (e.g., 55985)Min: 1 characters
vehicleMileage
string
required
The vehicle’s mileage (e.g., 7)Min: 1 characters
vehicleCashDown
string
The cash down payment (e.g., 5000)
tradeInVehicleIndicator
string
required
Trade-in vehicle indicator (e.g., Y)
tradeInVin
string
Trade-in vehicle VIN (e.g., W1NKM4HB4RF139674)Min: 17 characters
tradeInYear
string
Trade-in vehicle year (e.g., 2024)Min: 4 characters
tradeInMake
string
Trade-in vehicle make (e.g., Mercedes-Benz)Min: 1 characters
tradeInModel
string
Trade-in vehicle model (e.g., GLC 300)Min: 1 characters
tradeInLienIndicator
string
Trade-in vehicle lien indicator (e.g., Y)
Requires a dealer account with RouteOne and company logo. Please contact sales for more information.

Next Steps

Now that you have a better understanding of how the Credit Application API works, you can start integrating it into your application.
I