Skip to content

Data Models

INFO

See ApplicationModel for details on how to submit an application (Used for the quote parameter on the Submit Application endpoint).

AddressHistoryModel

javascript
{
  "ccrCounty": "GALWAY",
  "timeAtAddress": "LessThan6Months",
  "county": "Co. Carlow",
  "line1": "11 Páirc Mhuire",
  "line2": "Tullow",
  "postCode": "(string)",
  "town": "Carlow",
}
Field NameTypeDescription
ccrCounty (required)enum(CcrCounty)One of ["GALWAY", "LEITRIM", "MAYO", "ROSCOMMON", "SLIGO", "CARLOW", "MONAGHAN", "KILDARE", "KILKENNY", "LAOIS", "LONGFORD", "LOUTH", "MEATH", "OFFALY", "WESTMEATH", "WEXFORD", "WICKLOW", "CLARE", "CORK", "KERRY", "LIMERICK", "TIPPERARY", "WATERFORD", "CAVAN", "DONEGAL", "DUBLIN"]. County must be provided in the address.
timeAtAddress (required)enum(Duration)One of ["LessThan6Months", "From6To12Months", "About1Year", "About2Years", "About3Years", "About4Years", "About5Years", "About6Years", "About7Years", "About8Years", "About9Years", "About10YearsOrMore"] .
countystringCounty must be provided in the address
line1stringAddress Line 1
line2stringAddress Line 2
postCodestringAddress Postcode
townstringAddress Town

AddressModel

javascript
{
  "county": "Co. Carlow",
  "line1": "11 Páirc Mhuire",
  "line2": "Tullow",
  "postCode": "R13 TN29",
  "town": "Carlow",
}
Field NameTypeDescription
countystringCounty must be provided in the address
line1stringAddress Line 1
line2stringAddress Line 2
postCodestringAddress Postcode
townstringAddress Town

ApplicantModel

javascript
{
  "contactDetails": { ... },
  "personalInfo": { ... },
  "employment": { ... },
  "incomeExpenditure": { ... },
}
Field NameTypeDescription
contactDetails (required)ContactDetailsModelContact details of the Applicant
personalInfo (required)PersonalInfoModelPersonal information of the Applicant
employmentEmploymentModelRequired if the BorrowerType is Individual or Joint. Employment information of the Applicant
incomeExpenditureIncomeExpenditureModelRequired if the BorrowerType is Individual or Joint. Income and expenditure details of the Applicant. The sum of all applicants income must be at least €1,250 per month

ApplicationModel

javascript
{
  "applicants": [ { ... }, { ... } ],
  "bankDetails": { ... },
  "borrowerType": "Individual",
  "finance": { ... },
  "financeApplyingFor": "Car",
  "businessData": { ... },
  "company": { ... },
  "furtherInformation": "(string)",
  "newVehicle": { ... },
  "partnership": { ... },
  "quoteReference": "(string)",
  "soleTrader": { ... },
  "usedVehicle": { ... },
}
Field NameTypeDescription
applicants (required)ApplicantModel[]The Applicants of the application. The length depends on the BorrowerType. Individual and SoleTrader = 1, Joint = 2, Partnership = 2 or 3, LimitedCompany = 1 to 3
bankDetails (required)BankDetailsModelBank details
borrowerType (required)enum(BorrowerType)One of ["Individual", "Joint", "Partnership", "LimitedCompany", "SoleTrader"]. The type of the application. Individual => An application for one applicant, Joint => An application with an applicant and a guarantor, Partnership => An application with 2 or 3 applicants that has a partnership company, LimitedCompany => An application for a limited company, it has to be the directors as applicants. SoleTrader => An application for a sole trader,
finance (required)FinanceModelFinance details
financeApplyingFor (required)enum(FinanceApplyingFor)One of ["Car", "LightCommercial", "CAFAsset"]. The type of Vehicle: Car => normal cars = 1, LightCommercial => Vans and others commercial vehicles = 2, CAFAsset = Tractors and others vehicles = 3
businessDataBusinessModelRequired if the BorrowerType is Partnership, LimitedCompany or SoleTrader. Common fields for all businesses.
companyCompanyModelRequired if the BorrowerType is Partnership or LimitedCompany. Fields for Company.
furtherInformationstringFurther information
newVehicleNewVehicleModelRequired if UsedVehicle is null. Fields for new vehicles
partnershipPartnershipModelRequired if the BorrowerType is Partnership. Fields for Partnership
quoteReferencestringRequired if the intent is to resubmit a quote that failed a previous submit attempt. Null if it is a new submission
soleTraderSoleTraderModelRequired if the BorrowerType is SoleTrader. Fields for SoleTrader
usedVehicleUsedVehicleModelRequired if NewVehicle is null. Fields for used vehicles

BankDetailsModel

javascript
{
  "accountName": "(string)",
  "accountType": "IndividualAccount",
  "bank": "AlliedIrishBanks",
  "yearsWithBank": 2,
  "accountNumber": "12345678",
  "address": "(string)",
  "bicCode": "BOFIGB2B",
  "branch": "(string)",
  "iban": "IE29 AIBK 9311 5212 3456 78",
  "sortCode": "92-22-33",
}
Field NameTypeDescription
accountName (required)stringThe name of the bank account
accountType (required)enum(AccountType)One of ["IndividualAccount", "JointAccount"]. The bank account type. Individual Account = 1. Joint Account = 2
bank (required)enum(Bank)One of ["AlliedIrishBanks", "BankOfIreland", "BarclaysBankIreland", "BNPParibas", "CreditUnion", "EBS", "N26", "NationalIrishBank", "PermanentTSB", "Revolut" "AnPost"]. The bank that holds the account
yearsWithBank (required)integer(int32)How many years the applicant uses this bank. Must be a positive whole number
accountNumberstringThe Bank account's number. Must be not less than 8 characters
addressstringThe address of the Bank's branch that holds the account
bicCodestringThe Bank account's Bank Identifier Code
branchstringThe identification of the Bank's branch that holds the account
ibanstringThe Bank account's International Bank Account Number
sortCodestringThe Bank account's sort code. Must be a valid sort code. These codes have six digits, and they are divided into three different pairs, such as 12-34-56

BusinessModel

javascript
{
  "businessCcrCounty": "GALWAY",
  "averageTurnoverPerMonth": 0,
  "businessAddress": { ... },
  "businessEmail": "a@co.com",
  "businessTelephone": "0838333333",
  "numberOfEmployees": 1,
  "typeOfBusiness": "Accounting",
  "yearIncorporated": "1995",
}
Field NameTypeDescription
businessCcrCounty (required)enum(CcrCounty)One of ["GALWAY", "LEITRIM", "MAYO", "ROSCOMMON", "SLIGO", "CARLOW", "MONAGHAN", "KILDARE", "KILKENNY", "LAOIS", "LONGFORD", "LOUTH", "MEATH", "OFFALY", "WESTMEATH", "WEXFORD", "WICKLOW", "CLARE", "CORK", "KERRY", "LIMERICK", "TIPPERARY", "WATERFORD", "CAVAN", "DONEGAL", "DUBLIN"]. Required if the BorrowerType is Partnership, LimitedCompany or SoleTrader. The county of the business address in CCR list. CCR => Central Credit Register (Central Bank of Ireland)
averageTurnoverPerMonthnumber(double)Required if the BorrowerType is Partnership, LimitedCompany or SoleTrader. The average turnover per month of the Business. Must be whole euros
businessAddressAddressModelRequired if the BorrowerType is Partnership, LimitedCompany or SoleTrader. The address of the business
businessEmailstringRequired if the BorrowerType is Partnership, LimitedCompany or SoleTrader. Business email address. Must be a valid email address
businessTelephonestringRequired if the BorrowerType is Partnership, LimitedCompany or SoleTrader. Business phone number. Must be a valid Ireland phone number
numberOfEmployeesinteger(int32)Required if the BorrowerType is Partnership, LimitedCompany or SoleTrader. The Number of employees in the Business. Must be a non-negative integer
typeOfBusinessstringRequired if the BorrowerType is Partnership, LimitedCompany or SoleTrader. The type that the Business
yearIncorporatedstringRequired if the BorrowerType is Partnership, LimitedCompany or SoleTrader. The year that the Business was incorporated. Must be an integer >= 1900

CarModel

javascript
{
  "fuel": "Diesel",
  "id": "JEuGXaXXjLLTa348T95fB2MfGn1trTtPcEmnpYG4Whc=",
  "specification": "2.2JTD 190hp Sprint",
}
Field NameTypeDescription
fuelstringThe fuel that should be used in new cars fields
idstringThe id that should be used in new cars fields
specificationstringThe specification that should be used in new cars fields

CarSpecificationResponseModel

javascript
{
  "cars": [ { ... }, { ... } ],
  "make": "Alfa Romeo",
  "model": "Giulia",
  "specification": "2.2JTD 190hp Sprint",
}
Field NameTypeDescription
carsCarModel[]The list of cars that match the search
makestringThe make used in the search
modelstringThe make model in the search
specificationstringThe make specification in the search

CompanyModel

javascript
{
  "companyRegistrationNumber": "(string)",
  "legalName": "(string)",
  "numberOfDirectors": 0,
}
Field NameTypeDescription
companyRegistrationNumberstringRequired if the BorrowerType is LimitedCompany. The company registration number. Must be a valid registration number
legalNamestringRequired if the BorrowerType is Partnership. The Legal Name for Partnership
numberOfDirectorsinteger(int32)Required if the BorrowerType is SoleTrader. The number of directors in the Business. Must be a non-negative integer

ContactDetailsModel

javascript
{
  "addressHistory": [ { ... }, { ... } ],
  "emailAddress": "a@co.com",
  "mainPhoneNumber": "0838333333",
  "otherPhoneNumber": "0838333333",
}
Field NameTypeDescription
addressHistory (required)AddressHistoryModel[]Applicant's address history. Must be at least 3 years of address history
emailAddress (required)stringApplicant's email address. Must be a valid email address
mainPhoneNumber (required)stringApplicant's main phone number. Must be a valid Ireland mobile phone number
otherPhoneNumberstringApplicant's other phone number. Must be a valid Ireland phone number

EmploymentModel

javascript
{
  "employerAddress": { ... },
  "employmentPhoneNumber": "0838333333",
  "employmentType": "FullTime",
  "industryCategory": "Computer Software/Engineering",
  "occupationTitle": "Software Engineer",
  "timeInThisEmployment": "LessThan6Months",
  "employerName": "John Doe",
  "employmentStatus": "Permanent",
  "workPermitExpiryDate": "(string)",
  "workPermitNumber": "1",
}
Field NameTypeDescription
employerAddress (required)AddressModelApplicant's employment address
employmentPhoneNumber (required)stringApplicant's employment phone numberPhone. Must be an Irish number
employmentType (required)enum(EmploymentType)One of ["FullTime", "PartTime", "SelfEmployed"]. Applicant's employment type. Full time = 1, Part time = 2, Self Employed = 3
industryCategory (required)stringApplicant's employment industry category
occupationTitle (required)stringApplicant's employment occupation title. Must be at least two characters
timeInThisEmployment (required)enum(Duration)One of ["LessThan6Months", "From6To12Months", "About1Year", "About2Years", "About3Years", "About4Years", "About5Years", "About6Years", "About7Years", "About8Years", "About9Years", "About10YearsOrMore"].Applicant's time in this employment
employerNamestringRequired if EmploymentType is FullTime or PartTime. Applicant's employer name
employmentStatusenum(EmploymentStatus)One of ["Permanent", "Temporary", "Contract"]. Required if EmploymentType is FullTime or PartTime. Applicant's employment type. Permanent = 1, Temporary = 2, Contract = 3,
workPermitExpiryDatestring(date-time)Applicant's work permit expiry date
workPermitNumberstringApplicant's work permit number

FinanceModel

javascript
{
  "assetPurchasePrice": 30000,
  "term": 60,
  "tradeInValueDeposit": 6000,
  "tradeInRegistrationNumber": "(string)",
}
Field NameTypeDescription
assetPurchasePrice (required)number(double)The Fuel of the new car. Must be a non-negative integer. Must be less or equal to €100,000. 00
term (required)integer(int32)The number of months of the loan. Must be an integer. Must be greater than or equal to 48. The maximum term depends of 1 parameter. VehicleRegDate: The vehicle registration date. If (VehicleRegDate is after 1st January 2019 months) Then ("Term" must be less than or equal to 72). Else-If (VehicleRegDate is after 1st January 2016) Then ("Term" must be less than or equal to 60 months). Else-If (VehicleRegDate is after 1st January 2015) Then ("Term" must be less than or equal to 48 months).
tradeInValueDeposit (required)number(double)The trade in car's value + the deposit value. Must be less than the AssetPurchasePrice - €5,000. 00. Must be an integer. If (the dealer has special agreement with bluestone). Then (Must be a non-negative integer). Else (Must be a greater them or equal to 15% of AssetPurchasePrice)
tradeInRegistrationNumberstringThe trade in car's registration number

IncomeExpenditureModel

javascript
{
  "mortgageRentPayment": 1000,
  "netSalaryPerMonth": 2500,
  "otherIncomePerMonth": 0,
}
Field NameTypeDescription
mortgageRentPayment (required)number(double)Applicant's mortgage or rent payment. Must be a non-negative integer. Must be whole euros
netSalaryPerMonth (required)number(double)Applicant's net salary per month. Must be a non-negative integer. Must be whole euros. Must be More or equal than 1
otherIncomePerMonthnumber(double)Applicant's other income per month. Must be a non-negative integer. Must be whole euros

NewVehicleModel

javascript
{
  "carId": "JEuGXaXXjLLTa348T95fB2MfGn1trTtPcEmnpYG4Whc=",
  "fuel": "Diesel",
  "make": "Alfa Romeo",
  "model": "Giulietta",
  "specification": "1.6 JTDM-2 120 hp Sprint",
}
Field NameTypeDescription
carIdstringRequired if UsedVehicle is null. The Id of the new car. Id's can be retrieved using "api/car/specification" endpoint
fuelstringRequired if UsedVehicle is null. The Fuel of the new car. Preferable: Petrol, Diesel, Electric or Hybrid
makestringRequired if UsedVehicle is null. The Make of the new car
modelstringRequired if UsedVehicle is null. The Model of the new car
specificationstringRequired if UsedVehicle is null. The Specification of the new car

NodeJsFieldValidation

javascript
{
  "message": "(string)",
  "model": "(string)",
  "type": "(string)",
}
Field NameTypeDescription
messagestring(no description)
modelstring(no description)
typestring(no description)

PartnershipModel

javascript
{
  "legalName": "(string)",
}
Field NameTypeDescription
legalNamestringRequired if the BorrowerType is Partnership. The Legal Name for Partnership

PersonalInfoModel

javascript
{
  "dateOfBirth": "(string)",
  "firstName": "John",
  "lastName": "Doe",
  "nationality": "Irish",
  "ppsNumber": "1234567T",
  "residentialStatus": "HomeOwner",
  "title": "Mr",
  "maidenName": "Doe",
  "maritalStatus": "Single",
  "middleName": "Joseph",
  "numberOfDependents": 1,
}
Field NameTypeDescription
dateOfBirth (required)string(date-time)Date of birth of the Applicant. All applicants must be over 21 years old and under 70 years old
firstName (required)stringFirst name of the Applicant. Must be a valid person's name
lastName (required)stringLast name of the Applicant. Must be a valid person's name
nationality (required)stringNationality of the Applicant
ppsNumber (required)stringPPS Number of the Applicant. Must be a valid PPS Number. PPSN has (usually) 9 characters, with the 8th one being the "verification digit"
residentialStatus (required)enum(ResidentialStatus)One of ["HomeOwner", "Tenant", "LivingWithParents"]. Residential status of the Applicant: Home Owner = 1, Tenant = 2, Living with parents = 3
title (required)enum(Title)One of ["Mr", "Mrs", "Ms", "Miss"]. Mr = 1, Mrs = 2, Ms = 3, Miss = 5. Title of the Applicant
maidenNamestringRequired if the Title is Mrs, Ms or Miss. Must be a valid person's name. Maiden name of the Applicant. If no name change, fill it with the same of Last Name
maritalStatusenum(MaritalStatus)One of ["Single", "Married", "Widowed", "Separated", "Divorced"].
middleNamestringMiddle name of the Applicant. Must be a valid person's name. Enter your Last Name here if your name has not changed
numberOfDependentsinteger(int32)Number of dependents status of the Applicant. Must be a non-negative integer

SoleTraderModel

javascript
{
  "tradingAs": "(string)",
}
Field NameTypeDescription
tradingAsstringRequired if the BorrowerType is Partnership or LimitedCompany. The "Trading As" name of the Business

StatusResponseModel

javascript
{
  "date": "(string)",
  "customData": { ... },
  "quoteReference": "(string)",
  "status": "Success",
}
Field NameTypeDescription
date (required)string(date-time)The date and time of the status change
customDataobjectA dictionary of custom data that can be added to the quote. This data will also sent back in the webhooks
quoteReferencestringThe quote reference
statusstringThe current status of the quote

SubmitApplicationRequestModel

javascript
{
  "quote": { ... },
  "customData": { ... },
  "ownerUserEmail": "test-dealer-ie@bluestonemf.ie",
}
Field NameTypeDescription
quote (required)ApplicationModelThe data of the quote
customDataobjectA dictionary of custom data that can be added to the quote. This data will also be sent back in the webhooks
ownerUserEmailstringRequired if the API is not a dealer. Should be the valid email address. The email of the user that will be the owner of the quote. This user needs to allow you to submit quotes in his behalf

SubmitApplicationResponseModel

javascript
{
  "status": "ServerError",
  "errorMessage": "(string)",
  "errors": [ { ... }, { ... } ],
  "quoteReference": "(string)",
  "wasSubmitted": true,
}
Field NameTypeDescription
status (required)enum(ApiResponseStatusType)One of ["ServerError", "Success", "NotFound", "Invalid", "Denied", "Forbidden"].
errorMessagestring(no description)
errorsNodeJsFieldValidation[]This is the list of invalid fields and its reasons
quoteReferencestringThe Quote Reference used to find the quote in Bluelink and retry the submission
wasSubmittedboolean(no description)

UsedVehicleModel

javascript
{
  "currentKilometers": 112575,
  "registrationNumber": "162C4558",
}
Field NameTypeDescription
currentKilometersinteger(int32)Required if NewVehicle is null. Vehicle's Current Kilometre. Must be a non-negative integer. Must be less than or equal to 200000
registrationNumberstringRequired if NewVehicle is null. Must be valid registration number. Fields for used vehicles

Close Connect Documentation