Overview
The Engine by MoneyLion API is RESTful, encodes data as JSON and authenticates all requests. You can use it to do the following:
- Build a user experience for financial service search, comparison and recommendation that is both performant and compliant.
- Integrate with and programmatically manage your Engine by MoneyLion account.
- Stream analytics data into your system in near real-time.
Authentication
Authorization Header Example
Authorization: Bearer 0ee2eb9d-b0a3-4ac0-ba67-2b6b5d9499cd_6d9aa523-48f7-4a58-85ad-d3ed13c6c6ba
All requests to the Engine by MoneyLion API must be authenticated using a bearer token. There are two types of bearer tokens:
- Publishable tokens can be published in application code and downloaded to a user's device. As a result, they only have restricted access to the API.
- Confidential tokens must be managed like a password or any other confidential secret. As a result, they have access to sensitive API endpoints.
-
Experimental tokens are used to access endpoints that are not yet available for all partners.
They may be treated the same as a
publishableBearerToken
.
A valid bearer token is formatted as two UUIDs concatenated with an underscore. A token must be specified
in the Authentication
header of each request. The header value must start with the string "Bearer",
followed by a single space, followed by the bearer token with no trailing whitespace.
Response Types
The Engine by MoneyLion API responds with meaningful HTTP response codes that follow REST conventions.
Response codes in the 2xx
range indicate that the request succeeded
while codes in the 4xx
range indicate that the request failed.
4xx
failures can be resolved by the client by altering request data.
However, if a request failure is due to an Engine by MoneyLion server error, a code in the
5xx
range will be returned. This response type is rare, and as such
is not further documented.
Success
There are two potential 2xx
response codes:
- 200 OK - A succesful read request to a
GET
endpoint. - 201 Created - A successful request to create a new resource via a
POST
endpoint.
The response body will contain either the requested data, or the newly created resource.
Failure
There are four potential 4xx
response codes:
- 400 Bad Request - A malformed request that could not be parsed prior to processing.
- 401 Unauthorized - A request that either could not be authenticated due
to a missing or malformed
Authorization
header or unknown bearer token or could not be authorized due to insufficient permissions. - 404 Not Found - A request that either references an unknown path, or specifies an unknown UUID as a path parameter.
- 422 Unprocessable Entity - A request that fails validation or is otherwise in violation of documented business logic.
Regardless of response code, the body will match the
ApiError
schema.
Financial Products
The lead schema is not specific to any particular financial product. As a result, no fields are required, and the desired financial product types are indicated via the productTypes
array.
Potential values for productTypes
include:
There are requirements associated with each of these values, and in the case of loans, those requirements may be specific to the desired loan sub-type. All are detailed below.
Loans
Personal Loan Request
POST /leads/rateTables
{
"productTypes": [
"loan"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyStatus": "own_with_mortgage"
},
"creditInformation": {
"providedCreditRating": "excellent"
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 75000
},
"educationInformation": {
"educationLevel": "masters"
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"tcpaLanguage": "I agree to be contacted by Engine by MoneyLion and its partners at the telephone number(s) I have provided above to explore personal loan offers, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. I understand my consent is not required as a condition to purchasing any goods or services from anyone.",
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services"
},
"clientTags": {
"subId": [
"aaa053cb"
]
}
}
Personal Loan Response
200 OK
{
"uuid": "2c6cb6e4-0aa2-4ab5-9109-8679de537e10",
"leadUuid": "f823a7c0-586a-4fc3-9cfa-c38694b80b2c",
"loanOffers": [
{
"uuid": "fef16e91-960f-4ac7-a8ec-98d7a6b32c7e",
"originator": {
"key": "lending-club",
"name": "LendingClub",
"description": "Low fixed rate personal loans from $1,000 to $40,000",
"images": [
{
"sizeKey": "150",
"url": "aff-tag.evenfinancial.com/images/lendingclub/lendingclub_120.png"
}
],
"disclaimer": "Suspendisse rhoncus magna erat, nec rhoncus leo elementum eget."
},
"originatorId": null,
"termLength": 36,
"termUnit": "month",
"maxAmount": 12000,
"minAmount": 800,
"maxApr": 35.99,
"minApr": 25.01,
"meanApr": 30.5,
"feeRate": null,
"maxFeeRate": null,
"minFeeRate": null,
"feeFixed": null,
"maxFeeFixed": null,
"minFeeFixed": null,
"allowPrepayment": true,
"prepaymentFee": 0,
"monthlyPayment": 119.3,
"maxMonthlyPayment": 137.4,
"minMonthlyPayment": 119.3,
"meanMonthlyPayment": 128.18,
"maxTotalPayment": 4947,
"minTotalPayment": 4295,
"meanTotalPayment": 4615,
"terms": null,
"url": "https://offers.evenfinancial.com/ref/fef16e91-960f-4ac7-a8ec-98d7a6b32c7e",
"preQualified": false,
"preApproved": true,
"sponsored": false,
"aprType": "fixed",
"recommendationScore": 95,
"amountPrefix": null
},
...
],
"specialOffers": [],
"savingsOffers": [],
"creditCardOffers": [],
"mortgageOffers": [],
"pendingResponses": [
{
"partner": {
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Avant",
"description": "Personal loans from $1,000 to $35,000",
"disclaimer": "Suspendisse rhoncus magna erat, nec rhoncus leo elementum eget.",
"imageUrl": "https://images.evenfinancial.com/old/images/avant/avant_120.png"
},
"productTypes": [
"loan"
]
}
],
"pendingOriginators": [
{
"key": "avant",
"name": "Avant",
"description": "Personal loans from $1,000 to $35,000",
"images": [
{
"sizeKey": "120",
"url": "aff-tag.evenfinancial.com/images/avant/avant_120.png"
}
],
"disclaimer": "Suspendisse rhoncus magna erat, nec rhoncus leo elementum eget."
}
]
}
The loan product type includes the following:
- Personal Loans
- Student Loan Refinancing
- Co-Applicant Loans
- Secured Loans
- Line of Credit
To search for any loan product, you must set productTypes
to ["loan"]
on the lead.
Personal Loans
Unsecured personal loans require no collateral and can be used for a large variety of purposes, but may have higher interest rates than other types of loans.
In order to get pre-approved and pre-qualified personal loan offers, you should specify the following fields on the lead:
personalInformation.firstName
personalInformation.lastName
personalInformation.address1
personalInformation.address2
(when applicable)personalInformation.city
personalInformation.state
personalInformation.zipcode
personalInformation.email
personalInformation.primaryPhone
personalInformation.dateOfBirth
personalInformation.ssn
loanInformation.purpose
loanInformation.loanAmount
mortgageInformation.propertyStatus
creditInformation.providedCreditRating
orcreditInformation.providedNumericCreditScore
financialInformation.employmentStatus
financialInformation.employmentPayFrequency
financialInformation.annualIncome
educationInformation.educationLevel
legalInformation.consentsToTcpa
legalInformation.consentsToFcra
legalInformation.tcpaLanguage
legalInformation.fcraLanguage
Auto Loan Refinancing
Searching for automobile refinancing loans is just like searching for personal loans, but with some additional requirements:
loanInformation.purpose
must be"auto_refinance"
.financialInformation.monthlyHousingPayment
must be specified.vehicleInformation.monthlyPayment
must be specified.vehicleInformation.estimatedMileage
must be specified.vehicleInformation.vehicleIdentificationNumber
orvehicleInformation.vehicleUuid
must be specified.- if
vehicleInformation.vehicleUuid
is specified it must come from a valid year/make/model/trim combination from theGET /leads/vehicles/trims
utility endpoint.
Student Loan Refinancing
Refinancing your existing student loans enables you to consolidate your debt, possibly at a lower rate, but only student loans are eligible.
Searching for student loan refinancing loans is just like searching for personal loans, but with some additional requirements:
productSubTypes
must be["student_loan_refinance"]
loanInformation.purpose
must be"student_loan_refi"
educationInformation.graduationDate
must be specified.financialInformation.monthlyHousingPayment
must be specified.financialInformation.availableAssets
must be specified.personalInformation.citizenshipStatus
must be specified.educationInformation.universityAttended
must be specified. This is a free form text field for the university name, which should be taken from theGET /leads/universities
utility endpoint.- if
educationInformation.educationLevel
is"doctorate"
, theneducationInformation.graduateDegreeType
must be specified.
Co-Applicant Loans
A co-applicant loan requires a consignor and leverages their credit to help you possibly get a better rate. You are both responsible for paying back the loan.
The consignor information is specified on the coApplicantInformation
sub-object and must be specifed in addition to the fields required
for personal loans to potentially get co-applicant loans offers
coApplicantInformation.firstName
coApplicantInformation.lastName
coApplicantInformation.address1
coApplicantInformation.address2
(when applicable)coApplicantInformation.city
coApplicantInformation.state
coApplicantInformation.zipcode
coApplicantInformation.dateOfBirth
coApplicantInformation.annualIncome
Secured Loans
Secured Loans require collateral, such as an investment account, car, or other asset in order to guarantee the loan. Their interest rates may be lower than unsecured loans depending on several factors.
Secured loan offers will be automatically returned alongside unsecured personal loan offers if the lead meets criteria.
Line of Credit
A line of credit is a financial product that you can borrow from at any time based on a preset limit. As you pay it off over time, that credit will once again become available for you to borrow from. You will pay interest only on the amount you borrow.
Line of credit offers will be automatically returned alongside personal loan offers if the lead meets criteria.
Savings
Savings Request
POST /leads/rateTables
{
"productTypes": [
"savings"
],
"personalInformation": {
"zipcode": "10010",
},
"creditInformation": {
"providedCreditRating": "excellent"
},
"savingsInformation": {
"minDepositAmount": 1000
},
"clientTags": {
"subId": [
"3fdb9596"
]
}
}
Savings Response
200 OK
{
"uuid": "2c6cb6e4-0aa2-4ab5-9109-8679de537e10",
"leadUuid": "f823a7c0-586a-4fc3-9cfa-c38694b80b2c",
"loanOffers": [],
"specialOffers": [],
"savingsOffers": [
{
"uuid": "98d684e4-ae64-4bd5-8614-9119bab84e45",
"partner":
{
"uuid": "75b63898-4c51-4ade-b165-6f8218b06ac8",
"name": "Sample Bank Brand Name",
"description": "Sample Savings",
"disclaimer": "None",
"supportsPersonalizedOffers": false,
"supportsPreSelect": false,
"shouldDisplayPreSelect": false,
"imageUrl": "https://www.sampleurl.com/content/125x70/img.png"
},
"marketplace":
{
"uuid": "8f0a4d03-c920-4c5e-966d-c8dc8cd4335f",
"name": "LT",
"description": "Description",
"disclaimer": "Disclaimer",
"supportsPersonalizedOffers": false,
"supportsPreSelect": false,
"shouldDisplayPreSelect": false,
"imageUrl": "https://s3.amazonaws.com/test.png"
},
"productType": "savings",
"productSubType": "savings_account",
"url": "https://offers.evenfinancial.com/ref/021d6704-dbd1-48f6-8677-9cdea4eea990",
"details":
{
"name": "360 Performance Savings",
"description": "\n- Access your money easily with Bill Pay
\n- Easy Opening
\n- No Monthly Service Fees
\n
",
"annualPercentYield": 2.1,
"compoundingMethod": "monthly",
"minimumDeposit": 0,
"monthlyFee": 0,
"checkWriting": false,
"federalInsuranceType": "fdic",
"effectiveAsOf": "2022-08-30T14:34:29.477165Z"
},
"expiresAt": "2022-08-30T16:34:29.477165Z"
}
],
"creditCardOffers": [],
"mortgageOffers": [],
"pendingResponses": [
{
"partner": {
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Partner Bank 2",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"disclaimer": "Cras vestibulum diam sed tempor sagittis.",
"imageUrl": "https://images.evenfinancial.com/partnerBank2/partnerBank2Logo.png"
},
"productTypes": [
"savings"
]
}
],
"pendingOriginators": []
}
To search for savings accounts, you should set productTypes
to
["savings"]
on the lead. To get the best matching offers, you should
also specify the following fields:
personalInformation.zipcode
savingsInformation.minDepositAmount
Credit Cards
Credit Card Request
POST /leads/rateTables
{
"productTypes": [
"credit_card"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10011",
"dateOfBirth": "1993-10-09"
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"creditInformation": {
"providedCreditRating": "excellent",
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"tcpaLanguage": "I agree to be contacted by Engine by MoneyLion and its partners at the telephone number(s) I have provided above to explore personal loan offers, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. I understand my consent is not required as a condition to purchasing any goods or services from anyone.",
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services"
},
"clientTags": {
"subId": [
"2ee169ef"
]
}
}
Credit Card Response
200 OK
{
"uuid": "2c6cb6e4-0aa2-4ab5-9109-8679de537e10",
"leadUuid": "f823a7c0-586a-4fc3-9cfa-c38694b80b2c",
"loanOffers": [],
"specialOffers": [],
"savingsOffers": [],
"creditCardOffers": [
{
"uuid": "6e6a6043-afaf-4c61-971b-a035282548f0",
"partner": {
"uuid": "f7df60e5-13c0-4241-aba0-61a8877e142f",
"name": "Partner Bank",
"description": "Partner Bank Description",
"disclaimer": "Partner Bank Disclaimer",
"supportsPersonalizedOffers": false,
"supportsPreSelect": false,
"imageUrl": "https://dev-admin.evenfinancial.com/partner_image.gif"
},
"marketplace": {
"uuid": "7a95da6d-2a03-4f58-beb0-d31eaddcfb15",
"name": "Marketplace",
"description": "Source of offers",
"disclaimer": "Source disclaimer",
"imageUrl": "https://dev-admin.evenfinancial.com/marketplace_image.gif"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "https://dev-offers.evenfinancial.com/ref/6bb3ed5c-f1d1-4c69-af1c-d02a4e028b3c",
"details": {
"cardName": "Credit Card",
"cardImageUrl": "https://example.com/image",
"cardPurposes": [
"travel_incentives"
],
"ratesUrl": "https://example.com/",
"maxPurchaseApr": 15,
"minPurchaseApr": 15,
"maxPurchaseIntroApr": 0,
"minPurchaseIntroApr": 0,
"purchaseIntroAprTerm": 12,
"purchaseIntroAprTermUnit": "month",
"maxCashAdvanceApr": 15,
"minCashAdvanceApr": 15,
"maxCashAdvanceIntroApr": 0,
"minCashAdvanceIntroApr": 0,
"cashAdvanceIntroAprTerm": 12,
"cashAdvanceIntroAprTermUnit": "month",
"maxBalanceTransferApr": 15,
"minBalanceTransferApr": 15,
"maxBalanceTransferIntroApr": 0,
"minBalanceTransferIntroApr": 0,
"balanceTransferIntroAprTerm": 12,
"balanceTransferIntroAprTermUnit": "month",
"annualFee": 100,
"annualIntroFee": 0,
"annualIntroFeeTerm": 1,
"details": [
"Credit card detail"
],
"additionalDetails": [
"One click away credit card detail"
],
"cardType": "visa",
"minimumCreditLine": 5000,
"minimumPenaltyApr": 10,
"maximumPenaltyApr": 10,
"balanceTransferFee": 25,
"cashAdvanceFee": 5,
"lateFee": 25,
"foreignExchangeFee": 10,
"accountOpeningFee": 0,
"returnPaymentFee": 0,
"monthlyServiceFee": 0,
"recommendedCreditRatings": [
"good"
],
"preQualified": false,
"preApproved": false,
"preSelected": false,
"aprType": "variable"
}
}
],
"mortgageOffers": [],
"pendingResponses": [
{
"partner": {
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Partner Bank 2",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"disclaimer": "Cras vestibulum diam sed tempor sagittis.",
"imageUrl": "https://images.evenfinancial.com/partnerBank2/partnerBank2Logo.png"
},
"productTypes": [
"credit_card"
]
}
],
"pendingOriginators": []
}
To search for credit cards, you should set productTypes
to
["credit_card"]
on the lead. To get the best matching offers, you should
also specify the following fields:
personalInformation.firstName
personalInformation.lastName
personalInformation.address1
personalInformation.address2
(when applicable)personalInformation.city
personalInformation.state
personalInformation.zipcode
personalInformation.email
personalInformation.dateOfBirth
creditInformation.providedCreditRating
orcreditInformation.providedNumericCreditScore
creditCardInformation.cardPurposes
creditCardInformation.allowAnnualFee
legalInformation.consentsToFcra
legalInformation.consentsToTcpa
legalInformation.tcpaLanguage
legalInformation.fcraLanguage
Endpoints
Lead
A lead combines information about a user with search criteria for financial products, and is submitted in exchange for a rate table.
A rate table is a list of financial offers that match a submitted lead.
Lead Details
No fields are required on a lead, but depending on the type of product requested, a minimum subset is required in order to potentially receive personalized offers. For details, see the Financial Products overview.
A lead may request multiple product types, in which case the returned rate table will include a list for each product type with matching offers.
Asynchronous Rate Tables
Often a rate table will be built asynchronously. This means that although the rate table gets returned, the API may still be waiting for responses from one or more financial institutions. In these cases, you should poll the rate table until all responses are resolved before displaying the offers to the end user.
So, if you submit a lead via the "Submit lead" endpoint and the returned rate table has a non-empty pendingResponses
array, you should reload the rate table via the "Get rate table" endpoint, and continue to do so until pendingResponses
is empty.
Blocking Endpoint
You also have the option to submit a lead and receive a rate table synchronously via a blocking endpoint at https://integrations.evenfinancial.com/blocking/leads/rateTables
.
The interface is identical to the "Submit lead" endpoint, but will only respond when all financial institution responses have been resolved. As a result, the pendingResponses
field will always be empty and there will be no need to poll for more results. However, the response latency will likely be much higher than the asynchronous endpoint.
Submit lead
Code sample
curl -X POST 'https://api.engine.tech/leads/rateTables' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d @- << EOF
{
"productTypes": [
"loan"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "175 5th Ave",
"zipcode": "10010",
"monthsAtAddress": 72,
"activeMilitary": false,
"militaryVeteran": false,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"personalReferenceInformation": {},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyStatus": "own_with_mortgage"
},
"creditCardInformation": {},
"savingsInformation": {},
"creditInformation": {
"providedCreditRating": "good"
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "biweekly",
"annualIncome": 80000
},
"employmentInformation": {},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"consentsToSms": false,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"educationInformation": {
"educationLevel": "bachelors"
},
"coApplicantInformation": {},
"healthInformation": {},
"lifeInsuranceInformation": {},
"refinanceLoans": [],
"identificationInformation": {},
"clientTags": {
"transid": [
"fk912234"
],
"subid": [
"ag67125"
]
},
"isTest": false,
"sessionUuid": "c363ec58-c5f0-54ff-b8f7-0f5f630213d9"
}
EOF
fetch('https://api.engine.tech/leads/rateTables', {
method: 'POST',
headers: {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
},
body: `{
"productTypes": [
"loan"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "175 5th Ave",
"zipcode": "10010",
"monthsAtAddress": 72,
"activeMilitary": false,
"militaryVeteran": false,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"personalReferenceInformation": {},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyStatus": "own_with_mortgage"
},
"creditCardInformation": {},
"savingsInformation": {},
"creditInformation": {
"providedCreditRating": "good"
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "biweekly",
"annualIncome": 80000
},
"employmentInformation": {},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"consentsToSms": false,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"educationInformation": {
"educationLevel": "bachelors"
},
"coApplicantInformation": {},
"healthInformation": {},
"lifeInsuranceInformation": {},
"refinanceLoans": [],
"identificationInformation": {},
"clientTags": {
"transid": [
"fk912234"
],
"subid": [
"ag67125"
]
},
"isTest": false,
"sessionUuid": "c363ec58-c5f0-54ff-b8f7-0f5f630213d9"
}`
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.post(
'https://api.engine.tech/leads/rateTables',
headers={
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
},
json=json.loads("""{
"productTypes": [
"loan"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "175 5th Ave",
"zipcode": "10010",
"monthsAtAddress": 72,
"activeMilitary": false,
"militaryVeteran": false,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"personalReferenceInformation": {},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyStatus": "own_with_mortgage"
},
"creditCardInformation": {},
"savingsInformation": {},
"creditInformation": {
"providedCreditRating": "good"
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "biweekly",
"annualIncome": 80000
},
"employmentInformation": {},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"consentsToSms": false,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"educationInformation": {
"educationLevel": "bachelors"
},
"coApplicantInformation": {},
"healthInformation": {},
"lifeInsuranceInformation": {},
"refinanceLoans": [],
"identificationInformation": {},
"clientTags": {
"transid": [
"fk912234"
],
"subid": [
"ag67125"
]
},
"isTest": false,
"sessionUuid": "c363ec58-c5f0-54ff-b8f7-0f5f630213d9"
}""")
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.post(
'https://api.engine.tech/leads/rateTables',
%q|{
"productTypes": [
"loan"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "175 5th Ave",
"zipcode": "10010",
"monthsAtAddress": 72,
"activeMilitary": false,
"militaryVeteran": false,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"personalReferenceInformation": {},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyStatus": "own_with_mortgage"
},
"creditCardInformation": {},
"savingsInformation": {},
"creditInformation": {
"providedCreditRating": "good"
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "biweekly",
"annualIncome": 80000
},
"employmentInformation": {},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"consentsToSms": false,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"educationInformation": {
"educationLevel": "bachelors"
},
"coApplicantInformation": {},
"healthInformation": {},
"lifeInsuranceInformation": {},
"refinanceLoans": [],
"identificationInformation": {},
"clientTags": {
"transid": [
"fk912234"
],
"subid": [
"ag67125"
]
},
"isTest": false,
"sessionUuid": "c363ec58-c5f0-54ff-b8f7-0f5f630213d9"
}|,
{
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
POST /leads/rateTables
Submit a lead and get a rate table. If the rate table has a non-empty pendingResponses
array, reload it via the "Get rate table" endpoint. For more details see the Lead overview.
Request Body
undefined
Example responses
Success
{
"uuid": "b9b212a8-b284-5986-813e-a8d8e87c1863",
"leadUuid": "144bd0ea-b9c6-52d5-a7ef-dccb223d060d",
"loanAmount": 10000,
"loanOffers": [
{
"uuid": "e1c401fd-198c-53df-b5e7-f84f5dbd8c1a",
"minAmount": null,
"maxFeeRate": null,
"maxFeeFixed": 526,
"prepaymentFee": null,
"payout": 10,
"minMonthlyPayment": null,
"originator": {
"key": "alpha",
"name": "Alpha, Inc.",
"description": "Consequatur est dolorum fugit. Dicta dolorem autem perspiciatis et.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png"
}
],
"disclaimer": "Et deserunt ut temporibus quia. Sed suscipit ad nostrum dolorem qui a.",
"companyUuid": "1088017a-2ed9-5328-b03d-8351a6e58f7e",
"financialInstitutionUuid": "32bd2f7c-79fd-5c54-bcb5-3a46454a465c"
},
"minApr": null,
"feeRate": null,
"productSubType": "personal_loan",
"aprDescription": "Fixed APR",
"minFeeRate": null,
"maxApr": 29.99,
"conversionProbability": 0.13022707252777743,
"monthlyPayment": 296.06,
"terms": null,
"recommendationScore": 1330,
"productSubTypeDisclaimer": null,
"monthlyPaymentDescription": "Est. Monthly Payment",
"maxMonthlyPayment": 296.06,
"originatorId": "59e39e01-afae-5a54-8690-24eb4f6dd025",
"maxAmount": 7500,
"allowPrepayment": false,
"termUnit": "month",
"productType": "loan",
"coApplicant": false,
"preQualified": true,
"displayTermUnit": null,
"sponsored": false,
"url": "https://offers.evenfinancial.com/ref/978bbfa4-a076-5538-b199-933b16374114",
"meanApr": 29.99,
"minFeeFixed": null,
"aprType": "fixed",
"termLength": 36,
"meanTotalPayment": 10658.16,
"preApproved": true,
"termDescription": "Term of Loan",
"minTotalPayment": null,
"maxTotalPayment": 10658.16,
"feeFixed": 525,
"secured": false,
"meanMonthlyPayment": 296.06
}
],
"mortgageOffers": [],
"savingsOffers": [],
"specialOffers": [],
"creditCardOffers": [],
"pendingResponses": [
{
"partner": {
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Beta Inc.",
"description": "Voluptas quas aspernatur aut nihil rerum. Voluptatibus laboriosam amet porro veniam ut.",
"disclaimer": "Est delectus et rem consequatur magni. Molestiae asperiores sit debitis et id corporis.",
"imageUrl": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
},
"productTypes": [
"loan"
]
}
],
"pendingOriginators": [
{
"key": "beta",
"name": "Beta Inc.",
"description": "Voluptas quas aspernatur aut nihil rerum. Voluptatibus laboriosam amet porro veniam ut.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
}
],
"disclaimer": "Est delectus et rem consequatur magni. Molestiae asperiores sit debitis et id corporis.",
"companyUuid": "f9605e88-3992-59da-b1a4-77c71cf2dd12",
"financialInstitutionUuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e"
}
]
}
Invalid request
[
{
"message": "Invalid fields present: 123 is not a valid ssn"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Duplicate lead
[
{
"message": "Lead duplicates an existing lead"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
400 | Bad Request | Invalid request | undefined |
401 | Unauthorized | Unauthorized request | undefined |
409 | Conflict | Duplicate lead | undefined |
Submit a lead and get a rate table
Code sample
curl -X POST 'https://api.engine.tech/leads/{leadUuid}/rateTables' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d @- << EOF
{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}
EOF
fetch('https://api.engine.tech/leads/{leadUuid}/rateTables', {
method: 'POST',
headers: {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
},
body: `{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}`
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.post(
'https://api.engine.tech/leads/{leadUuid}/rateTables',
headers={
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
},
json=json.loads("""{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}""")
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.post(
'https://api.engine.tech/leads/{leadUuid}/rateTables',
%q|{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}|,
{
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
POST /leads/{leadUuid}/rateTables
Request Body
undefined
Example responses
The generated
RateTable
{
"uuid": "b9b212a8-b284-5986-813e-a8d8e87c1863",
"leadUuid": "144bd0ea-b9c6-52d5-a7ef-dccb223d060d",
"loanAmount": 10000,
"loanOffers": [
{
"uuid": "e1c401fd-198c-53df-b5e7-f84f5dbd8c1a",
"minAmount": null,
"maxFeeRate": null,
"maxFeeFixed": 526,
"prepaymentFee": null,
"payout": 10,
"minMonthlyPayment": null,
"originator": {
"key": "alpha",
"name": "Alpha, Inc.",
"description": "Consequatur est dolorum fugit. Dicta dolorem autem perspiciatis et.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png"
}
],
"disclaimer": "Et deserunt ut temporibus quia. Sed suscipit ad nostrum dolorem qui a.",
"companyUuid": "1088017a-2ed9-5328-b03d-8351a6e58f7e",
"financialInstitutionUuid": "32bd2f7c-79fd-5c54-bcb5-3a46454a465c"
},
"minApr": null,
"feeRate": null,
"productSubType": "personal_loan",
"aprDescription": "Fixed APR",
"minFeeRate": null,
"maxApr": 29.99,
"conversionProbability": 0.13022707252777743,
"monthlyPayment": 296.06,
"terms": null,
"recommendationScore": 1330,
"productSubTypeDisclaimer": null,
"monthlyPaymentDescription": "Est. Monthly Payment",
"maxMonthlyPayment": 296.06,
"originatorId": "59e39e01-afae-5a54-8690-24eb4f6dd025",
"maxAmount": 7500,
"allowPrepayment": false,
"termUnit": "month",
"productType": "loan",
"coApplicant": false,
"preQualified": true,
"displayTermUnit": null,
"sponsored": false,
"url": "https://offers.evenfinancial.com/ref/978bbfa4-a076-5538-b199-933b16374114",
"meanApr": 29.99,
"minFeeFixed": null,
"aprType": "fixed",
"termLength": 36,
"meanTotalPayment": 10658.16,
"preApproved": true,
"termDescription": "Term of Loan",
"minTotalPayment": null,
"maxTotalPayment": 10658.16,
"feeFixed": 525,
"secured": false,
"meanMonthlyPayment": 296.06
}
],
"mortgageOffers": [],
"savingsOffers": [],
"specialOffers": [],
"creditCardOffers": [],
"pendingResponses": [
{
"partner": {
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Beta Inc.",
"description": "Voluptas quas aspernatur aut nihil rerum. Voluptatibus laboriosam amet porro veniam ut.",
"disclaimer": "Est delectus et rem consequatur magni. Molestiae asperiores sit debitis et id corporis.",
"imageUrl": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
},
"productTypes": [
"loan"
]
}
],
"pendingOriginators": [
{
"key": "beta",
"name": "Beta Inc.",
"description": "Voluptas quas aspernatur aut nihil rerum. Voluptatibus laboriosam amet porro veniam ut.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
}
],
"disclaimer": "Est delectus et rem consequatur magni. Molestiae asperiores sit debitis et id corporis.",
"companyUuid": "f9605e88-3992-59da-b1a4-77c71cf2dd12",
"financialInstitutionUuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e"
}
]
}
400 Response
[
{
"attribute": "string",
"type": "string",
"details": {
"property1": "string",
"property2": "string"
},
"message": "string"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The generated RateTable |
undefined |
400 | Bad Request | Bad Request | undefined |
401 | Unauthorized | Unauthorized request | undefined |
Get rate table
Code sample
curl -X GET 'https://api.engine.tech/originator/rateTables/{uuid}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/originator/rateTables/{uuid}', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/originator/rateTables/{uuid}',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/originator/rateTables/{uuid}',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /originator/rateTables/{uuid}
Get the rate table for a specified UUID. If the UUID is unkown, a 404 Not Found
response will be returned.
Usually used to poll a rate table that has pending responses immediately after creation via the "Submit lead" endpoint. For more details see the Lead overview.
Example responses
Success
{
"uuid": "b9b212a8-b284-5986-813e-a8d8e87c1863",
"leadUuid": "144bd0ea-b9c6-52d5-a7ef-dccb223d060d",
"loanAmount": 10000,
"partnerPageUrl": "https://consumer.fiona.com/partner/channel/loan/application?results=b9b212a8-b284-5986-813e-a8d8e87c1863&step=results",
"embedUrl": "https://embed.evenfinancial.com/ui/multi-product/index.html?partner=channel&access_token=c76e2145-d37d-5e39-9199-2c2d8f0830ab&company_uuid=7c552546-c8d5-5740-8514-f7d77f387236&step=results&results=b9b212a8-b284-5986-813e-a8d8e87c1863&available_products=loan&productType=loan",
"loanOffers": [
{
"uuid": "e1c401fd-198c-53df-b5e7-f84f5dbd8c1a",
"minAmount": null,
"maxFeeRate": null,
"maxFeeFixed": 526,
"prepaymentFee": null,
"payout": 10,
"minMonthlyPayment": null,
"originator": {
"key": "alpha",
"name": "Alpha, Inc.",
"description": "Consequatur est dolorum fugit. Dicta dolorem autem perspiciatis et.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png"
}
],
"disclaimer": "Et deserunt ut temporibus quia. Sed suscipit ad nostrum dolorem qui a.",
"companyUuid": "1088017a-2ed9-5328-b03d-8351a6e58f7e",
"financialInstitutionUuid": "32bd2f7c-79fd-5c54-bcb5-3a46454a465c"
},
"minApr": null,
"feeRate": null,
"productSubType": "personal_loan",
"aprDescription": "Fixed APR",
"minFeeRate": null,
"maxApr": 29.99,
"conversionProbability": 0.13022707252777743,
"monthlyPayment": 296.06,
"terms": null,
"recommendationScore": 1330,
"productSubTypeDisclaimer": null,
"monthlyPaymentDescription": "Est. Monthly Payment",
"maxMonthlyPayment": 296.06,
"originatorId": "59e39e01-afae-5a54-8690-24eb4f6dd025",
"maxAmount": 7500,
"allowPrepayment": false,
"termUnit": "month",
"productType": "loan",
"coApplicant": false,
"preQualified": true,
"displayTermUnit": null,
"sponsored": false,
"url": "https://offers.evenfinancial.com/ref/978bbfa4-a076-5538-b199-933b16374114",
"meanApr": 29.99,
"minFeeFixed": null,
"aprType": "fixed",
"termLength": 36,
"meanTotalPayment": 10658.16,
"preApproved": true,
"termDescription": "Term of Loan",
"minTotalPayment": null,
"maxTotalPayment": 10658.16,
"feeFixed": 525,
"secured": false,
"meanMonthlyPayment": 296.06
},
{
"uuid": "11f3b40a-4be4-5ed4-b248-52df976d6209",
"minAmount": null,
"maxFeeRate": null,
"maxFeeFixed": 0,
"prepaymentFee": null,
"payout": 10,
"minMonthlyPayment": null,
"originator": {
"key": "beta",
"name": "Beta Inc.",
"description": "Voluptas quas aspernatur aut nihil rerum. Voluptatibus laboriosam amet porro veniam ut.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
}
],
"disclaimer": "Est delectus et rem consequatur magni. Molestiae asperiores sit debitis et id corporis.",
"companyUuid": "f9605e88-3992-59da-b1a4-77c71cf2dd12",
"financialInstitutionUuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e"
},
"minApr": null,
"feeRate": null,
"productSubType": "personal_loan",
"aprDescription": "Fixed APR",
"minFeeRate": null,
"maxApr": 64.79,
"conversionProbability": 0.07311888039112091,
"monthlyPayment": 414.59,
"terms": null,
"recommendationScore": 1000,
"productSubTypeDisclaimer": null,
"monthlyPaymentDescription": "Est. Monthly Payment",
"maxMonthlyPayment": 414.59,
"originatorId": "netcredit",
"maxAmount": 7100,
"allowPrepayment": false,
"termUnit": "month",
"productType": "loan",
"coApplicant": false,
"preQualified": true,
"displayTermUnit": null,
"sponsored": false,
"url": "https://offers.evenfinancial.com/ref/689ff123-9a90-5997-8450-c57889b44bd9",
"meanApr": 64.79,
"minFeeFixed": null,
"aprType": "fixed",
"termLength": 48,
"meanTotalPayment": 19900.32,
"preApproved": true,
"termDescription": "Term of Loan",
"minTotalPayment": null,
"maxTotalPayment": 19900.32,
"feeFixed": 0,
"secured": false,
"meanMonthlyPayment": 414.59
}
],
"mortgageOffers": [],
"savingsOffers": [],
"specialOffers": [],
"creditCardOffers": [],
"pendingResponses": [],
"pendingOriginators": []
}
Malformed request
[
{
"message": "Bad request.",
"details": "Cannot parse parameter uuid as UUID: Invalid UUID string: 123"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Unknown UUID
[
{
"type": "invalidUuidReference",
"details": {
"referenceType": "RateTable",
"specified": "59bfa987-8d63-4cbb-abe8-2afd1438ef63"
},
"message": "RateTable for UUID 59bfa987-8d63-4cbb-abe8-2afd1438ef63 does not exist"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
400 | Bad Request | Malformed request | undefined |
401 | Unauthorized | Unauthorized request | undefined |
404 | Not Found | Unknown UUID | undefined |
Get lead
Code sample
curl -X GET 'https://api.engine.tech/leads/{uuid}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/leads/{uuid}', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/leads/{uuid}',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/leads/{uuid}',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /leads/{uuid}
Get the lead for a specified UUID. If the UUID is unkown, a 404 Not Found
response will be returned.
Example responses
Success
{
"uuid": "7c48037d-3dfa-5bff-9e0e-bcd3dda80f96",
"companyUUID": "5c3b5da2-ce2e-5686-8df9-73c00c4cfd6b",
"leadProviderName": "Platinum Personal Finance",
"productTypes": [
"loan"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"primaryPhone": "2125556789",
"address1": "175 5th Ave",
"zipcode": "10010",
"monthsAtAddress": 72,
"activeMilitary": false,
"militaryVeteran": false,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"personalReferenceInformation": {},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyStatus": "own_with_mortgage"
},
"creditCardInformation": {},
"savingsInformation": {},
"creditInformation": {
"providedCreditRating": "good"
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "biweekly",
"annualIncome": 80000
},
"employmentInformation": {},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"consentsToSms": false,
"tcpaLanguage": "I agree to be contacted by Engine by MoneyLion and its partners...",
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent..."
},
"educationInformation": {
"educationLevel": "bachelors"
},
"coApplicantInformation": {},
"healthInformation": {},
"lifeInsuranceInformation": {},
"refinanceLoans": [],
"identificationInformation": {},
"vehicleInformation": {},
"clientTags": {
"transid": [
"fk912234"
],
"subid": [
"ag67125"
]
},
"sessionInformation": {
"ipAddress": "8.8.8.8"
},
"isTest": false,
"sessionUuid": "c363ec58-c5f0-54ff-b8f7-0f5f630213d9",
"status": "initialized",
"createdAt": "05/01/2021 20:00:00.000",
"updatedAt": "05/01/2021 20:00:00.000"
}
Malformed request
[
{
"message": "Bad request.",
"details": "Cannot parse parameter uuid as UUID: Invalid UUID string: 123"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Unknown UUID
[
{
"message": "Lead UUID is invalid"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
400 | Bad Request | Malformed request | undefined |
401 | Unauthorized | Unauthorized request | undefined |
404 | Not Found | Unknown UUID | undefined |
Update a lead
Code sample
curl -X PATCH 'https://api.engine.tech/leads/{uuid}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d @- << EOF
{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}
EOF
fetch('https://api.engine.tech/leads/{uuid}', {
method: 'PATCH',
headers: {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
},
body: `{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}`
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.patch(
'https://api.engine.tech/leads/{uuid}',
headers={
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
},
json=json.loads("""{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}""")
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.patch(
'https://api.engine.tech/leads/{uuid}',
%q|{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}|,
{
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
PATCH /leads/{uuid}
Update a Lead
by its UUID. Array fields (like productTypes
) with new values are merged with existing values.
Request Body
undefined
Example responses
200 Response
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}
Invalid data
[
{
"message": "Cannot parse parameter uuid as UUID: Invalid UUID string: 123"
}
]
[
{
"message": "Invalid fields present: 123 is not a valid email"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Lead updated | undefined |
400 | Bad Request | Invalid data | undefined |
401 | Unauthorized | Unauthorized request | undefined |
404 | Not Found | Lead with the given UUID does not exist |
undefined |
Approval Probability
Approval probability reports contains data about the likelihood that a user with specified attributes will be approved for particular product offers.
The user attributes are passed in the request's POST
body. Attributes are specific to the product in questions and do not include personally identifiable information.
The approval probabilty data is calculated per financial institution, as well as across the entire Engine by MoneyLion network. Within each of these groups, offer probablilities may be further broken down according to product attributes. For loans, for example, approval probabilities are associated with offer APR range and optionally product sub-type.
Get a loan approval probability report
Code sample
curl -X POST 'https://api.engine.tech/approvalProbability/loanReports' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d @- << EOF
{
"annualIncome": 75000,
"creditRating": "excellent",
"totalDebt": 10000,
"countOfDerogatories": 0,
"state": "NY",
"loanPurpose": "debt_consolidation",
"loanAmount": 10000
}
EOF
fetch('https://api.engine.tech/approvalProbability/loanReports', {
method: 'POST',
headers: {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
},
body: `{
"annualIncome": 75000,
"creditRating": "excellent",
"totalDebt": 10000,
"countOfDerogatories": 0,
"state": "NY",
"loanPurpose": "debt_consolidation",
"loanAmount": 10000
}`
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.post(
'https://api.engine.tech/approvalProbability/loanReports',
headers={
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
},
json=json.loads("""{
"annualIncome": 75000,
"creditRating": "excellent",
"totalDebt": 10000,
"countOfDerogatories": 0,
"state": "NY",
"loanPurpose": "debt_consolidation",
"loanAmount": 10000
}""")
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.post(
'https://api.engine.tech/approvalProbability/loanReports',
%q|{
"annualIncome": 75000,
"creditRating": "excellent",
"totalDebt": 10000,
"countOfDerogatories": 0,
"state": "NY",
"loanPurpose": "debt_consolidation",
"loanAmount": 10000
}|,
{
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
POST /approvalProbability/loanReports
Get a report on approval probabilities for loan offers for a specified cohort of users.
Request Body
undefined
Example responses
Success
{
"annualIncome": 75000,
"creditRating": "excellent",
"totalDebt": 10000,
"countOfDerogatories": 0,
"state": "NY",
"loanPurpose": "debt_consolidation",
"loanAmount": 10000,
"networkProbabilities": [
{
"probability": 79.67534,
"aprLow": 12.76,
"aprHigh": 19.85
}
],
"financialInsitutions": [
{
"uuid": "005b235e-9388-5e96-9d43-d1b6fd587652",
"name": "Alpha, Inc.",
"logoUrl": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png",
"probabilities": [
{
"probability": 49.945,
"aprLow": 15.25,
"aprHigh": 19.85
}
]
},
{
"uuid": "c5e7db20-81a4-4fe4-9100-fb8b3ae84f02",
"name": "Beta Inc.",
"logoUrl": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png",
"probabilities": [
{
"probability": 84.5421,
"aprLow": 12.76,
"aprHigh": 18.85
}
]
}
]
}
Malformed request
[
{
"message": "Bad request.",
"details": "Cannot parse parameter uuid as UUID: Invalid UUID string: 123"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
422 Response
[
{
"attribute": "string",
"type": "string",
"details": {
"property1": "string",
"property2": "string"
},
"message": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Success | undefined |
400 | Bad Request | Malformed request | undefined |
401 | Unauthorized | Unauthorized request | undefined |
422 | Unprocessable Entity | Invalid request | undefined |
Get approval probability loan report
Code sample
curl -X GET 'https://api.engine.tech/approvalProbability/loanReports/{uuid}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/approvalProbability/loanReports/{uuid}', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/approvalProbability/loanReports/{uuid}',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/approvalProbability/loanReports/{uuid}',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /approvalProbability/loanReports/{uuid}
Get the approval probability report for a specified UUID. If the UUID is unkown, a 404 Not Found
response will be returned.
Example responses
Success
{
"annualIncome": 75000,
"creditRating": "excellent",
"totalDebt": 10000,
"countOfDerogatories": 0,
"state": "NY",
"loanPurpose": "debt_consolidation",
"loanAmount": 10000,
"networkProbabilities": [
{
"probability": 79.67534,
"aprLow": 12.76,
"aprHigh": 19.85
}
],
"financialInsitutions": [
{
"uuid": "005b235e-9388-5e96-9d43-d1b6fd587652",
"name": "Alpha, Inc.",
"logoUrl": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png",
"probabilities": [
{
"probability": 49.945,
"aprLow": 15.25,
"aprHigh": 19.85
}
]
},
{
"uuid": "c5e7db20-81a4-4fe4-9100-fb8b3ae84f02",
"name": "Beta Inc.",
"logoUrl": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png",
"probabilities": [
{
"probability": 84.5421,
"aprLow": 12.76,
"aprHigh": 18.85
}
]
}
]
}
Malformed request
[
{
"message": "Bad request.",
"details": "Cannot parse parameter uuid as UUID: Invalid UUID string: 123"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
404 Response
[
{
"attribute": "string",
"type": "string",
"details": {
"property1": "string",
"property2": "string"
},
"message": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
400 | Bad Request | Malformed request | undefined |
401 | Unauthorized | Unauthorized request | undefined |
404 | Not Found | Unknown UUID | undefined |
Offer Preview
Preview offers are matched based upon a simple set of anonymous criteria and as a result are not personalized. This is useful if you'd like to display offers without requesting personalized data. For example, you can improve a search experience by presenting example offers to the user prior to asking more detailed questions.
Offers returned by these endpoints are identical to those that would be included in a rate table. But keep in mind that they are not personalized, and it's a better user experience to ultimtely present personalized offers to a user.
Get preview loan offers
Code sample
curl -X GET 'https://api.engine.tech/offerPreview/loanOffers' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/offerPreview/loanOffers', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/offerPreview/loanOffers',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/offerPreview/loanOffers',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /offerPreview/loanOffers
Get a list of non-personalized loan offers that match the specified critieria.
Parameters
Name | Type | Required | Description |
---|---|---|---|
loanAmount | integer [int32] | false | none |
providedCreditRating | ProvidedCreditRating | false | none |
loanPurpose | LoanPurpose | false | none |
zipCode | string | false | none |
Example responses
Success
[
{
"uuid": "43292949-76eb-413e-9b0e-a332ae6e8ee3",
"productType": "loan",
"productSubType": "personal_loan",
"originator": {
"key": "alpha",
"name": "Alpha, Inc.",
"description": "Consequatur est dolorum fugit. Dicta dolorem autem perspiciatis et.",
"images": [
{
"sizeKey": "120x40",
"url": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png"
}
],
"disclaimer": "Et deserunt ut temporibus quia. Sed suscipit ad nostrum dolorem qui a.",
"companyUuid": "1088017a-2ed9-5328-b03d-8351a6e58f7e",
"financialInstitutionUuid": "32bd2f7c-79fd-5c54-bcb5-3a46454a465c"
},
"originatorId": null,
"termLength": 36,
"termUnit": "month",
"maxAmount": 40000,
"minAmount": 2000,
"maxApr": 17.99,
"minApr": 17.99,
"meanApr": 17.99,
"feeRate": null,
"maxFeeRate": null,
"minFeeRate": null,
"feeFixed": null,
"maxFeeFixed": null,
"minFeeFixed": null,
"allowPrepayment": true,
"prepaymentFee": 0,
"monthlyPayment": 361.48,
"maxMonthlyPayment": 361.48,
"minMonthlyPayment": 361.48,
"meanMonthlyPayment": 361.48,
"maxTotalPayment": 13014,
"minTotalPayment": 13014,
"meanTotalPayment": 13014,
"terms": null,
"url": "https://offers.evenfinancial.com/partner/ref/ba4b1f43-fe02-5b52-93f5-6644e5c721c0/43292949-76eb-413e-9b0e-a332ae6e8ee3",
"preQualified": false,
"preApproved": false,
"secured": false,
"sponsored": false,
"recommendationScore": 5,
"payout": null,
"aprType": "fixed",
"coApplicant": false,
"aprDescription": null,
"displayTermUnit": null,
"productSubTypeDisclaimer": null,
"monthlyPaymentDescription": null,
"termDescription": null
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
Get preview credit card offers
Code sample
curl -X GET 'https://api.engine.tech/offerPreview/creditCardOffers' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/offerPreview/creditCardOffers', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/offerPreview/creditCardOffers',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/offerPreview/creditCardOffers',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /offerPreview/creditCardOffers
Get a list of non-personalized credit card offers that match the specified critieria.
Parameters
Name | Type | Required | Description |
---|---|---|---|
providedCreditRating | ProvidedCreditRating | false | none |
zipCode | string | false | none |
cardPurposes | CardPurpose | false | none |
Example responses
Success
[
{
"uuid": "4ac18f1c-2e85-5e74-8df7-54ca2f47ca27",
"productType": "credit_card",
"productSubType": "credit_card",
"partner": {
"uuid": "005b235e-9388-5e96-9d43-d1b6fd587652",
"name": "Alpha, Inc.",
"description": "Consequatur est dolorum fugit. Dicta dolorem autem perspiciatis et.",
"disclaimer": "Et deserunt ut temporibus quia. Sed suscipit ad nostrum dolorem qui a.",
"supportsPersonalizedOffers": false,
"supportsPreSelect": true,
"shouldDisplayPreSelect": false,
"imageUrl": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png",
"subtextOverride": "Alpha"
},
"url": "https://offers.evenfinancial.com/partner/ref/00adef6c-9fea-5910-99de-5cfb52979243/4ac18f1c-2e85-5e74-8df7-54ca2f47ca27",
"recommendationScore": 0.7,
"details": {
"cardName": "Alpha Credit Card",
"cardImageUrl": "https://assets.evenfinancial.com/requested/889123/Alpha%20Credit%20Card%20Art.png",
"cardPurposes": [
"improve_credit",
"new_to_credit"
],
"ratesUrl": "https://www.example.com/cardmember_agreement",
"maxPurchaseApr": 25.99,
"minPurchaseApr": 25.99,
"maxAnnualFee": 39,
"minAnnualFee": 39,
"details": [
"No deposit required",
"No penalty APR"
],
"additionalDetails": [
"Officiis voluptas illum labore veritatis inventore veniam. Ratione ut quis voluptas.",
"Praesentium et nemo nihil blanditiis magni a autem."
],
"cardType": "visa",
"recommendedCreditRatings": [
"limited",
"poor",
"fair",
"good"
],
"preQualified": false,
"preApproved": false,
"preSelected": false,
"aprType": "variable"
}
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
Get preview savings offers
Code sample
curl -X GET 'https://api.engine.tech/offerPreview/savingsOffers' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/offerPreview/savingsOffers', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/offerPreview/savingsOffers',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/offerPreview/savingsOffers',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /offerPreview/savingsOffers
Get a list of non-personalized savings offers that match the specified critieria.
Parameters
Name | Type | Required | Description |
---|---|---|---|
maxDepositAmount | integer [int64] | false | none |
minDepositAmount | integer [int64] | false | none |
zipCode | string | false | none |
Example responses
Success
[
{
"uuid": "9284470f-e430-5473-aeeb-f61c91adabc9",
"productType": "savings",
"productSubType": "savings_account",
"partner": {
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Beta Inc.",
"description": "Voluptas quas aspernatur aut nihil rerum. Voluptatibus laboriosam amet porro veniam ut.",
"disclaimer": "Est delectus et rem consequatur magni. Molestiae asperiores sit debitis et id corporis.",
"supportsPersonalizedOffers": false,
"supportsPreSelect": false,
"shouldDisplayPreSelect": true,
"imageUrl": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
},
"url": "https://offers.evenfinancial.com/ref/0803947c-08a5-59eb-ae58-8468c62bb5a8",
"recommendationScore": 170,
"disclaimer": "Accounts offered by Axos Bank, Member FDIC",
"details": {
"name": "Beta Savings",
"description": "Pariatur et repellat quia aliquid. Sint qui aut harum qui aut.",
"details": "Praesentium asperiores est quisquam ad qui est. Sint culpa harum id totam. Ex fugit magni quis tempora sit.",
"rate": 0.4,
"annualPercentYield": 0.4,
"compoundingMethod": "continuous",
"minimumDeposit": 0,
"minimumDepositWithFees": 0,
"monthlyFee": 0,
"checkWriting": false,
"effectiveAsOf": "2021-01-01T12:00:00Z"
}
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
404 Response
[
{
"attribute": "string",
"type": "string",
"details": {
"property1": "string",
"property2": "string"
},
"message": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
404 | Not Found | Resource not found | undefined |
Analytics
Introduction
Welcome to Engine by MoneyLion's Integration Guide for our Supply Analytics data product, which provides funnel, payout and client tag data on specific leads and lead segments to better improve your monetization, consumer experience and efficiency of user acquisition.
Supply Analytics offers three different reporting endpoints optimized for streaming time series datasets out of the Engine by MoneyLion API and into your system via periodic polling. This document contains everything needed to understand and integrate with all 3 endpoints offered.
API Endpoints
We currently offer the following reporting endpoints providing real time insights into the funnel from user acquisition to conversion:
-
LeadEvents: This endpoint tracks the lead funnel’s journey. With the Lead Events API, you can pull KPI related data for your funnel, measure conversions, and iterate so that you can meet your business goals.
-
LeadPayouts: This endpoint tracks payout by conversion on a per-lead basis.
-
LeadClientTags: This endpoint is used to check and confirm which client tags (ie. subID, clickID, or trafficsource) you have appended to each lead (unique Engine by MoneyLion generated leadUuid). It provides better customer segmentation and attribution by returning your supplied client-tags (key/value) pairs associated with a lead. Its explained with examples in depth in "Get lead client tags endpoint" section.
Basic Request to Supply Analytics API
Every request to the Supply Analytics API will return a JSON object with three properties:
-
data
is the array of events that should be analyzed / loaded into your database. -
nextUrl
is the URL that should be persisted and used for the next request. -
shouldContinuePolling
is a boolean which signals if callingnextUrl
will have published data available.
nextUrl
will always include a timestamp query string parameter that indicates the lower bound for when the returned events hit Engine by MoneyLion's system. Events from financial institutions or other external systems may not be shared with Engine by MoneyLion for hours or days after they occur, so event data may "backfill" in the system.
A response always contains at least an hour's worth of events, so requesting a URL with a timestamp that is less than an hour old will return an error. Furthermore, it can take a few minutes to prepare the response, so we suggest polling hourly, at 15 minutes past the hour. For convenience, we provide a shouldContinuePolling
flag to indicate whether you should continue to poll the supply analytics endpoint. If true
, feel free to advance to the next set of events under nextUrl
. If not, the timestamp is too recent and no further data is available.
curl -X GET 'https://api.engine.tech/supplyAnalytics/leadEvents?timestamp=2019-08-24T14%3A15%3A22Z' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
Developer's Note About Time Zones
Timestamps without an explicit timezone (timezones missing a suffix of Z
, for example) are interpreted as UTC. However, we recommend passing an explicit timezone offset of Z in the timestamp query string parameter. All timestamps in responses, whether in the event as a field, or in the nextUrl
, are UTC.
Developer's Note About Flexible JSON Objects
Engine by MoneyLion's goal is to enrich the data provided by the Supply Analytics endpoint over time to improve your insight and analytical abilities. Therefore, it is recommended that any integration or initial setup be created with the future possibility of additional data fields in mind. These will take the form of additional JSON keys. We'd recommend that your integration not "break" if there are additional JSON key-values present. This will allow new rollouts and improvements to the supply analytics endpoint to happen as smoothly as possible. We’ll always notify about pending additions/changes.
Backfilling
When backfilling, the timestamp
of your initial request URL should be slightly before when you went live. Responses will be optimized to potentially contain one hour of data, regardless of the number of events. You should request each subsequent URL in succession until you're caught up.
Event history only extends back to 2020-08-01, so don't attempt to backfill earlier than that.
Resources
Partners can contact their assigned Engine by MoneyLion Partner Manager or [email protected] for help.
Get lead events
Code sample
curl -X GET 'https://api.engine.tech/supplyAnalytics/leadEvents?timestamp=2019-08-24T14%3A15%3A22Z' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/supplyAnalytics/leadEvents?timestamp=2019-08-24T14%3A15%3A22Z', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/supplyAnalytics/leadEvents',
params={
'timestamp': '2019-08-24T14:15:22Z'
},
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/supplyAnalytics/leadEvents',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'params' => {
'timestamp' => '2019-08-24T14:15:22Z'
}
}
)
p JSON.parse(response)
GET /supplyAnalytics/leadEvents
What is the Lead Events API used for?
With the Lead Events API, you can pull KPI related data for your funnel, measure conversions, and iterate so that you can meet your business goals.
The endpoint returns events associated with each lead. The event type is indicated by the eventType property. Each event will also include metadata applicable to the eventType. It allows easy consumption of the events into your database so that you can integrate it into your BI framework and compare it alongside data from other systems to assess performance holistically.
How does it work?
The endpoint is cursor based. You can consume batches of events 1 hour at a time for the product tied to your company uuid. All that is required is a bearer token and timestamp. The endpoint will respond with all of the events that have happened from that timestamp forward for one hour. It will also include a pointer to the next timestamp to be used for a subsequent call. This endpoint should be polled hourly on the 15 minute mark to fetch new events.
For convenience, we provide a shouldContinuePolling
flag to signal if data has been published at the location of the nextUrl
.
The endpoint is designed for paging forward through data in order to populate your local database. By relying on the nextUrl
parameter provided in the preceding call's response, we can guarantee a) you will see no gaps, and b) you will see no duplicates.
This endpoint should be polled hourly on the 15 minute mark to fetch new events. Data for this endpoint is made available with a 1 hour SLA.
If the current time is '2020-01-01T08:15:00Z' UTC, making a request to this endpoint with the timestamp set to '2020-01-01T08:00:00Z' will error because of the 1 hour SLA. Making a request with a timestamp of '2020-01-01T07:10:00Z' however, will succeed.
Event Definitions
Common Attributes
Attribute Name | Type | Format | Enum |
---|---|---|---|
eventType | string | leadCreated appSubmitted apiApproved apiRejected offerClicked applied approved listed opened funded conversation lenderQualifiedLead | |
leadUuid | string | uuid | |
leadCreatedAt | string | date-time | |
eventCreatedAt | string | date-time | |
amountInCents | int | ||
financialInstitutionName | string | ||
financialInstitutionUuid | string | uuid | |
productType | string | creditCard insurance lifeInsurance loan mortgage savings other | |
isTest | boolean | Whether a Lead was created using a test access token |
Common Event Types
Event Type | Required Attributes | Optional Attributes |
---|---|---|
leadCreated | eventType leadUuid leadCreatedAt eventCreatedAt | |
appSubmitted | eventType leadUuid leadCreatedAt eventCreatedAt | |
apiApproved | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
apiRejected | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
offerClicked | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
applied | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
approved | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
listed | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
opened | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
Event Types for Personal Loans Funnel
Event Type | Definition | Required Attributes | Optional Attributes |
---|---|---|---|
leadCreated | A user enters the marketplace funnel | See under common event types | |
appSubmitted | The lead has filled out the information in the Engine by MoneyLion application and a rate table has been created | See under common event types | |
apiApproved | Financial institution has pre-approved or pre-qualified a user for at least one offer | See under common event types | |
apiRejected | Financial institution has not pre-approved or pre-qualified a user for any offers | See under common event types | |
offerClicked | The user clicks on or is auto redirected into an offer | See under common event types | |
applied | The user applied for an offer in the financial institution's experience | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType amountInCents |
approved | The user was approved for an offer after applying in the financial institution's experience | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType amountInCents |
listed | The user's loan was listed on the financial institution's marketplace for funding | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType amountInCents |
funded | The user has a loan funded | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType amountInCents |
opened | The user monetizes with a special offer | See under common events | |
conversion | This event varies by lender, and will be deprecated. | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid | productType |
lenderQualifiedLead | Financial institution further collected information from a lead | eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid amountInCents | productType |
Parameters
Name | Type | Required | Description |
---|---|---|---|
timestamp | string [date-time] | true | The lower bound for when an event hit Engine by MoneyLion's system. |
Example responses
Success
{
"nextUrl": "https://api.engine.tech/supplyAnalytics/leadEvents?timestamp=2021-01-02T17:00:00Z",
"data": [
{
"id": "5550066157addee59022a5e69b12f26feba5c6ff461210309a4fc846a38c404d",
"leadUuid": "4bbb25a6-6fcf-4ed3-88f9-6daacb0f8b33",
"leadCreatedAt": "2021-01-01T11:24:45Z",
"eventType": "offerClicked",
"eventCreatedAt": "2019-09-22T17:44:22Z",
"financialInstitutionUuid": "da14e06b-0866-4f02-a3b2-9443501b25b9",
"financialInstitutionName": "OpenSky®",
"isTest": false
},
{
"id": "faa7b339d89453e284e68e76d0c7b0600f04c276a895a3cbc720803164c45434",
"leadUuid": "39afdb4a-ef26-42ed-a313-e28288f95099",
"leadCreatedAt": "2021-01-01T20:42:06Z",
"eventType": "apiApproved",
"eventCreatedAt": "2019-10-10T20:44:28Z",
"financialInstitutionUuid": "da14e06b-0866-4f02-a3b2-9443501b25b9",
"financialInstitutionName": "LendingClub",
"isTest": false
}
]
}
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Invalid request
[
{
"attribute": "timestamp",
"type": "missing",
"message": "timestamp must be specified"
}
]
[
{
"attribute": "timestamp",
"type": "malformed",
"details": {
"specified": "2021-02-01T17:00:00.000Z",
"requirement": "must be at or before 2021-01-13T16:00:00Z"
},
"message": "timestamp must be at or before 2021-01-13T16:00:00Z, but is '2021-02-01T17:00:00Z'"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
422 | Unprocessable Entity | Invalid request | undefined |
Get lead payouts
Code sample
curl -X GET 'https://api.engine.tech/supplyAnalytics/leadPayouts?timestamp=2019-08-24T14%3A15%3A22Z' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/supplyAnalytics/leadPayouts?timestamp=2019-08-24T14%3A15%3A22Z', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/supplyAnalytics/leadPayouts',
params={
'timestamp': '2019-08-24T14:15:22Z'
},
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/supplyAnalytics/leadPayouts',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'params' => {
'timestamp' => '2019-08-24T14:15:22Z'
}
}
)
p JSON.parse(response)
GET /supplyAnalytics/leadPayouts
What is the Lead Payouts API used for?
With Lead payout API you can collect granular payout information for leads you have submitted. It returns payout events associated with a lead. Event data is limited to the amount that was paid out, and when the payout was booked.
We recently added two additional optional fields to the payout event information tied to leads:
financialInstitutionUuid
financialInstitutionName
These fields will tie conversion events to specific Financial Institutions (Lenders) for your knowledge and analytical use. We include these additional fields to disambiguate which financial institution a given payout originates from in the case of multiple payouts against a given lead. Not all lead payout events can be traced back to a financial institution, so these fields are optional. The Financial Institution Name is not guaranteed to be a stable identifier of the entity; Financial Institution UUID is.
LeadPayout deletedAt
will report the time that the payout was deleted. Payouts get deleted when there are post dated Contract changes or partner reporting errors requiring reingestion of EDEs.
How does it work?
The endpoint is cursor based. You can consume batches of events 1 hour at a time for the product tied to your company uuid. All that is required is a bearer token and timestamp. The endpoint will respond with all of the events that have happened from that timestamp forward for one hour. It will also include a pointer to the next timestamp to be used for a subsequent call. This endpoint should be polled hourly on the 15 minute mark to fetch new events.
For convenience, we provide a shouldContinuePolling
flag to signal if data has yet been published at the location of the nextUrl.
The endpoint is designed for paging forward through data in order to populate your local database. By relying on the nextUrl
parameter provided in the preceding call's response, we can guarantee a) you will see no gaps, and b) you will see no duplicates.
This endpoint should be polled hourly on the 15 minute mark to fetch new events. Data for this endpoint is made available with an 1 hour SLA. If the current time is '2020-01-01T08:15:00Z' UTC, making a request to this endpoint with the timestamp set to '2020-01-01T08:00:00Z' will error because of the 1 hour SLA. Making a request with a timestamp of '2020-01-01T07:00:00Z' however, will succeed.
Parameters
Name | Type | Required | Description |
---|---|---|---|
timestamp | string [date-time] | true | The lower bound for when an event hits Engine by MoneyLion's system. |
Example responses
Success
{
"nextUrl": "https://api.engine.tech/supplyAnalytics/leadPayouts?timestamp=2021-01-05T03:00:00Z",
"data": [
{
"leadUuid": "dda9f837-2560-4b42-bc85-f6edd047a4d5",
"bookedAt": "2021-01-01T00:00:00Z",
"payoutInCents": 20000
},
{
"leadUuid": "a61d7cc3-3ad8-45b9-ba35-6572789203b3",
"bookedAt": "2021-01-02T00:00:00Z",
"payoutInCents": 10000
}
]
}
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Invalid request
[
{
"attribute": "timestamp",
"type": "missing",
"message": "timestamp must be specified"
}
]
[
{
"attribute": "timestamp",
"type": "malformed",
"details": {
"specified": "2021-02-01T17:00:00.000Z",
"requirement": "must be at or before 2021-01-13T16:00:00Z"
},
"message": "timestamp must be at or before 2021-01-13T16:00:00Z, but is '2021-02-01T17:00:00Z'"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
422 | Unprocessable Entity | Invalid request | undefined |
Get lead client tags
Code sample
curl -X GET 'https://api.engine.tech/supplyAnalytics/leadClientTags?timestamp=2019-08-24T14%3A15%3A22Z' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/supplyAnalytics/leadClientTags?timestamp=2019-08-24T14%3A15%3A22Z', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/supplyAnalytics/leadClientTags',
params={
'timestamp': '2019-08-24T14:15:22Z'
},
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/supplyAnalytics/leadClientTags',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'params' => {
'timestamp' => '2019-08-24T14:15:22Z'
}
}
)
p JSON.parse(response)
GET /supplyAnalytics/leadClientTags
What is the Lead Client Tags API used for?
Client tags (also known as Custom Lead Attributes) are arbitrary key:value pairs of information that can be set using the API or URL of a partner page to enable custom segmentation. Client tags provides you a method to be able to segment leads to support uses cases like:
- See how various traffic sources on the supply partners site perform
- See what preferences their users from different segments have
The lead client tag endpoint returns client tags associated with a lead.
What use cases does it support?
You have the ability to append client tags, which are your specific identifiers (ie. traffic source, article, unique user identifier, etc.), to leads sent to Engine by MoneyLion's API via a partner page, embed, or the native API integration. Below are instructions on how to implement these client tags by integration so Engine by MoneyLion can ingest and report this data back to you.
In the below examples, the channel partner is appending two custom lead attributes: traffic_source
and article
. The values of 1234
and 5678
for traffic_source
and article
, respectively, are sample values and typically correspond to identifiers in the Channel Partner’s data.
Partner Page
Custom lead attributes are appended to the partner page URL:
https://hifiona.com/even-testing/loans?tag.traffic_source=1234&tag.clientid=
traffic_source
is given a unique value, in this case, 1234
, to identify that any leads arriving marked with the attribute traffic_source
and the attribute value 1234
have come from this particular source, which could be a particular subsection of your website, an article, an emailing list, etc. Custom lead attributes like traffic_source are especially useful if you plan on deploying your partner page in multiple locations, such as multiple pages on your website, or in multiple articles, to help identify the origin of leads and analyze which traffic sources are performing the most optimally.
clientid
is not given a unique value, which means that any leads arriving marked with the attribute clientid
will be assigned a unique value, most commonly an alphanumeric string, such as 202102021abcde1
, which will then be reported back to you via Client Tags API, so that you can understand and analyze metrics on a lead level.
Note that traffic_source
and clientid
are just two examples of Client tags, and that these can be any identifier that you wish. Other common custom lead attributes include subid and article.
It's also possible for a single key to have multiple values (eg traffic_source=1234
, traffic_source=abcd
, etc) and as such don't assume only the last value set for a key will persist.
Additionally it's worth noting that Engine by MoneyLion's own platform uses client tags mechanism in some cases hence don't be surprised to see client tags appear that you don't anticipate.
Embed
Custom lead attributes are embedded to the source URL of the embed code:
src="https://embed.hifiona.com/ui/multi-product/index.html?partner=even-testing&access_token={access_token}&company_uuid={company_uuid}&productType=loan&available_products=loan&tag.traffic_source=1234&tag.article=5678
Native API
In the clientTags
section of the post request to Engine by MoneyLion's API, include custom lead attributes keys and values:
{"clientTags": {"traffic_source": ["1234"], "article": ["5678"]}}
How does it work?
The endpoint is designed for paging forward through data in order to populate your local database. By relying on the “nextUrl” parameter provided in the preceding call’s response, we can guarantee a) you will see no gaps, and b) you will see no duplicates.
This endpoint should be polled hourly on the 15 minute mark to fetch new events. Data for this endpoint is made available with an 1 hour SLA. If the current time is '2020-01-01T08:15:00Z' UTC, making a request to this endpoint with the timestamp set to '2020-01-01T08:00:00Z' will error because of the 1 hour SLA. Making a request with a timestamp of '2020-01-01T07:00:00Z' however, will succeed.
For convenience, we provide a shouldContinuePolling
flag to signal if data has been published at the location of the nextUrl
.
The endpoint is cursor based. You can consume batches of events 1 hour at a time for the product tied to your company uuid. All that is required is a bearer token and timestamp. The endpoint will respond with all of the events that have happened from that timestamp forward for one hour. It will also include a pointer to the next timestamp to be used for a subsequent call. This endpoint should be polled hourly on the 15 minute mark to fetch new events.
Parameters
Name | Type | Required | Description |
---|---|---|---|
timestamp | string [date-time] | true | The lower bound for when an event hit Engine by MoneyLion's system. |
Example responses
Success
{
"shouldContinuePolling": true,
"nextUrl": "https://api.engine.tech/supplyAnalytics/leadClientTags?timestamp=2021-01-10T03:00:00Z",
"data": [
{
"id": "e63aff4b-eea7-4f98-926c-15a15fc76ed3",
"leadUuid": "a67b2027-29b2-43aa-a06f-2b60deaf3f2b",
"key": "subId",
"value": "425352",
"createdAt": "2021-01-05T14:00:00Z"
}
]
}
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Invalid request
[
{
"attribute": "timestamp",
"type": "missing",
"message": "timestamp must be specified"
}
]
[
{
"attribute": "timestamp",
"type": "malformed",
"details": {
"specified": "2021-02-01T17:00:00.000Z",
"requirement": "must be at or before 2021-01-13T16:00:00Z"
},
"message": "timestamp must be at or before 2021-01-13T16:00:00Z, but is '2021-02-01T17:00:00Z'"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
422 | Unprocessable Entity | Invalid request | undefined |
UI Events
The UI Events endpoints allow you to record events that occur while a user interacts with a search experience. This data is used both for funnel analysis and to make it easy to meet some compliance requirements from financial institutions.
Record new session
Code sample
curl -X POST 'https://api.engine.tech/uiEvent/sessionInits' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d @- << EOF
{
"sessionUuid": "820cc28f-ae99-55a5-a364-6353efd4a48b"
}
EOF
fetch('https://api.engine.tech/uiEvent/sessionInits', {
method: 'POST',
headers: {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
},
body: `{
"sessionUuid": "820cc28f-ae99-55a5-a364-6353efd4a48b"
}`
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.post(
'https://api.engine.tech/uiEvent/sessionInits',
headers={
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
},
json=json.loads("""{
"sessionUuid": "820cc28f-ae99-55a5-a364-6353efd4a48b"
}""")
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.post(
'https://api.engine.tech/uiEvent/sessionInits',
%q|{
"sessionUuid": "820cc28f-ae99-55a5-a364-6353efd4a48b"
}|,
{
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
POST /uiEvent/sessionInits
Records that a user has begun a new session. A session can be any extended interaction with the Engine by MoneyLion API by an individual user.
The most common use case is to initiate a session when a user lands on
a financial offer search experience. You can either supply sessionUuid
in the request body, or submit an empty body and one will be generated
for you. In either case, the returned sessionUuid
should be included
in the lead body of subsequent rate table requests.
Request Body
undefined
Example responses
Success
{
"id": 12981234,
"uuid": "157565d5-0e75-5bb1-856f-23226a80b710",
"subAccountUuid": "af3a373b-570f-5201-9c2d-27d59efbdcbb",
"sessionUuid": "820cc28f-ae99-55a5-a364-6353efd4a48b",
"createdAt": "2021-05-01T00:00:00.00",
"createdBy": "edd8941a-34f0-54a5-85f6-dce5946c23dd"
}
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
Record offer display
Code sample
curl -X POST 'https://api.engine.tech/uiEvent/offerDisplays' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d @- << EOF
{
"leadUuid": "f914eb07-a64f-51d8-b882-ff508a8c5c81",
"rateTableUuid": "952a1184-d369-5958-9a0f-bec903e11c48",
"offerUuid": "3426f971-1aa5-5cb0-91a9-cf2edcfa5dfa"
}
EOF
fetch('https://api.engine.tech/uiEvent/offerDisplays', {
method: 'POST',
headers: {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
},
body: `{
"leadUuid": "f914eb07-a64f-51d8-b882-ff508a8c5c81",
"rateTableUuid": "952a1184-d369-5958-9a0f-bec903e11c48",
"offerUuid": "3426f971-1aa5-5cb0-91a9-cf2edcfa5dfa"
}`
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.post(
'https://api.engine.tech/uiEvent/offerDisplays',
headers={
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
},
json=json.loads("""{
"leadUuid": "f914eb07-a64f-51d8-b882-ff508a8c5c81",
"rateTableUuid": "952a1184-d369-5958-9a0f-bec903e11c48",
"offerUuid": "3426f971-1aa5-5cb0-91a9-cf2edcfa5dfa"
}""")
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.post(
'https://api.engine.tech/uiEvent/offerDisplays',
%q|{
"leadUuid": "f914eb07-a64f-51d8-b882-ff508a8c5c81",
"rateTableUuid": "952a1184-d369-5958-9a0f-bec903e11c48",
"offerUuid": "3426f971-1aa5-5cb0-91a9-cf2edcfa5dfa"
}|,
{
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
POST /uiEvent/offerDisplays
Records that an offer was displayed to a user.
You can also use a pixel to record this event, by rendering an img
tag in the DOM alongside the offer, where the src
URL follows this
pattern: /uiEvent/offerDisplays/{leadUuid}/{rateTableUuid}/{offerUuid}/pixel.gif
So, for example: <img src="https://api.engine.tech/uiEvent/offerDisplays/39197a3f-d2f4-43eb-9999-7f7a154d79bc/eb0e6cc4-df13-42fe-b254-c58c9b35a3d6/a698f56f-0946-4642-9720-5f280bc8b2e0/pixel.gif">
The URL will always respond successfully with a transparent 1x1 GIF.
Request Body
undefined
Example responses
Success
{
"id": 96782348,
"uuid": "7820ca8c-e8bc-5849-83ee-02e951d4b062",
"leadUuid": "f914eb07-a64f-51d8-b882-ff508a8c5c81",
"rateTableUuid": "952a1184-d369-5958-9a0f-bec903e11c48",
"offerUuid": "3426f971-1aa5-5cb0-91a9-cf2edcfa5dfa",
"createdAt": "2021-05-01T00:00:00.00",
"createdBy": "edd8941a-34f0-54a5-85f6-dce5946c23dd"
}
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
UI Utils
A collection of endpoints that can be used to improve a search experience.
Get university names
Code sample
curl -X GET 'https://api.engine.tech/leads/universities?limit=1' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/leads/universities?limit=1', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/leads/universities',
params={
'limit': '1'
},
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/leads/universities',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
'params' => {
'limit' => '1'
}
}
)
p JSON.parse(response)
GET /leads/universities
Get a list of university names that correspond to the specified fragment.
This is useful for implementing an autocomplete input for the educationInformation.universityAttended
lead field when searching for student loan refinancing loans. See the Student Loan Refinancing overview.
Parameters
Name | Type | Required | Description |
---|---|---|---|
name | string | false | Fragment of a university name to seach for. |
offset | integer [int64] | false | Number of results to skip before the first returned result. |
limit | integer [int32] | true | Maximum number of results to return. |
Example responses
Success
[
"Johns Hopkins University",
"Johns Hopkins University - Carey Business School",
"Johns Hopkins University - Paul Nifle School of Advanced International Studies",
"Johns Hopkins University - Peabody Conservatory of Music",
"Johns Hopkins University - School of Arts & Science",
"Johns Hopkins University - School of Medicine",
"Johns Hopkins University - School of Nursing",
"Johns Hopkins University - School of Public Health",
"Johns Hopkins University - SPSBE",
"Saint Johns University",
"Cornell University Johnson, MBA",
"Johnson College",
"Johnson County Community College",
"Johnson University",
"Johnson & Wales University",
"Northern Vermont University - Johnson (FKA Johnson State College + Lyndon State College)",
"Northern Vermont University - Lyndon (FKA Lyndon State College + Johnson State College)",
"University of Pittsburgh - Johnstown"
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
Get vehicle years
Code sample
curl -X GET 'https://api.engine.tech/leads/vehicles/years' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/leads/vehicles/years', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/leads/vehicles/years',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/leads/vehicles/years',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /leads/vehicles/years
Get all available vehicle years
This is useful for implementing a select input for vehicle years when searching for auto loan refinancing loans. A valid combination of year, make, model, and trim corresponds to a vehicle UUID that can be used in the vehicleInformation.vehicleUuid
field. See the Auto Loan Refinancing overview.
Example responses
200 Response
[
0
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Valid vehicle years | undefined |
Get vehicle makes
Code sample
curl -X GET 'https://api.engine.tech/leads/vehicles/makes' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/leads/vehicles/makes', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/leads/vehicles/makes',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/leads/vehicles/makes',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /leads/vehicles/makes
Get all makes for the given vehicle year
This is useful for implementing a select input for vehicle makes when searching for auto loan refinancing loans. A valid combination of year, make, model, and trim corresponds to a vehicle UUID that can be used in the vehicleInformation.vehicleUuid
field. See the Auto Loan Refinancing overview.
Parameters
Name | Type | Required | Description |
---|---|---|---|
year | integer [int32] | false | none |
Example responses
200 Response
[
"string"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Makes for given vehicle year | undefined |
400 | Bad Request | Invalid request | undefined |
Get vehicle models
Code sample
curl -X GET 'https://api.engine.tech/leads/vehicles/models' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/leads/vehicles/models', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/leads/vehicles/models',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/leads/vehicles/models',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /leads/vehicles/models
Get all models for the given vehicle year and make
This is useful for implementing a select input for vehicle models when searching for auto loan refinancing loans. A valid combination of year, make, model, and trim corresponds to a vehicle UUID that can be used in the vehicleInformation.vehicleUuid
field. See the Auto Loan Refinancing overview.
Parameters
Name | Type | Required | Description |
---|---|---|---|
year | integer [int32] | false | none |
make | string | false | none |
Example responses
200 Response
[
"string"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Models for given vehicle year and make | undefined |
400 | Bad Request | Invalid request | undefined |
Get vehicle trims
Code sample
curl -X GET 'https://api.engine.tech/leads/vehicles/trims' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/leads/vehicles/trims', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/leads/vehicles/trims',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/leads/vehicles/trims',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /leads/vehicles/trims
Get vehicle details, including trims and uuids, for the given year, make, and model
This is useful for implementing a select input for vehicle trims when searching for auto loan refinancing loans. A valid combination of year, make, model, and trim corresponds to a vehicle UUID that can be used in the vehicleInformation.vehicleUuid
field. The uuid field returned in successful response objects corresponds to a valid vehicleUuid
. See the Auto Loan Refinancing overview.
Parameters
Name | Type | Required | Description |
---|---|---|---|
year | integer [int32] | false | none |
make | string | false | none |
model | string | false | none |
Example responses
200 Response
[
{
"year": 0,
"make": "string",
"model": "string",
"trim": "string",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"ucgVehicleId": 0
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Vehicle details, including trim and uuid, for the given year, make, model | undefined |
400 | Bad Request | Invalid request | undefined |
Get featured financial institutions
Code sample
curl -X GET 'https://api.engine.tech/uiUtil/featuredFinancialInstitutions' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
fetch('https://api.engine.tech/uiUtil/featuredFinancialInstitutions', {
method: 'GET',
headers: {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
}
}).then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
import json
response = requests.get(
'https://api.engine.tech/uiUtil/featuredFinancialInstitutions',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
)
print(response.json())
require 'rest-client'
require 'json'
response = RestClient.get(
'https://api.engine.tech/uiUtil/featuredFinancialInstitutions',
{
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
)
p JSON.parse(response)
GET /uiUtil/featuredFinancialInstitutions
Get a list of featured financial institution names and logos that can be displayed prior to collecting personal information in a search application to improve the user experience.
Example responses
Success
[
{
"uuid": "32bd2f7c-79fd-5c54-bcb5-3a46454a465c",
"name": "Alpha, Inc.",
"logoUrl": "https://aff-tag.evenfinancial.com/images/alpha/Alpha_120x80.png"
},
{
"uuid": "91d08be0-2a8c-4d28-b399-7e1b38e2522e",
"name": "Beta, Inc.",
"logoUrl": "https://aff-tag.evenfinancial.com/images/beta/Beta_120x80.png"
}
]
Unauthorized request
[
{
"message": "Access token is missing"
}
]
422 Response
[
{
"attribute": "string",
"type": "string",
"details": {
"property1": "string",
"property2": "string"
},
"message": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | undefined |
401 | Unauthorized | Unauthorized request | undefined |
422 | Unprocessable Entity | Invalid request | undefined |
Schemas
ApiError
{
"attribute": "string",
"type": "string",
"details": {
"property1": "string",
"property2": "string"
},
"message": "string"
}
Name | Type | Required | Description |
---|---|---|---|
attribute | string | false | The attribute that this error applies to. Omitted if this error is not in the context of a resource, or cannot be isolated to a single attribute. |
type | string | false | A classification for this error, which can be used to render the appropriate custom error template, or take other programmatic actions. |
details | object | false | Variables associated with this error that can be injected into a custom error template, or used to parameterize any other programatic actions. |
message | string | false | A human-readable, English description of the error. |
ApiErrorDetails
{
"property1": "string",
"property2": "string"
}
Name | Type | Required | Description |
---|---|---|---|
[any key] | string | false |
ApiApprovedEventData
{
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
productType | ProductType | false | The product type of the approved offer. |
ApiRejectedEventData
{
"rejectReason": "low_fico",
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
rejectReason | RejectReason | false | A normalized reason why the lead was rejected, according to the financial institution. |
productType | ProductType | false | The product type of the rejected offer. |
AppliedEventData
{
"amount": 0,
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
amount | integer [int32] | false | The dollar amount of the offer that was applied for. |
productType | ProductType | false | The product type of the offer that was applied for. |
ApprovedEventData
{
"amount": 0,
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
amount | integer [int32] | false | The dollar amount of the approved offer. |
productType | ProductType | false | The product type of the approved offer. |
AprType
"variable"
Enum |
---|
variable |
regular |
fixed |
BankAccountType
"checking"
Enum |
---|
checking |
savings |
other |
CardBenefit
"No Foreign Transaction Fees"
Enum |
---|
No Foreign Transaction Fees |
Purchase Protection |
Return Protection |
Price Protection |
Fraud Protection |
Extended Warranty |
Travel Accident Insurance |
Trip Interruption Insurance |
Car Rental Insurance |
Baggage Insurance |
Baggage Delay Insurance |
Hotel Burglary Insurance |
Travel & Emergency Assistance |
Roadside Assistance |
Concierge Service |
Lounge Access |
Identity Theft Assistance |
In-Flight Savings |
Free Checked Bag |
Priority Boarding |
No Blackout Dates |
Free Companion Ticket |
Discount Companion Ticket |
Global Entry or TSA PreCheck |
Private Jet Perks |
Lounge Access Discount |
24/7 Cardholder Support |
Authorized User |
Entertainment Access |
Airline Fee Credit |
Late Fee Pass |
Credit Score Reporting |
No Flight Change Fees |
24/7 Account Monitoring |
Amex Offers |
Visa Signature Offers |
MasterCard Offers |
Free Hotel Stay |
Extended Hotel Stay |
Dining Concierge |
2 Lounge Passes |
Hilton Honors Silver Membership |
Hilton Honors Gold Membership |
World of Hyatt Discoverist Status |
SPG Gold Membership |
Marriott Rewards Silver Status |
Hertz Presidents Circle Elite Status |
2 Free Checked Bags |
Auto Discounts |
InCircle Partnership |
ShopRunner |
WiFi Access |
ShopSafe |
BoA Preferred Rewards |
MasterCard Fuel Rewards Network |
Missed Event Ticket Protection |
Account Freezing |
Cell Phone Protection |
GPA Rewards |
In-Flight WiFi Credit |
Citi Private Pass |
Priceless Cities |
The Hotel Collection |
By Invitation Only |
Luxury Hotel Collection |
Expedia+ Silver Status |
Expedia+ Gold Status |
$100 American Airlines Discount |
Disney Parks Perks and Savings |
Ritz-Carlton Gold Elite Status |
Ritz-Carlton Club Level Upgrade |
Annual Travel Credit |
IHG Platinum Elite Status |
QuickBooks Connect |
ReceiptMatch |
Employee Spending Limits |
FX International Payments |
No Pre-Set Spending Limit |
Purchase Financing |
Amex Open Savings |
Amazon Special Financing |
$100 Ritz-Carlton Hotel Credit |
British Airways Companion Ticket |
Mercedes-Benz Gift Certificates |
Mercedes-Benz Excess Mileage Waiver |
JetBlue Annual Statement Credit |
20% Discount on Delta Flights for Delta Private Jet Members |
Expense Report Features |
Business Cell Phone Protection |
Free Shipping on most Target.com orders |
30 Extra Days for Returns |
Free clothing altertaions |
Personal shopping |
Shopmyway Savings |
Online Subscription Credit |
Uber Exclusive Access |
Airline Benefits |
Hotel Benefits |
Other Travel Benefits |
Emergency Assistance |
Experiences |
Shopping Benefits |
Cardholder Benefits |
Enhanced Security |
Business Benefits |
Other Benefits |
In-Flight Discounts |
Fee Coverage |
Flight Credits & Discounts |
Hotel Membership Status |
Hotel Credit & Free Stays |
Travel Credit |
Travel Experiences Programs |
Car Rental Membership Status |
Extra Gas Rewards |
Shopping Protection |
Shopping Discounts |
Free Shipping |
The Boingo American Express Preferred Plan |
AirSpace Lounge |
Uber Monthly Credit |
Ride Share Benefits |
Delta Sky Club |
Admirals Club Membership |
Priority Pass Select Membership (Prestige) |
Priority Pass Select Membership (Standard Plus) |
Daily Breakfast |
Early Check-in & Late Check-out |
Room Upgrades |
Complementary WiFi |
Amex Hotel Collection Credit |
Temporary Account Numbers |
One-Time 50% Discount on Companion Ticket |
Airline Travel Credit |
United Club Membership |
Chip Technology |
Earn More Miles for Sharing Travel Stories |
Mastercard World Elite Concierge and Luxury Travel Benefits |
20% Savings on Delta In-Flight Purchases |
25% Savings on United In-Flight Food and Drink Purchases |
$100 Hilton Properties Credit |
$250 Hilton Resort Credit |
Hilton Honors Diamond Membership |
Free Birthday Gift |
2x Points During Your Birthday Month |
Car Rental VIP Perks |
Free shipping with the purchase of a bra |
Monthly Dining Credit |
Amazon Prime Student |
CardPurpose
"balance_transfer"
Enum |
---|
balance_transfer |
cash_back |
earning_rewards |
improve_credit |
low_interest |
new_to_credit |
student |
travel_incentives |
CardType
"visa"
Enum |
---|
visa |
mastercard |
american_express |
discover |
CarrierDecisionType
"instant"
Enum |
---|
instant |
non_instant |
CitizenshipStatus
"citizen"
Enum |
---|
citizen |
permanent_resident |
other |
CompoundingMethod
"annually"
Enum |
---|
annually |
continuous |
daily |
monthly |
quarterly |
semiAnnually |
simple |
weekly |
CreditCardOffer
{
"details": {
"cardName": "string",
"cardImageUrl": "string",
"cardPurposes": [
"balance_transfer"
],
"ratesUrl": "string",
"maxPurchaseApr": 0,
"minPurchaseApr": 0,
"purchaseAprText": "string",
"purchaseAprDisclaimer": "string",
"maxPurchaseIntroApr": 0,
"minPurchaseIntroApr": 0,
"purchaseIntroAprTerm": 0,
"purchaseIntroAprTermUnit": "day",
"purchaseIntroAprText": "string",
"maxCashAdvanceApr": 0,
"minCashAdvanceApr": 0,
"cashAdvanceAprText": "string",
"maxCashAdvanceIntroApr": 0,
"minCashAdvanceIntroApr": 0,
"cashAdvanceIntroAprTerm": 0,
"cashAdvanceIntroAprTermUnit": "day",
"cashAdvanceIntroAprText": "string",
"maxBalanceTransferApr": 0,
"minBalanceTransferApr": 0,
"balanceTransferAprText": "string",
"maxBalanceTransferIntroApr": 0,
"minBalanceTransferIntroApr": 0,
"balanceTransferIntroAprTerm": 0,
"balanceTransferIntroAprTermUnit": "day",
"balanceTransferIntroAprText": "string",
"balanceTransferFee": 0,
"balanceTransferFeeDisclaimer": "string",
"maxAnnualFee": 0,
"minAnnualFee": 0,
"annualFeeDisclaimer": "string",
"annualIntroFee": 0,
"annualIntroFeeTerm": 0,
"introOfferAmount": 0,
"introOfferText": "string",
"introOfferType": "miles",
"details": [
"string"
],
"additionalDetails": [
"string"
],
"cardType": "visa",
"minimumCreditLine": 0,
"minimumPenaltyApr": 0,
"maximumPenaltyApr": 0,
"aprType": "variable",
"cashAdvanceFee": 0,
"lateFee": 0,
"foreignExchangeFee": 0,
"accountOpeningFee": 0,
"returnPaymentFee": 0,
"monthlyServiceFee": 0,
"recommendedCreditRatings": [
"excellent"
],
"recommendedCreditRatingsDisclaimer": "string",
"preQualified": true,
"preApproved": true,
"preSelected": true,
"foreignTransactionFee": 0,
"cardBenefits": [
"No Foreign Transaction Fees"
],
"rewardsDescription": "string",
"rewardsDisclaimer": "string",
"minDepositAmount": 0,
"minDepositDisclaimer": "string",
"badges": [
"string"
]
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | false | |
partner | Partner | false | |
marketplace | Partner | false | |
productType | ProductType | false | |
productSubType | ProductSubType | false | |
url | string [url] | false | |
recommendationScore | number | false | |
disclaimer | string | false | |
productSubTypeDisclaimer | string | false | |
expiresAt | string [date-time] | false | |
details | CreditCardOfferDetails | true |
CreditCardOfferDetails
{
"cardName": "string",
"cardImageUrl": "string",
"cardPurposes": [
"balance_transfer"
],
"ratesUrl": "string",
"maxPurchaseApr": 0,
"minPurchaseApr": 0,
"purchaseAprText": "string",
"purchaseAprDisclaimer": "string",
"maxPurchaseIntroApr": 0,
"minPurchaseIntroApr": 0,
"purchaseIntroAprTerm": 0,
"purchaseIntroAprTermUnit": "day",
"purchaseIntroAprText": "string",
"maxCashAdvanceApr": 0,
"minCashAdvanceApr": 0,
"cashAdvanceAprText": "string",
"maxCashAdvanceIntroApr": 0,
"minCashAdvanceIntroApr": 0,
"cashAdvanceIntroAprTerm": 0,
"cashAdvanceIntroAprTermUnit": "day",
"cashAdvanceIntroAprText": "string",
"maxBalanceTransferApr": 0,
"minBalanceTransferApr": 0,
"balanceTransferAprText": "string",
"maxBalanceTransferIntroApr": 0,
"minBalanceTransferIntroApr": 0,
"balanceTransferIntroAprTerm": 0,
"balanceTransferIntroAprTermUnit": "day",
"balanceTransferIntroAprText": "string",
"balanceTransferFee": 0,
"balanceTransferFeeDisclaimer": "string",
"maxAnnualFee": 0,
"minAnnualFee": 0,
"annualFeeDisclaimer": "string",
"annualIntroFee": 0,
"annualIntroFeeTerm": 0,
"introOfferAmount": 0,
"introOfferText": "string",
"introOfferType": "miles",
"details": [
"string"
],
"additionalDetails": [
"string"
],
"cardType": "visa",
"minimumCreditLine": 0,
"minimumPenaltyApr": 0,
"maximumPenaltyApr": 0,
"aprType": "variable",
"cashAdvanceFee": 0,
"lateFee": 0,
"foreignExchangeFee": 0,
"accountOpeningFee": 0,
"returnPaymentFee": 0,
"monthlyServiceFee": 0,
"recommendedCreditRatings": [
"excellent"
],
"recommendedCreditRatingsDisclaimer": "string",
"preQualified": true,
"preApproved": true,
"preSelected": true,
"foreignTransactionFee": 0,
"cardBenefits": [
"No Foreign Transaction Fees"
],
"rewardsDescription": "string",
"rewardsDisclaimer": "string",
"minDepositAmount": 0,
"minDepositDisclaimer": "string",
"badges": [
"string"
]
}
Name | Type | Required | Description |
---|---|---|---|
cardName | string | false | Display name of the card |
cardImageUrl | string [url] | true | URL of the card image |
cardPurposes | CardPurpose array | false | |
ratesUrl | string [url] | false | External link to card rates, terms, and conditions |
maxPurchaseApr | number [double] | false | Maximum purchase APR in percentage |
minPurchaseApr | number [double] | false | Minimum purchase APR in percentage |
purchaseAprText | string | false | Description of the purchase APR |
purchaseAprDisclaimer | string | false | Disclaimer for the purchase APR |
maxPurchaseIntroApr | number [double] | false | Maximum introductory purchase APR in percentage |
minPurchaseIntroApr | number [double] | false | Minimum introductory purchase APR in percentage |
purchaseIntroAprTerm | integer [int32] | false | Introductory purchase APR term length |
purchaseIntroAprTermUnit | TermUnit | false | |
purchaseIntroAprText | string | false | Description of the introductory purchase APR |
maxCashAdvanceApr | number [double] | false | Maximum cash advance APR in percentage |
minCashAdvanceApr | number [double] | false | Minimum cash advance APR in percentage |
cashAdvanceAprText | string | false | Description of the cash advance APR |
maxCashAdvanceIntroApr | number [double] | false | Maximum introductory cash advance APR in percentage |
minCashAdvanceIntroApr | number [double] | false | Minimum introductory cash advance APR in percentage |
cashAdvanceIntroAprTerm | integer [int32] | false | Introductory cash advance APR term length |
cashAdvanceIntroAprTermUnit | TermUnit | false | |
cashAdvanceIntroAprText | string | false | Description of the introductory cash advance APR |
maxBalanceTransferApr | number [double] | false | Maximum balance transfer APR in percentage |
minBalanceTransferApr | number [double] | false | Minimum balance transfer APR in percentage |
balanceTransferAprText | string | false | Description of the balance transfer APR |
maxBalanceTransferIntroApr | number [double] | false | Maximum introductory balance transfer APR in percentage |
minBalanceTransferIntroApr | number [double] | false | Minimum introductory balance transfer APR in percentage |
balanceTransferIntroAprTerm | integer [int32] | false | Introductory balance transfer APR term length |
balanceTransferIntroAprTermUnit | TermUnit | false | |
balanceTransferIntroAprText | string | false | Description of the introductory balance transfer APR |
balanceTransferFee | number [double] | false | Balance transfer fee as a percentage |
balanceTransferFeeDisclaimer | string | false | Disclaimer related to the balance transfer fee |
maxAnnualFee | number [double] | false | Maximum annual fee in dollars |
minAnnualFee | number [double] | false | Minimum annual fee in dollars |
annualFeeDisclaimer | string | false | Disclaimer for the annual fee |
annualIntroFee | number [double] | false | Introductory annual fee in dollars |
annualIntroFeeTerm | integer [int32] | false | Number of years the introductory annual fee is in effect |
introOfferAmount | number [double] | false | Amount of the introductory offer |
introOfferText | string | false | Description of the introductory offer |
introOfferType | IntroOfferType | false | |
details | string array | false | List of card features which must be prominently displayed with the offer |
additionalDetails | string array | false | List of card features which must be displayed with the offer |
cardType | CardType | true | |
minimumCreditLine | number [double] | false | Minimum credit line in dollars |
minimumPenaltyApr | number [double] | false | Minimum penalty APR in percentage |
maximumPenaltyApr | number [double] | false | Maximum penalty APR in percentage |
aprType | AprType | false | |
cashAdvanceFee | number [double] | false | Cash advance fee in dollars |
lateFee | number [double] | false | Late fee in dollars |
foreignExchangeFee | number [double] | false | Foreign exchange fee in dollars |
accountOpeningFee | number [double] | false | Account opening fee in dollars |
returnPaymentFee | number [double] | false | Return payment fee in dollars |
monthlyServiceFee | number [double] | false | Monthly service fee in dollars |
recommendedCreditRatings | ProvidedCreditRating array | false | |
recommendedCreditRatingsDisclaimer | string | false | Disclaimer about the recommended credit rating |
preQualified | boolean | true | |
preApproved | boolean | true | |
preSelected | boolean | true | Indicates that Engine by MoneyLion has determined that the user has an increased likelihood of being approved for this card. |
foreignTransactionFee | number [double] | false | Percentage represented in decimal format added to all foreign transactions |
cardBenefits | CardBenefit array | false | |
rewardsDescription | string | false | Description of rewards associated with the card |
rewardsDisclaimer | string | false | Disclaimer for rewards |
minDepositAmount | number [double] | false | Minimum deposit required in dollars |
minDepositDisclaimer | string | false | Disclaimer about the minimum deposit |
badges | string array | false |
ClientTags
{
"subid": [
"123"
]
}
Name | Type | Required | Description |
---|---|---|---|
[any key] | string array | false |
ConversionEventData
{
"payoutInCents": 0,
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
payoutInCents | integer [int32] | false | The number of cents paid out for the conversion event. |
productType | ProductType | false | The product type of the converted offer. |
EducationLevel
"high_school"
Enum |
---|
high_school |
associate |
bachelors |
masters |
doctorate |
other_grad_degree |
certificate |
did_not_graduate |
still_enrolled |
other |
EmploymentPayFrequency
"weekly"
Enum |
---|
weekly |
biweekly |
twice_monthly |
monthly |
EmploymentStatus
"employed"
Enum |
---|
employed |
employed_full_time |
employed_part_time |
military |
not_employed |
self_employed |
retired |
other |
EventData
{
"productType": "credit_card"
}
One Of |
---|
ApiApprovedEventData |
ApiRejectedEventData |
AppliedEventData |
ApprovedEventData |
ConversionEventData |
FundedEventData |
ListedEventData |
OfferClickedEventData |
OpenedEventData |
EventType
"leadCreated"
Enum |
---|
leadCreated |
appSubmitted |
apiApproved |
apiRejected |
offerClicked |
lenderQualifiedLead |
applied |
approved |
listed |
opened |
funded |
conversion |
FeaturedFinancialInstitution
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"logoUrl": "string"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | A unique identifier for the financial institution. |
name | string | true | The name of the financial institution. This value is subject tochange, so financialInstitutionUuid should be used for grouping. |
logoUrl | string [url] | true | The URL of an image logo for the associated financial institution. |
FederalInsuranceType
"fdic"
Enum |
---|
fdic |
ncua |
FinancialInstitutionLoanReport
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"logoUrl": "string",
"probabilities": [
{
"probability": 0,
"aprPercentMin": 0,
"aprPercentMax": 0,
"termMonthsMin": 0,
"termMonthsMax": 0,
"productSubType": "credit_card"
}
]
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | The unique identifier for the financial institution. |
name | string | true | The name of the financial institution. |
logoUrl | string | false | A URL of a logo for the financial institution. |
probabilities | LoanProbability array | true | The approval probabilities for the financial intitution. |
FundedEventData
{
"amount": 0,
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
amount | integer [int32] | false | The dollar amount of the offer that was funded. |
productType | ProductType | false | The product type of the funded offer. |
IdType
"driver_license"
Enum |
---|
driver_license |
state_id |
passport |
IncentiveDetails
{
"amount": 0,
"unit": "usd",
"display": "string",
"type": "cash_back"
}
Name | Type | Required | Description |
---|---|---|---|
amount | number [double] | true | |
unit | IncentiveUnit | true | |
display | string | true | |
type | IncentiveType | true |
IncentiveType
"cash_back"
Enum |
---|
cash_back |
other |
IncentiveUnit
"usd"
Enum |
---|
usd |
other |
GraduateDegreeType
"doctor_of_medicine"
Enum |
---|
doctor_of_medicine |
doctor_of_osteopathic_medicine |
doctor_of_optometry |
doctor_of_dental_medicine |
dentariae_medicinae_doctoris |
doctor_of_dental_surgery |
doctor_of_veterinary_medicine |
doctor_of_pharmacy |
veterinariae_medicinae_doctoris |
master_of_arts |
master_of_science |
master_of_research |
master_of_research_project |
master_of_studies |
master_of_business_administration |
master_of_library_science |
master_of_public_administration |
master_of_public_health |
master_of_laws |
master_of_arts_liberal_studies |
master_of_fine_arts |
master_of_music |
master_of_education |
master_of_engineering |
master_of_architecture |
juris_doctor |
other |
Gender
"male"
Enum |
---|
male |
female |
IntroOfferType
"miles"
Enum |
---|
miles |
points |
statement_credit |
Lead
{
"leadProviderName": "string",
"personalInformation": {
"firstName": "string",
"lastName": "string",
"aliasFirstName": "string",
"aliasLastName": "string",
"email": "[email protected]",
"city": "string",
"state": "AK",
"workPhone": "string",
"primaryPhone": "string",
"bestTimeToCall": "morning",
"address1": "string",
"address2": "string",
"addressMoveInDate": "2019-08-24",
"zipcode": "string",
"monthsAtAddress": 0,
"driversLicenseNumber": "string",
"driversLicenseState": "string",
"ipAddress": "string",
"activeMilitary": true,
"militaryVeteran": true,
"dateOfBirth": "2019-08-24",
"educationLevel": "high_school",
"ssn": "string",
"citizenshipStatus": "citizen"
},
"personalReferenceInformation": {
"firstName": "string",
"lastName": "string",
"primaryPhone": "string",
"relationType": "parent"
},
"loanInformation": {
"purpose": "auto",
"loanAmount": 0
},
"mortgageInformation": {
"propertyType": "rent",
"propertyValue": 0,
"mortgageBalance": 0,
"lenderName": "string",
"hasFHALoan": true,
"currentWithLoan": true,
"propertyStatus": "own_outright",
"mortgageType": "purchase",
"mortgageAmount": 0,
"downPaymentAmount": 0,
"propertyState": "string",
"propertyCounty": "string",
"propertyAddress1": "string",
"propertyAddress2": "string",
"propertyZipcode": "string",
"propertyCity": "string",
"refinanceAmount": 0,
"cashOutAmount": 0,
"occupancyType": "primary",
"refinanceType": "cash_out",
"propertySearchStatus": "found",
"numUnits": 0,
"closingDate": "2019-08-24",
"purchaseStatus": "no_offer",
"purchaseDate": "2019-08-24",
"monthlyHoaFee": 0,
"mortgageCompany": "string",
"mortgageEscrowAmount": 0
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"balance_transfer"
]
},
"savingsInformation": {
"minDepositAmount": 0,
"maxDepositAmount": 0
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 0
},
"financialInformation": {
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 0,
"monthlyNetIncome": 0,
"bankName": "string",
"bankRoutingNumber": "string",
"bankAccountType": "checking",
"creditCardDebt": 0,
"monthsAtBank": 0,
"bankAccountNumber": "string",
"monthlyDebt": 0,
"totalAssets": 0,
"monthlyHousingPayment": 0,
"availableAssets": 0,
"additionalIncome": 0,
"additionalIncomeFrequency": "weekly",
"hasDirectDeposit": true,
"totalUnsecuredDebt": 0
},
"employmentInformation": {
"employerName": "string",
"employerAddress": "string",
"employerAddress2": "string",
"employerCity": "string",
"employerPhone": "string",
"employerState": "string",
"employerZip": "string",
"jobTitle": "string",
"monthsEmployed": 0,
"directDeposit": true,
"payDate1": "2019-08-24",
"payDate2": "2019-08-24",
"startDate": "2019-08-24"
},
"legalInformation": {
"consentsToFcra": true,
"consentsToSms": true,
"consentsToTcpa": true,
"fcraLanguage": "string",
"tcpaLanguage": "string"
},
"educationInformation": {
"educationLevel": "high_school",
"graduateDegreeType": "doctor_of_medicine",
"universityAttended": "string",
"universityOpeId": "string",
"graduationDate": "2019-08-24",
"graduateGraduationDate": "2019-08-24",
"graduateLastAttendedDate": "2019-08-24",
"graduateUniversityAttended": "string",
"graduateUniversityOpeId": "string",
"undergraduateGraduationDate": "2019-08-24",
"undergraduateLastAttendedDate": "2019-08-24",
"undergraduateUniversityAttended": "string",
"undergraduateUniversityOpeId": "string"
},
"coApplicantInformation": {
"firstName": "string",
"lastName": "string",
"dateOfBirth": "2019-08-24",
"annualIncome": 0,
"streetAddress1": "string",
"streetAddress2": "string",
"city": "string",
"state": "AK",
"zipcode": "string"
},
"healthInformation": {
"gender": "male",
"heightInInches": 0,
"weightInPounds": 0,
"tobaccoSmoker": true
},
"identificationInformation": {
"idNumber": "string",
"idState": "string",
"idType": "driver_license"
},
"autoInsuranceInformation": {
"numberOfVehicles": 0,
"hasAutoInsurance": true
},
"refinanceLoans": [
{
"accountNumber": "string",
"incomeBasedRepayment": true,
"interestRate": 0,
"loanAmount": 0,
"loanServicer": "string",
"loanType": "federal_student_loan",
"nextPaymentAmount": 0,
"nextPaymentDate": "2019-08-24"
}
],
"clientTags": {
"subid": [
"123"
]
},
"sessionInformation": {
"ipAddress": "string",
"userAgent": "string",
"browserFingerprint": "string"
},
"leadActions": [
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"actionType": "initialized",
"actionDate": "2019-08-24T14:15:22Z",
"originatorKey": "string",
"demandSubAccountId": 0,
"rejectReason": "low_fico",
"amount": 0,
"originationFee": 0,
"offerClickId": 0,
"createdAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z"
}
],
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"companyUUID": "bb25b21f-4351-4e0a-bd6a-faa43df6ed9e",
"sessionUuid": "0688aee8-ffa9-4d26-9262-47526493535e",
"deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
"referralCompanyUuid": "427f8dd3-3534-47d8-a6af-90027e506eda",
"trackingUuid": "20d86745-12ef-4b8a-91e5-6d9947ac4592",
"isTest": true,
"status": "initialized",
"createdAt": "string",
"updatedAt": "string"
}
Name | Type | Required | Description |
---|---|---|---|
leadProviderName | string | true | Name of company which provided the lead |
personalInformation | LeadPersonalInformation | false | |
personalReferenceInformation | PersonalReferenceInformation | false | |
loanInformation | LeadLoanInformation | false | |
mortgageInformation | LeadMortgageInformation | false | |
creditCardInformation | LeadCreditCardInformation | false | |
savingsInformation | LeadSavingsInformation | false | |
creditInformation | LeadCreditInformation | false | |
financialInformation | LeadFinancialInformation | false | |
employmentInformation | LeadEmploymentInformation | false | |
legalInformation | LeadLegalInformation | false | |
educationInformation | LeadEducationInformation | false | |
coApplicantInformation | LeadCoApplicantInformation | false | |
healthInformation | LeadHealthInformation | false | |
identificationInformation | LeadIdentificationInformation | false | |
autoInsuranceInformation | LeadAutoInsuranceInformation | false | |
refinanceLoans | RefinanceLoanInformation array | false | |
clientTags | ClientTags | false | |
sessionInformation | LeadSessionInformation | false | |
leadActions | LeadAction array | false | |
uuid | string [uuid] | true | Primary UUID for a Lead |
companyUUID | string [uuid] | true | UUID for a company which created the Lead |
sessionUuid | string [uuid] | false | UUID used to link leads across verticals, unique per user per supply sub-account |
deviceId | string [uuid] | false | Unique identifier for the lead's device. |
referralCompanyUuid | string [uuid] | false | |
trackingUuid | string [uuid] | false | |
isTest | boolean | true | Whether a Lead was created using a test access token |
status | string | true | The furthest step of the funnel a Lead has reached |
createdAt | string | true | |
updatedAt | string | true |
LeadAutoInsuranceInformation
{
"numberOfVehicles": 0,
"hasAutoInsurance": true
}
Name | Type | Required | Description |
---|---|---|---|
numberOfVehicles | integer [int32] | false | |
hasAutoInsurance | boolean | false |
LeadBestTimeToCall
"morning"
Enum |
---|
morning |
afternoon |
evening |
night |
LeadCoApplicantInformation
{
"firstName": "string",
"lastName": "string",
"dateOfBirth": "2019-08-24",
"annualIncome": 0,
"streetAddress1": "string",
"streetAddress2": "string",
"city": "string",
"state": "AK",
"zipcode": "string"
}
Name | Type | Required | Description |
---|---|---|---|
firstName | string | false | |
lastName | string | false | |
dateOfBirth | string [date] | false | |
annualIncome | integer [int32] | false | |
streetAddress1 | string | false | Street address (primary address line) |
streetAddress2 | string | false | Secondary address line |
city | string | false | |
state | State | false | |
zipcode | string | false |
LeadCreditInformation
{
"providedCreditRating": "excellent",
"providedNumericCreditScore": 0
}
Name | Type | Required | Description |
---|---|---|---|
providedCreditRating | ProvidedCreditRating | false | |
providedNumericCreditScore | integer [int32] | false | FICO credit score provided by a Lead |
LeadCreditCardInformation
{
"allowAnnualFee": true,
"cardPurposes": [
"balance_transfer"
]
}
Name | Type | Required | Description |
---|---|---|---|
allowAnnualFee | boolean | false | |
cardPurposes | CardPurpose array | false | A list of card purposes in which the lead is interested |
LeadClientTagsResponse
{
"nextUrl": "string",
"shouldContinuePolling": true,
"data": [
{
"hash": "string",
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"key": "string",
"value": "string",
"createdAt": "2019-08-24T14:15:22Z"
}
]
}
Name | Type | Required | Description |
---|---|---|---|
nextUrl | string | true | A URL which identifies where the next batch of LeadClientTags can be queried for. |
shouldContinuePolling | boolean | true | If true, data is currently available at nextUrl . Calling the nextUrl at the current time will return the next batch of data. If false, calling nextUrl at the current time will return an error response from the API. Data will be made available at a later time (at the next hour mark). |
data | LeadClientTag array | true | Lead client tag data for the requested time window. |
LeadClientTag
{
"hash": "string",
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"key": "string",
"value": "string",
"createdAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
hash | string | true | A unique hash for the client tag to assist with deduplication. |
leadUuid | string [uuid] | true | The UUID of the lead that this client tag belongs to. |
key | string | true | The key of this client tag. |
value | string | true | The latest value for the client tag key. |
createdAt | string [date-time] | true | The time that this client tag was added to the lead. |
LeadCreateData
{
"summary": "A lead request",
"value": {
"productTypes": [
"loan",
"savings"
],
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"city": "New York",
"state": "NY",
"workPhone": "2125551234",
"primaryPhone": "2125556789",
"address1": "45 West 21st Street",
"address2": "5th Floor",
"zipcode": "10010",
"monthsAtAddress": 5,
"driversLicenseNumber": "111222333",
"driversLicenseState": "NY",
"ipAddress": "8.8.8.8",
"activeMilitary": false,
"militaryVeteran": true,
"dateOfBirth": "1993-10-09",
"ssn": "111-22-3333"
},
"loanInformation": {
"purpose": "debt_consolidation",
"loanAmount": 10000
},
"mortgageInformation": {
"propertyType": "condo",
"propertyStatus": "own_with_mortgage",
"propertyValue": 200000,
"mortgageBalance": 10000,
"lenderName": "Bank OF NY",
"hasFHALoan": true,
"currentWithLoan": true
},
"creditCardInformation": {
"allowAnnualFee": true,
"cardPurposes": [
"travel_incentives"
]
},
"savingsInformation": {
"minDepositAmount": 1000
},
"creditInformation": {
"providedCreditRating": "excellent",
"providedNumericCreditScore": 750
},
"financialInformation": {
"creditCardDebt": 5000,
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 120000,
"monthlyNetIncome": 10000,
"bankName": "Santander",
"bankRoutingNumber": "231372691",
"bankAccountType": "savings",
"monthsAtBank": 10,
"bankAccountNumber": "1234567890"
},
"employmentInformation": {
"employerName": "Engine by MoneyLion",
"employerAddress": "45 W 21st St",
"employerCity": "New York",
"employerState": "NY",
"employerZip": "10010",
"jobTitle": "Software Engineer",
"monthsEmployed": 14,
"directDeposit": true,
"payDate1": "2004-10-06",
"payDate2": "2004-11-06"
},
"educationInformation": {
"educationLevel": "masters",
"graduateDegreeType": "master_of_science",
"universityAttended": "Johns Hopkins University"
},
"coApplicantInformation": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1984-03-06",
"annualIncome": 100000,
"streetAddress1": "45 West 21st Street",
"streetAddress2": "5th Floor",
"city": "New York",
"state": "NY",
"zipcode": "10010"
},
"healthInformation": {
"gender": "male",
"heightInInches": 72,
"weightInPounds": 195,
"tobaccoSmoker": false
},
"autoInsuranceInformation": {
"numberOfVehicles": 1,
"hasAutoInsurance": true
},
"legalInformation": {
"consentsToFcra": true,
"consentsToTcpa": true,
"fcraLanguage": "By checking this box/clicking 'agree' I hereby consent to the 'E-Sign Agreement', the 'Credit Authorization Agreement', the Terms of Service and Privacy Policy, and I am providing written consent under the Fair Credit Reporting Act (FCRA) for [Engine by MoneyLion and/or Insert Company Name], its partners and financial institutions to obtain consumer report information from my credit profile. I request that my information be provided to their partners, lenders, and financial services partners to provide me with financial recommendations, which may also include debt relief, credit repair, credit monitoring or other related services",
"tcpaLanguage": "I agree to be contacted by [Engine by MoneyLion and/or Insert Company Name] its partners and their affiliated companies and financial institutions via email, postal mail service and/or at the telephone number(s) I have provided above to explore various financial products and services I inquired about, including contact through automatic dialing systems, artificial or pre-recorded voice messaging, or text message. Consent is not required as a condition to utilize the service, and you may choose to be contacted by an individual customer care representative(s) by calling XXXXX or emailing XXXX"
},
"clientTags": {
"hello": [
"world",
"there"
],
"something": [
"else"
]
}
}
}
Name | Type | Required | Description |
---|---|---|---|
productTypes | ProductType array | false | Product types in which the Lead is interested |
uuid | string [uuid] | false | Primary UUID for a Lead |
sessionUuid | string [uuid] | false | UUID used to link leads across verticals, unique per user per supply sub-account |
deviceId | string [uuid] | false | Unique identifier for the lead's device. |
loanInformation | LeadLoanInformation | false | |
personalInformation | LeadPersonalInformation | false | |
personalReferenceInformation | PersonalReferenceInformation | false | |
mortgageInformation | LeadMortgageInformation | false | |
creditCardInformation | LeadCreditCardInformation | false | |
savingsInformation | LeadSavingsInformation | false | |
creditInformation | LeadCreditInformation | false | |
financialInformation | LeadFinancialInformation | false | |
employmentInformation | LeadEmploymentInformation | false | |
legalInformation | LeadLegalInformation | false | |
educationInformation | LeadEducationInformation | false | |
coApplicantInformation | LeadCoApplicantInformation | false | |
healthInformation | LeadHealthInformation | false | |
autoInsuranceInformation | LeadAutoInsuranceInformation | false | |
refinanceLoans | RefinanceLoanInformation array | false | One or more loans that the lead wishes to refinance or consolidate |
identificationInformation | LeadIdentificationInformation | false | |
clientTags | ClientTags | false | |
sessionInformation | LeadSessionInformation | false | |
formCompleted | boolean | false | Whether the Lead has completed an application form |
referralCompanyUuid | string [uuid] | false | UUID of company from which the Lead was referred |
trackingUuid | string [uuid] | false | UUID for internal Engine by MoneyLion tracking purposes. This field should never be set by 3rd party API consumers |
LeadEducationInformation
{
"educationLevel": "high_school",
"graduateDegreeType": "doctor_of_medicine",
"universityAttended": "string",
"universityOpeId": "string",
"graduationDate": "2019-08-24",
"graduateGraduationDate": "2019-08-24",
"graduateLastAttendedDate": "2019-08-24",
"graduateUniversityAttended": "string",
"graduateUniversityOpeId": "string",
"undergraduateGraduationDate": "2019-08-24",
"undergraduateLastAttendedDate": "2019-08-24",
"undergraduateUniversityAttended": "string",
"undergraduateUniversityOpeId": "string"
}
Name | Type | Required | Description |
---|---|---|---|
educationLevel | EducationLevel | false | |
graduateDegreeType | GraduateDegreeType | false | |
universityAttended | string | false | Name of university where a lead received their undergraduate degree.A lookup service for possible universities is available from using the /leads/universities endpoint.To maximize returned offers, this string must match one of the names returned from the lookup. |
universityOpeId | string | false | |
graduationDate | string [date] | false | Date the lead graudated from undergrad (YYYY-MM-DD) |
graduateGraduationDate | string [date] | false | Lead's graduate school graduation date (YYYY-MM-DD) |
graduateLastAttendedDate | string [date] | false | Lead's last attended month/year for graduate school (YYYY-MM-DD) |
graduateUniversityAttended | string | false | Name of university where a lead received their graduate degree.A lookup service for possible universities is available from using the /leads/universities endpoint.To maximize returned offers, this string must match one of the names returned from the lookup. |
graduateUniversityOpeId | OpeId | false | |
undergraduateGraduationDate | string [date] | false | Date the lead graduated from undergrad (YYYY-MM-DD). |
undergraduateLastAttendedDate | string [date] | false | Lead's last attended month/year for undergrad (YYYY-MM-DD) |
undergraduateUniversityAttended | string | false | Name of university where a lead received their undergraduate degree.A lookup service for possible universities is available from using the /leads/universities endpoint.To maximize returned offers, this string must match one of the names returned from the lookup. |
undergraduateUniversityOpeId | string | false |
LeadEducationLevel
"high_school"
LeadEmploymentInformation
{
"employerName": "string",
"employerAddress": "string",
"employerAddress2": "string",
"employerCity": "string",
"employerPhone": "string",
"employerState": "string",
"employerZip": "string",
"jobTitle": "string",
"monthsEmployed": 0,
"directDeposit": true,
"payDate1": "2019-08-24",
"payDate2": "2019-08-24",
"startDate": "2019-08-24"
}
Name | Type | Required | Description |
---|---|---|---|
employerName | string | false | |
employerAddress | string | false | |
employerAddress2 | string | false | |
employerCity | string | false | |
employerPhone | string | false | |
employerState | string | false | |
employerZip | string | false | |
jobTitle | string | false | |
monthsEmployed | integer [int32] | false | |
directDeposit | boolean | false | Whether a Lead uses direct deposit for their salary |
payDate1 | string [date] | false | |
payDate2 | string [date] | false | |
startDate | string [date] | false | The date the lead started working at their current employer (YYYY-MM-DD) |
LeadFinancialInformation
{
"employmentStatus": "employed",
"employmentPayFrequency": "weekly",
"annualIncome": 0,
"monthlyNetIncome": 0,
"bankName": "string",
"bankRoutingNumber": "string",
"bankAccountType": "checking",
"creditCardDebt": 0,
"monthsAtBank": 0,
"bankAccountNumber": "string",
"monthlyDebt": 0,
"totalAssets": 0,
"monthlyHousingPayment": 0,
"availableAssets": 0,
"additionalIncome": 0,
"additionalIncomeFrequency": "weekly",
"hasDirectDeposit": true,
"totalUnsecuredDebt": 0
}
Name | Type | Required | Description |
---|---|---|---|
employmentStatus | EmploymentStatus | false | |
employmentPayFrequency | EmploymentPayFrequency | false | |
annualIncome | integer [int32] | false | |
monthlyNetIncome | integer [int32] | false | |
bankName | string | false | |
bankRoutingNumber | string | false | |
bankAccountType | BankAccountType | false | |
creditCardDebt | integer [int32] | false | |
monthsAtBank | integer [int32] | false | |
bankAccountNumber | string | false | |
monthlyDebt | integer [int32] | false | |
totalAssets | integer [int32] | false | |
monthlyHousingPayment | integer [int32] | false | |
availableAssets | integer [int32] | false | |
additionalIncome | integer [int32] | false | The amount of additional income the lead recieves |
additionalIncomeFrequency | EmploymentPayFrequency | false | The frequency the lead recieves additional income |
hasDirectDeposit | boolean | false | Do you have a direct deposit? |
totalUnsecuredDebt | integer [int32] | false | Approximate total unsecured debt in dollars |
LeadHealthInformation
{
"gender": "male",
"heightInInches": 0,
"weightInPounds": 0,
"tobaccoSmoker": true
}
Name | Type | Required | Description |
---|---|---|---|
gender | Gender | false | |
heightInInches | integer [int32] | false | |
weightInPounds | integer [int32] | false | |
tobaccoSmoker | boolean | false |
LeadIdentificationInformation
{
"idNumber": "string",
"idState": "string",
"idType": "driver_license"
}
Name | Type | Required | Description |
---|---|---|---|
idNumber | string | false | The ID number supplied by the lead |
idState | string | false | The state of issue of the supplied ID |
idType | IdType | false | The form of the ID number supplied by the lead |
LeadLegalInformation
{
"consentsToFcra": true,
"consentsToSms": true,
"consentsToTcpa": true,
"fcraLanguage": "string",
"tcpaLanguage": "string"
}
Name | Type | Required | Description |
---|---|---|---|
consentsToFcra | boolean | false | Whether the lead was shown, and consented to a Fair Credit Reporting Act notice |
consentsToSms | boolean | false | The lead agrees to recieve SMS text messages from the Financial Institution |
consentsToTcpa | boolean | false | Whether the lead was shown, and consented to a Telephone Consumer Protection Act notice |
fcraLanguage | string | false | The exact FCRA language to which the lead consented |
tcpaLanguage | string | false | The exact TCPA language to which the lead consented |
LeadLoanInformation
{
"purpose": "auto",
"loanAmount": 0
}
Name | Type | Required | Description |
---|---|---|---|
purpose | LoanPurpose | false | |
loanAmount | integer [int32] | false |
LeadMortgageInformation
{
"propertyType": "rent",
"propertyValue": 0,
"mortgageBalance": 0,
"lenderName": "string",
"hasFHALoan": true,
"currentWithLoan": true,
"propertyStatus": "own_outright",
"mortgageType": "purchase",
"mortgageAmount": 0,
"downPaymentAmount": 0,
"propertyState": "string",
"propertyCounty": "string",
"propertyAddress1": "string",
"propertyAddress2": "string",
"propertyZipcode": "string",
"propertyCity": "string",
"refinanceAmount": 0,
"cashOutAmount": 0,
"occupancyType": "primary",
"refinanceType": "cash_out",
"propertySearchStatus": "found",
"numUnits": 0,
"closingDate": "2019-08-24",
"purchaseStatus": "no_offer",
"purchaseDate": "2019-08-24",
"monthlyHoaFee": 0,
"mortgageCompany": "string",
"mortgageEscrowAmount": 0
}
Name | Type | Required | Description |
---|---|---|---|
propertyType | PropertyType | false | |
propertyValue | integer [int32] | false | |
mortgageBalance | integer [int32] | false | |
lenderName | string | false | |
hasFHALoan | boolean | false | |
currentWithLoan | boolean | false | |
propertyStatus | PropertyStatus | false | |
mortgageType | MortgageType | false | |
mortgageAmount | integer [int32] | false | Amount the lead will borrow |
downPaymentAmount | integer [int32] | false | |
propertyState | string | false | |
propertyCounty | string | false | |
propertyAddress1 | string | false | Street address (primary address line) |
propertyAddress2 | string | false | Secondary address line |
propertyZipcode | string | false | |
propertyCity | string | false | |
refinanceAmount | integer [int32] | false | Amount the lead will borrow for refinancing an existing mortgage |
cashOutAmount | integer [int32] | false | Additional amount the lead will borrow against existing home equity in the case of refinance |
occupancyType | OccupancyType | false | |
refinanceType | RefinanceType | false | |
propertySearchStatus | PropertySearchStatus | false | |
numUnits | integer [int32] | false | The number of legal units on the property |
closingDate | string [date] | false | |
purchaseStatus | PurchaseStatus | false | |
purchaseDate | string [date] | false | |
monthlyHoaFee | number [float] | false | The amount of the HOA fee for the lead |
mortgageCompany | string | false | The name of the company holding the lead's mortgage |
mortgageEscrowAmount | number [float] | false | The amount of escrow the lead pays |
LeadPersonalInformation
{
"firstName": "string",
"lastName": "string",
"aliasFirstName": "string",
"aliasLastName": "string",
"email": "[email protected]",
"city": "string",
"state": "AK",
"workPhone": "string",
"primaryPhone": "string",
"bestTimeToCall": "morning",
"address1": "string",
"address2": "string",
"addressMoveInDate": "2019-08-24",
"zipcode": "string",
"monthsAtAddress": 0,
"driversLicenseNumber": "string",
"driversLicenseState": "string",
"ipAddress": "string",
"activeMilitary": true,
"militaryVeteran": true,
"dateOfBirth": "2019-08-24",
"educationLevel": "high_school",
"ssn": "string",
"citizenshipStatus": "citizen"
}
Name | Type | Required | Description |
---|---|---|---|
firstName | string | false | |
lastName | string | false | |
aliasFirstName | string | false | The first name the lead uses as an alias |
aliasLastName | string | false | The last name the lead uses as an alias |
string [email] | false | ||
city | string | false | |
state | State | false | |
workPhone | string | false | |
primaryPhone | string | false | |
bestTimeToCall | LeadBestTimeToCall | false | |
address1 | string | false | Street address (primary address line) |
address2 | string | false | Secondary address line |
addressMoveInDate | string [date] | false | The date the lead moved into their current address |
zipcode | string | false | |
monthsAtAddress | integer [int32] | false | Number of months the provided address has been the lead's primary residence |
driversLicenseNumber | string | false | |
driversLicenseState | string | false | State in which the driver's license was issued |
ipAddress | string [ip] | false | IP address |
activeMilitary | boolean | false | Whether the lead is currently in the military (not a veteran) |
militaryVeteran | boolean | false | Whether the lead is a veteran (should not be used if the lead is active in the military) |
dateOfBirth | string [date] | false | |
educationLevel | string | false | |
ssn | string | false | |
citizenshipStatus | CitizenshipStatus | false |
LeadSavingsInformation
{
"minDepositAmount": 0,
"maxDepositAmount": 0
}
Name | Type | Required | Description |
---|---|---|---|
minDepositAmount | integer [int64] | false | The minimum amount a Lead is interested in depositing when opening a new savings account |
maxDepositAmount | integer [int64] | false | The maximum amount a Lead is interested in depositing when opening a new savings account |
LeadSessionInformation
{
"ipAddress": "string",
"userAgent": "string",
"browserFingerprint": "string"
}
Name | Type | Required | Description |
---|---|---|---|
ipAddress | string | false | |
userAgent | string | false | |
browserFingerprint | string | false |
LeadAction
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"actionType": "initialized",
"actionDate": "2019-08-24T14:15:22Z",
"originatorKey": "string",
"demandSubAccountId": 0,
"rejectReason": "low_fico",
"amount": 0,
"originationFee": 0,
"offerClickId": 0,
"createdAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | |
actionType | LeadActionType | true | |
actionDate | string [date-time] | true | |
originatorKey | string | false | |
demandSubAccountId | integer [int64] | true | |
rejectReason | RejectReason | false | |
amount | integer [int32] | false | |
originationFee | integer [int32] | false | |
offerClickId | integer [int64] | false | |
createdAt | string [date-time] | true | |
deletedAt | string [date-time] | false |
LeadActionType
"initialized"
Enum |
---|
initialized |
api_rejected |
api_approved |
api_listing |
clicked_referral_link |
clicked_special_offer_link |
special_offer_conversion |
applied |
rejected |
approved |
listed |
funded |
not_funded |
clicked_credit_card_offer_link |
clicked_mortgage_offer_link |
clicked_savings_offer_link |
lender_qualified_lead |
LeadEvent
{
"id": "string",
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"leadCreatedAt": "2019-08-24T14:15:22Z",
"eventType": "leadCreated",
"eventCreatedAt": "2019-08-24T14:15:22Z",
"eventData": {
"productType": "credit_card"
},
"amountInCents": 0,
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295",
"financialInstitutionName": "string",
"productType": "credit_card",
"isTest": true
}
Name | Type | Required | Description |
---|---|---|---|
id | string | true | A hash of the leadUuid , eventType and eventCreatedAt which uniquely identifies a leadEvent. |
leadUuid | string [uuid] | true | The unique identifier for the associated lead. |
leadCreatedAt | string [date-time] | true | The time that the associated lead was created. |
eventType | EventType | true | |
eventCreatedAt | string [date-time] | true | The time that the event occurred. |
eventData | EventData | false | Supplemental data about the event that is specific to the eventType . For events that occur in a financial institution's experience, the availability of the data may vary depending on the FI. |
amountInCents | integer [int32] | false | The amount of liquidity provided to the end user by the FI. Only present for some events. |
financialInstitutionUuid | string [uuid] | false | A unique identifier for the associated financial institution. Only present for event types associated with financial institutions. |
financialInstitutionName | string | false | The name of the associated financial institution. This value is subject to change, so financialInstitutionUuid should be used as a stable identifier. Only present for event types associated with financial institutions. |
productType | ProductType | false | The product type for the associated offer. Only present for event types associated with offers. |
isTest | boolean | true | Whether a Lead was created using a test access token |
LeadEventResponse
{
"nextUrl": "string",
"shouldContinuePolling": true,
"data": [
{
"id": "string",
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"leadCreatedAt": "2019-08-24T14:15:22Z",
"eventType": "leadCreated",
"eventCreatedAt": "2019-08-24T14:15:22Z",
"eventData": {
"productType": "credit_card"
},
"amountInCents": 0,
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295",
"financialInstitutionName": "string",
"productType": "credit_card",
"isTest": true
}
]
}
Name | Type | Required | Description |
---|---|---|---|
nextUrl | string | true | The URL for the next request. |
shouldContinuePolling | boolean | true | If true, data is currently available at nextUrl . Calling the nextUrl at the current time will return the next batch of data. If false, calling nextUrl at the current time will return an error response from the API. Data will be made available at a later time (at the next hour mark). |
data | LeadEvent array | true | Lead event data for the requested time window. |
LeadPayout
{
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"bookedAt": "2019-08-24T14:15:22Z",
"payoutInCents": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"deletedAt": "2019-08-24T14:15:22Z",
"financialInstitutionName": "string",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
}
Name | Type | Required | Description |
---|---|---|---|
leadUuid | string [uuid] | true | The unique identifier for the associated lead. |
bookedAt | string [date-time] | true | The time that this payout to a supply partner was booked. |
payoutInCents | number [double] | false | The payout amount in cents made available to the supply partner. May be fractional. |
uuid | string [uuid] | false | The unique identifier for the associated payout event. |
deletedAt | string [date-time] | false | If a payout to a supply partner was revoked, this value will report the time that the payout was revoked. |
financialInstitutionName | string | false | The name of the associated financial institution. This value is subject to change, so financialInstitutionUuid should be used as a stable identifier. |
financialInstitutionUuid | string [uuid] | false | A unique identifier for the associated financial institution. Only present for event types associated with financial institutions. |
LeadPayoutResponse
{
"nextUrl": "string",
"shouldContinuePolling": true,
"data": [
{
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"bookedAt": "2019-08-24T14:15:22Z",
"payoutInCents": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"deletedAt": "2019-08-24T14:15:22Z",
"financialInstitutionName": "string",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
}
]
}
Name | Type | Required | Description |
---|---|---|---|
nextUrl | string | true | The URL for the next request. |
shouldContinuePolling | boolean | true | If true, data is currently available at nextUrl . Calling the nextUrl at the current time will return the next batch of data. If false, calling nextUrl at the current time will return an error response from the API. Data will be made available at a later time (at the next hour mark). |
data | LeadPayout array | true | Lead payout data for the requested time window. |
LeadUuid
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | UUID corresponding to the created Lead |
LifeInsuranceOffer
{
"details": {
"policyAmount": 0,
"termLength": 0,
"termUnit": "day",
"monthlyPremiumAmount": 0,
"annualPremiumAmount": 0,
"semiAnnualPremiumAmount": 0,
"onlineAppAvailable": true,
"noMedicalTest": true,
"packageType": "basic",
"recommended": true,
"medicalExam": "no_exam_if_qualified",
"policyName": "string",
"carrierDecisionType": "instant",
"partnerQuoteId": "string",
"convertToPermanent": true,
"childRider": "string",
"acceleratedDeathBenefit": true,
"waiverOfPremium": "string",
"isOnlineApplication": true,
"deliveryMethod": "string",
"examRequired": "string"
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | false | |
partner | Partner | false | |
marketplace | Partner | false | |
productType | ProductType | false | |
productSubType | ProductSubType | false | |
url | string [url] | false | |
recommendationScore | number | false | |
disclaimer | string | false | |
productSubTypeDisclaimer | string | false | |
expiresAt | string [date-time] | false | |
details | LifeInsuranceOfferDetails | true |
LifeInsuranceOfferDetails
{
"policyAmount": 0,
"termLength": 0,
"termUnit": "day",
"monthlyPremiumAmount": 0,
"annualPremiumAmount": 0,
"semiAnnualPremiumAmount": 0,
"onlineAppAvailable": true,
"noMedicalTest": true,
"packageType": "basic",
"recommended": true,
"medicalExam": "no_exam_if_qualified",
"policyName": "string",
"carrierDecisionType": "instant",
"partnerQuoteId": "string",
"convertToPermanent": true,
"childRider": "string",
"acceleratedDeathBenefit": true,
"waiverOfPremium": "string",
"isOnlineApplication": true,
"deliveryMethod": "string",
"examRequired": "string"
}
Name | Type | Required | Description |
---|---|---|---|
policyAmount | integer [int64] | true | Policy amount, in dollars |
termLength | integer [int64] | false | |
termUnit | TermUnit | false | |
monthlyPremiumAmount | number | true | Monthly premium amount, in dollars |
annualPremiumAmount | number | false | Annual premium amount, in dollars |
semiAnnualPremiumAmount | number | false | Semi-annual premium amount, in dollars |
onlineAppAvailable | boolean | false | Online application is available |
noMedicalTest | boolean | false | |
packageType | PackageType | false | |
recommended | boolean | false | Policy is recommended |
medicalExam | MedicalExam | false | |
policyName | string | false | The name of policy |
carrierDecisionType | CarrierDecisionType | false | |
partnerQuoteId | string | false | |
convertToPermanent | boolean | false | |
childRider | string | false | |
acceleratedDeathBenefit | boolean | false | |
waiverOfPremium | string | false | |
isOnlineApplication | boolean | false | |
deliveryMethod | string | false | |
examRequired | string | false |
ListedEventData
{
"amount": 0,
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
amount | integer [int32] | false | The dollar amount of the offer that was listed. |
productType | ProductType | false | The product type of the offer that was listed. |
LoanOffer
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"productType": "credit_card",
"productSubType": "credit_card",
"productSubTypeDisclaimer": "string",
"url": "string",
"originator": {
"key": "string",
"name": "string",
"description": "string",
"images": [
{
"sizeKey": "string",
"url": "string"
}
],
"disclaimer": "string",
"companyUuid": "fdfe4f8f-1fcb-4da9-b882-48ec3a9a0d16",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
},
"originatorId": "string",
"preQualified": true,
"preApproved": true,
"secured": true,
"coApplicant": true,
"sponsored": true,
"maxAmount": 0,
"minAmount": 0,
"termLength": 0,
"termUnit": "day",
"displayTermUnit": "string",
"termDescription": "string",
"maxApr": 0,
"minApr": 0,
"meanApr": 0,
"aprType": "variable",
"aprDescription": "string",
"feeRate": 0,
"maxFeeRate": 0,
"minFeeRate": 0,
"feeFixed": 0,
"maxFeeFixed": 0,
"minFeeFixed": 0,
"allowPrepayment": true,
"prepaymentFee": 0,
"monthlyPayment": 0,
"maxMonthlyPayment": 0,
"minMonthlyPayment": 0,
"monthlyPaymentDescription": "string",
"meanMonthlyPayment": 0,
"maxTotalPayment": 0,
"minTotalPayment": 0,
"meanTotalPayment": 0,
"recommendationScore": 0,
"payout": 0,
"conversionProbability": 0,
"terms": "string",
"amountPrefix": "string"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | |
productType | ProductType | true | |
productSubType | ProductSubType | true | |
productSubTypeDisclaimer | string | false | |
url | string [url] | false | |
originator | Originator | true | |
originatorId | string | false | |
preQualified | boolean | true | |
preApproved | boolean | true | |
secured | boolean | true | |
coApplicant | boolean | true | |
sponsored | boolean | true | |
maxAmount | integer [int32] | true | |
minAmount | integer [int32] | false | |
termLength | integer [int32] | false | |
termUnit | TermUnit | false | |
displayTermUnit | string | false | |
termDescription | string | false | |
maxApr | number | false | |
minApr | number | false | |
meanApr | number | false | |
aprType | AprType | true | |
aprDescription | string | false | |
feeRate | number | false | The maximum percent of loan amount fee for an offer. maxFeeRate should be used instead |
maxFeeRate | number | false | |
minFeeRate | number | false | |
feeFixed | number | false | The maximum fee, in dollars, for an offer. maxFeeFixed should be used instead |
maxFeeFixed | number | false | |
minFeeFixed | number | false | |
allowPrepayment | boolean | true | |
prepaymentFee | number | false | |
monthlyPayment | number | false | The estimated maximum monthly payment, in dollars, for an offer. maxMonthlyPayment should be used instead |
maxMonthlyPayment | number | false | |
minMonthlyPayment | number | false | |
monthlyPaymentDescription | string | false | |
meanMonthlyPayment | number | false | |
maxTotalPayment | number | false | |
minTotalPayment | number | false | |
meanTotalPayment | number | false | |
recommendationScore | number | false | |
payout | number | false | |
conversionProbability | number | false | |
terms | string | false | |
amountPrefix | string | false | Some loan offers require a prefix (e.g. up to* ) to be displayed to the left of the displayed loan amount. This is a nullable field that may be up to six characters long. |
LoanPurpose
"auto"
Enum |
---|
auto |
auto_purchase |
auto_refinance |
baby |
boat |
business |
car_repair |
cosmetic |
credit_card_refi |
debt_consolidation |
emergency |
engagement |
green |
home_improvement |
home_purchase |
home_refi |
household_expenses |
large_purchases |
life_event |
medical_dental |
motorcycle |
moving_relocation |
other |
rv |
special_occasion |
student_loan |
student_loan_refi |
taxes |
unknown |
vacation |
wedding |
LoanProbability
{
"probability": 0,
"aprPercentMin": 0,
"aprPercentMax": 0,
"termMonthsMin": 0,
"termMonthsMax": 0,
"productSubType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
probability | number [double] | true | The likelihood of approval for loans that match the criteria. |
aprPercentMin | number [double] | true | The minimum APR for loans with this approval probability. |
aprPercentMax | number [double] | true | The maximum APR for loans with this approval probability. |
termMonthsMin | integer [int64] | true | The minimum term length for loans with this approval probability. |
termMonthsMax | integer [int64] | true | The maximum term length for loans with this approval probability. |
productSubType | string | false | The optional loan sub-type of loans with this approval probability. |
LoanReport
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"annualIncome": 0,
"creditRating": "excellent",
"totalDebt": 0,
"countOfDerogatories": 0,
"state": "AK",
"loanPurpose": "auto",
"loanAmount": 0,
"networkProbabilities": [
{
"probability": 0,
"aprPercentMin": 0,
"aprPercentMax": 0,
"termMonthsMin": 0,
"termMonthsMax": 0,
"productSubType": "credit_card"
}
],
"financialInsitutions": [
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"logoUrl": "string",
"probabilities": [
{
"probability": 0,
"aprPercentMin": 0,
"aprPercentMax": 0,
"termMonthsMin": 0,
"termMonthsMax": 0,
"productSubType": "credit_card"
}
]
}
],
"createdAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | A unique identifier for this report. |
annualIncome | integer [int32] | true | The user's annual income in dollars. |
creditRating | string | true | The user's credit score range. |
totalDebt | integer [int32] | false | The user's total debt in dollars. |
countOfDerogatories | integer [int32] | false | The number of derogatory accounts listed on the user's credit report. |
state | string [state] | false | The user's state of residence. |
loanPurpose | string | false | The reason for the loan. |
loanAmount | integer [int32] | false | The size of the the loan. |
networkProbabilities | LoanProbability array | true | Probabilities for classes of loans, irrespective of financial institution. |
financialInsitutions | FinancialInstitutionLoanReport array | true | Probabilities broken out for specific financial institutions. |
createdAt | string [date-time] | true | When this report was created. |
LoanReportCreateData
{
"annualIncome": 0,
"creditRating": "excellent",
"totalDebt": 0,
"countOfDerogatories": 0,
"state": "AK",
"loanPurpose": "auto",
"loanAmount": 0
}
Name | Type | Required | Description |
---|---|---|---|
annualIncome | integer [int32] | true | The user's annual income in dollars. |
creditRating | string | true | The user's credit score range. |
totalDebt | integer [int32] | false | The user's total debt in dollars. |
countOfDerogatories | integer [int32] | false | The number of derogatory accounts listed on the user's credit report. |
state | string [state] | false | The user's state of residence. |
loanPurpose | string | false | The reason for the loan. |
loanAmount | integer [int32] | false | The size of the the loan. |
MedicalExam
"no_exam_if_qualified"
Enum |
---|
no_exam_if_qualified |
no_exam_guaranteed |
exam_required |
MortgageAdjustmentType
"credits"
Enum |
---|
credits |
par |
points |
MortgageLoanType
"fifteen_year_fixed"
Enum |
---|
fifteen_year_fixed |
thirty_year_fixed |
five_one_adjustable |
seven_one_adjustable |
ten_one_adjustable |
MortgageOffer
{
"details": {
"interestRate": 0,
"loanType": "fifteen_year_fixed",
"priceAdjustment": 0,
"monthlyPayment": 0,
"netClosingCosts": 0,
"apr": 0,
"loanTerm": 0,
"adjustmentType": "credits"
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | false | |
partner | Partner | false | |
marketplace | Partner | false | |
productType | ProductType | false | |
productSubType | ProductSubType | false | |
url | string [url] | false | |
recommendationScore | number | false | |
disclaimer | string | false | |
productSubTypeDisclaimer | string | false | |
expiresAt | string [date-time] | false | |
details | MortgageOfferDetails | true |
MortgageOfferDetails
{
"interestRate": 0,
"loanType": "fifteen_year_fixed",
"priceAdjustment": 0,
"monthlyPayment": 0,
"netClosingCosts": 0,
"apr": 0,
"loanTerm": 0,
"adjustmentType": "credits"
}
Name | Type | Required | Description |
---|---|---|---|
interestRate | number | true | |
loanType | MortgageLoanType | true | |
priceAdjustment | number | true | |
monthlyPayment | number | true | |
netClosingCosts | number | true | |
apr | number | true | |
loanTerm | integer [int32] | true | |
adjustmentType | MortgageAdjustmentType | true |
MortgageType
"purchase"
Enum |
---|
purchase |
refinance |
OccupancyType
"primary"
Enum |
---|
primary |
secondary |
investment |
Offer
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | |
partner | Partner | true | |
marketplace | Partner | false | |
productType | ProductType | true | |
productSubType | ProductSubType | true | |
url | string [url] | true | |
recommendationScore | number | false | |
disclaimer | string | false | |
productSubTypeDisclaimer | string | false | |
expiresAt | string [date-time] | false |
OfferClickedEventData
{
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
productType | ProductType | false | The product type of the clicked offer. |
OfferDisplay
{
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"rateTableUuid": "f4dda88e-e5bc-42b2-81a8-c348b4b628db",
"offerUuid": "5d19bb70-d72b-45ae-9b5e-c4257877bdbb",
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e"
}
Name | Type | Required | Description |
---|---|---|---|
id | integer [int64] | true | |
uuid | string [uuid] | true | |
leadUuid | string [uuid] | true | |
rateTableUuid | string [uuid] | true | |
offerUuid | string [uuid] | true | |
createdAt | string [date-time] | true | |
createdBy | string [uuid] | true |
OfferDisplayCreateData
{
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"rateTableUuid": "f4dda88e-e5bc-42b2-81a8-c348b4b628db",
"offerUuid": "5d19bb70-d72b-45ae-9b5e-c4257877bdbb"
}
Name | Type | Required | Description |
---|---|---|---|
leadUuid | string [uuid] | true | |
rateTableUuid | string [uuid] | true | |
offerUuid | string [uuid] | true |
OpeId
"string"
OpenedEventData
{
"productType": "credit_card"
}
Name | Type | Required | Description |
---|---|---|---|
productType | ProductType | false | The product type of the offer for which the account was opened. |
Originator
{
"key": "string",
"name": "string",
"description": "string",
"images": [
{
"sizeKey": "string",
"url": "string"
}
],
"disclaimer": "string",
"companyUuid": "fdfe4f8f-1fcb-4da9-b882-48ec3a9a0d16",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
}
Name | Type | Required | Description |
---|---|---|---|
key | string | true | |
name | string | true | |
description | string | false | |
images | OriginatorImage array | true | |
disclaimer | string | false | |
companyUuid | string [uuid] | false | |
financialInstitutionUuid | string [uuid] | false | A unique identifier for the associated financial institution. Only present for event types associated with financial institutions. |
OriginatorImage
{
"sizeKey": "string",
"url": "string"
}
Name | Type | Required | Description |
---|---|---|---|
sizeKey | string | true | |
url | string | true |
PackageType
"basic"
Enum |
---|
basic |
essential |
elite |
Partner
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | |
name | string | true | |
description | string | true | |
disclaimer | string | true | |
supportsPreSelect | boolean | true | |
shouldDisplayPreSelect | boolean | true | |
supportsPersonalizedOffers | boolean | true | Whether the partner supports returning pre-qualified or pre-approved offers |
imageUrl | string [url] | true | |
subtextOverride | string | false |
PendingResponse
{
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productTypes": [
"credit_card"
]
}
Name | Type | Required | Description |
---|---|---|---|
partner | Partner | true | |
productTypes | ProductType array | true |
PersonalReferenceInformation
{
"firstName": "string",
"lastName": "string",
"primaryPhone": "string",
"relationType": "parent"
}
Name | Type | Required | Description |
---|---|---|---|
firstName | string | false | The first name of the personal reference supplied by the lead |
lastName | string | false | The last name of the personal reference supplied by the lead |
primaryPhone | string | false | The phone number of the personal reference supplied by the lead |
relationType | PersonalReferenceRelationType | false | The relation of the personal reference supplied by the lead |
PersonalReferenceRelationType
"parent"
Enum |
---|
parent |
employer |
spouse |
guardian |
sibling |
relative |
friend |
other |
ProductType
"credit_card"
Enum |
---|
credit_card |
generic |
auto_insurance |
insurance |
life_insurance |
loan |
mortgage |
savings |
other |
unknown |
ProductSubType
"credit_card"
Enum |
---|
credit_card |
secured_card |
student_card |
personal_loan |
secured_loan |
student_loan_refinance |
co_applicant_loan |
line_of_credit |
automobile_refinance |
home_equity_line_of_credit |
purchase |
refinance |
savings_account |
money_market_account |
certificate_of_deposit |
individual_retirement_account |
cash_management_account |
high_interest_checking |
checking |
accidental_death_benefits |
term_life |
term_life_instant |
whole_life |
debt_relief |
installment_loans |
credit_builder |
cash_advance |
credit_repair |
education_offers |
employment_opportunity |
financial_wellness |
direct_affiliate |
overdraft_protection |
revenue_based_financing |
installment_loan_more_offers |
credit_card_more_offers |
credit_repair_more_offers |
student_loan |
health |
auto_and_vehicle |
games |
home |
rewards |
life_insurance |
auto_insurance |
specialty_vehicle_insurance |
home_owners_insurance |
renters_insurance |
uncategorized |
cash_advance_moneylion |
unknown |
ProvidedCreditRating
"excellent"
Enum |
---|
excellent |
good |
fair |
poor |
limited |
unknown |
PropertyStatus
"own_outright"
Enum |
---|
own_outright |
own_with_mortgage |
rent |
PropertySearchStatus
"found"
Enum |
---|
found |
not_found |
PropertyType
"rent"
Enum |
---|
rent |
condo |
multi_unit |
single_family |
townhouse |
PurchaseStatus
"no_offer"
Enum |
---|
no_offer |
offer_accepted |
offer_pending |
under_contract |
RateTable
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"leadUuid": "5510f6c4-1e4d-436b-ae63-0e2a915ce318",
"loanAmount": 0,
"embedUrl": "string",
"partnerPageUrl": "string",
"creditCardOffers": [
{
"details": {
"cardName": "string",
"cardImageUrl": "string",
"cardPurposes": [
"balance_transfer"
],
"ratesUrl": "string",
"maxPurchaseApr": 0,
"minPurchaseApr": 0,
"purchaseAprText": "string",
"purchaseAprDisclaimer": "string",
"maxPurchaseIntroApr": 0,
"minPurchaseIntroApr": 0,
"purchaseIntroAprTerm": 0,
"purchaseIntroAprTermUnit": "day",
"purchaseIntroAprText": "string",
"maxCashAdvanceApr": 0,
"minCashAdvanceApr": 0,
"cashAdvanceAprText": "string",
"maxCashAdvanceIntroApr": 0,
"minCashAdvanceIntroApr": 0,
"cashAdvanceIntroAprTerm": 0,
"cashAdvanceIntroAprTermUnit": "day",
"cashAdvanceIntroAprText": "string",
"maxBalanceTransferApr": 0,
"minBalanceTransferApr": 0,
"balanceTransferAprText": "string",
"maxBalanceTransferIntroApr": 0,
"minBalanceTransferIntroApr": 0,
"balanceTransferIntroAprTerm": 0,
"balanceTransferIntroAprTermUnit": "day",
"balanceTransferIntroAprText": "string",
"balanceTransferFee": 0,
"balanceTransferFeeDisclaimer": "string",
"maxAnnualFee": 0,
"minAnnualFee": 0,
"annualFeeDisclaimer": "string",
"annualIntroFee": 0,
"annualIntroFeeTerm": 0,
"introOfferAmount": 0,
"introOfferText": "string",
"introOfferType": "miles",
"details": [
"string"
],
"additionalDetails": [
"string"
],
"cardType": "visa",
"minimumCreditLine": 0,
"minimumPenaltyApr": 0,
"maximumPenaltyApr": 0,
"aprType": "variable",
"cashAdvanceFee": 0,
"lateFee": 0,
"foreignExchangeFee": 0,
"accountOpeningFee": 0,
"returnPaymentFee": 0,
"monthlyServiceFee": 0,
"recommendedCreditRatings": [
"excellent"
],
"recommendedCreditRatingsDisclaimer": "string",
"preQualified": true,
"preApproved": true,
"preSelected": true,
"foreignTransactionFee": 0,
"cardBenefits": [
"No Foreign Transaction Fees"
],
"rewardsDescription": "string",
"rewardsDisclaimer": "string",
"minDepositAmount": 0,
"minDepositDisclaimer": "string",
"badges": [
"string"
]
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
],
"loanOffers": [
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"productType": "credit_card",
"productSubType": "credit_card",
"productSubTypeDisclaimer": "string",
"url": "string",
"originator": {
"key": "string",
"name": "string",
"description": "string",
"images": [
{
"sizeKey": "string",
"url": "string"
}
],
"disclaimer": "string",
"companyUuid": "fdfe4f8f-1fcb-4da9-b882-48ec3a9a0d16",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
},
"originatorId": "string",
"preQualified": true,
"preApproved": true,
"secured": true,
"coApplicant": true,
"sponsored": true,
"maxAmount": 0,
"minAmount": 0,
"termLength": 0,
"termUnit": "day",
"displayTermUnit": "string",
"termDescription": "string",
"maxApr": 0,
"minApr": 0,
"meanApr": 0,
"aprType": "variable",
"aprDescription": "string",
"feeRate": 0,
"maxFeeRate": 0,
"minFeeRate": 0,
"feeFixed": 0,
"maxFeeFixed": 0,
"minFeeFixed": 0,
"allowPrepayment": true,
"prepaymentFee": 0,
"monthlyPayment": 0,
"maxMonthlyPayment": 0,
"minMonthlyPayment": 0,
"monthlyPaymentDescription": "string",
"meanMonthlyPayment": 0,
"maxTotalPayment": 0,
"minTotalPayment": 0,
"meanTotalPayment": 0,
"recommendationScore": 0,
"payout": 0,
"conversionProbability": 0,
"terms": "string",
"amountPrefix": "string"
}
],
"mortgageOffers": [
{
"details": {
"interestRate": 0,
"loanType": "fifteen_year_fixed",
"priceAdjustment": 0,
"monthlyPayment": 0,
"netClosingCosts": 0,
"apr": 0,
"loanTerm": 0,
"adjustmentType": "credits"
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
],
"savingsOffers": [
{
"details": {
"name": "string",
"description": "string",
"details": "string",
"rate": 0,
"annualPercentYield": 0,
"compoundingMethod": "annually",
"introductoryPeriodMonths": 0,
"introductoryRate": 0,
"minimumDeposit": 0,
"minimumDepositWithFees": 0,
"monthlyFee": 0,
"checkWriting": true,
"effectiveAsOf": "2019-08-24T14:15:22Z",
"federalInsuranceType": "fdic",
"incentiveDetails": [
{
"amount": 0,
"unit": "usd",
"display": "string",
"type": "cash_back"
}
],
"cdTermUnit": "day",
"cdTermLength": 0
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
],
"specialOffers": [
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"desc": "string",
"url": "string",
"partnerName": "string",
"partnerImageUrl": "string",
"recommendationScore": 0,
"payout": 0,
"productSubType": "credit_card",
"disclaimer": "string",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
}
],
"pendingOriginators": [
{
"key": "string",
"name": "string",
"description": "string",
"images": [
{
"sizeKey": "string",
"url": "string"
}
],
"disclaimer": "string",
"companyUuid": "fdfe4f8f-1fcb-4da9-b882-48ec3a9a0d16",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
}
],
"pendingResponses": [
{
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productTypes": [
"credit_card"
]
}
]
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | Primary UUID for a RateTable |
leadUuid | string [uuid] | true | UUID of the associated Lead |
loanAmount | integer [int32] | false | Lead 's provided loan amount at the time of RateTable creation |
embedUrl | string [url] | false | A URL with which to build an iframe to embed rate table offer results in your experience. Only available to channels with integrations configured in control center. |
partnerPageUrl | string [url] | false | A partner page URL to send your user to see the rate table offer results. Only available to channels with integrations configured in control center. |
creditCardOffers | CreditCardOffer array | true | |
loanOffers | LoanOffer array | true | |
mortgageOffers | MortgageOffer array | true | |
savingsOffers | SavingsOffer array | true | |
specialOffers | SpecialOffer array | true | |
pendingOriginators | Originator array | true | List of originators which have been queried, but have not responded yet. This list only contains loan originators, and should no longer be used |
pendingResponses | PendingResponse array | true | List of demand partners which have been queried, but have not responded yet. It is a guarantee that no offers will be added to the rate table after this list is empty |
RefinanceLoanInformation
{
"accountNumber": "string",
"incomeBasedRepayment": true,
"interestRate": 0,
"loanAmount": 0,
"loanServicer": "string",
"loanType": "federal_student_loan",
"nextPaymentAmount": 0,
"nextPaymentDate": "2019-08-24"
}
Name | Type | Required | Description |
---|---|---|---|
accountNumber | string | false | The account number for a loan the lead is refinancing |
incomeBasedRepayment | boolean | false | If the repayment is income-based for a loan the lead is refinancing |
interestRate | number [float] | false | The interest rate for a loan the lead is refinancing |
loanAmount | integer [int32] | false | The loan amount for a loan the lead is refinancing |
loanServicer | string | false | The name of a loan servicer of a loan the lead is refinancing |
loanType | RefinanceLoanType | false | The loan type for a loan the lead is refinancing |
nextPaymentAmount | number [float] | false | The amount the next payment will be on a loan the lead is refinancing |
nextPaymentDate | string [date] | false | The next payment date for a loan the lead is refinancing |
RefinanceLoanType
"federal_student_loan"
Enum |
---|
federal_student_loan |
private_student_loan |
RefinanceType
"cash_out"
Enum |
---|
cash_out |
rate_term |
RejectReason
"low_fico"
Enum |
---|
low_fico |
no_fico |
major_derogatory |
underwriting_decline |
debt_to_income_ratio |
not_in_active_state |
incorrect_data_provided |
duplicate |
SavingsOffer
{
"details": {
"name": "string",
"description": "string",
"details": "string",
"rate": 0,
"annualPercentYield": 0,
"compoundingMethod": "annually",
"introductoryPeriodMonths": 0,
"introductoryRate": 0,
"minimumDeposit": 0,
"minimumDepositWithFees": 0,
"monthlyFee": 0,
"checkWriting": true,
"effectiveAsOf": "2019-08-24T14:15:22Z",
"federalInsuranceType": "fdic",
"incentiveDetails": [
{
"amount": 0,
"unit": "usd",
"display": "string",
"type": "cash_back"
}
],
"cdTermUnit": "day",
"cdTermLength": 0
},
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"partner": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"marketplace": {
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"description": "string",
"disclaimer": "string",
"supportsPreSelect": true,
"shouldDisplayPreSelect": true,
"supportsPersonalizedOffers": true,
"imageUrl": "string",
"subtextOverride": "string"
},
"productType": "credit_card",
"productSubType": "credit_card",
"url": "string",
"recommendationScore": 0,
"disclaimer": "string",
"productSubTypeDisclaimer": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | false | |
partner | Partner | false | |
marketplace | Partner | false | |
productType | ProductType | false | |
productSubType | ProductSubType | false | |
url | string [url] | false | |
recommendationScore | number | false | |
disclaimer | string | false | |
productSubTypeDisclaimer | string | false | |
expiresAt | string [date-time] | false | |
details | SavingsOfferDetails | true |
SavingsOfferDetails
{
"name": "string",
"description": "string",
"details": "string",
"rate": 0,
"annualPercentYield": 0,
"compoundingMethod": "annually",
"introductoryPeriodMonths": 0,
"introductoryRate": 0,
"minimumDeposit": 0,
"minimumDepositWithFees": 0,
"monthlyFee": 0,
"checkWriting": true,
"effectiveAsOf": "2019-08-24T14:15:22Z",
"federalInsuranceType": "fdic",
"incentiveDetails": [
{
"amount": 0,
"unit": "usd",
"display": "string",
"type": "cash_back"
}
],
"cdTermUnit": "day",
"cdTermLength": 0
}
Name | Type | Required | Description |
---|---|---|---|
name | string | false | |
description | string | false | |
details | string | false | |
rate | number | false | Annual interest rate |
annualPercentYield | number | true | |
compoundingMethod | CompoundingMethod | true | |
introductoryPeriodMonths | integer [int32] | false | |
introductoryRate | number | false | |
minimumDeposit | number | true | |
minimumDepositWithFees | number | false | |
monthlyFee | number | true | |
checkWriting | boolean | false | Whether the account allows checks |
effectiveAsOf | string [date-time] | true | When the offer was last validated, formatted as yyyy-MM-ddTHH:mm:ss.SSSZZ |
federalInsuranceType | string | false | The type of federal deposit insurance that applies to this offer, ifit was provided by the financial institution. Could be one of fdic forthe Federal Deposit Insurance Corporation, or ncua for the NationalCredit Union Administration. |
incentiveDetails | IncentiveDetails array | false | |
cdTermUnit | TermUnit | false | |
cdTermLength | integer [int32] | false |
SessionInit
{
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"sessionUuid": "0688aee8-ffa9-4d26-9262-47526493535e",
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e"
}
Name | Type | Required | Description |
---|---|---|---|
id | integer [int64] | true | |
uuid | string [uuid] | true | |
sessionUuid | string [uuid] | true | |
createdAt | string [date-time] | true | |
createdBy | string [uuid] | true |
SessionInitCreateData
{
"sessionUuid": "0688aee8-ffa9-4d26-9262-47526493535e"
}
Name | Type | Required | Description |
---|---|---|---|
sessionUuid | string [uuid] | false | You may specify the session's UUID; if you don't, one will be generated for you. |
SpecialOffer
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"desc": "string",
"url": "string",
"partnerName": "string",
"partnerImageUrl": "string",
"recommendationScore": 0,
"payout": 0,
"productSubType": "credit_card",
"disclaimer": "string",
"financialInstitutionUuid": "04da1391-4dfd-4103-aeec-373cd7afc295"
}
Name | Type | Required | Description |
---|---|---|---|
uuid | string [uuid] | true | |
name | string | true | |
desc | string | true | Description |
url | string [url] | true | |
partnerName | string | true | |
partnerImageUrl | string [url] | true | |
recommendationScore | number | false | |
payout | number | false | |
productSubType | ProductSubType | true | |
disclaimer | string | false | |
financialInstitutionUuid | string [uuid] | false | A unique identifier for the associated financial institution. Only present for event types associated with financial institutions. |
State
"AK"
Enum |
---|
AK |
AL |
AR |
AZ |
CA |
CO |
CT |
DC |
DE |
FL |
GA |
HI |
IA |
ID |
IL |
IN |
KS |
KY |
LA |
MA |
MD |
ME |
MI |
MN |
MO |
MS |
MT |
NC |
ND |
NE |
NH |
NJ |
NM |
NV |
NY |
OH |
OK |
OR |
PA |
PR |
RI |
SC |
SD |
TN |
TX |
UT |
VA |
VI |
VT |
WA |
WI |
WV |
WY |
TermUnit
"day"
Enum |
---|
day |
month |
year |
open |
VehicleDetails
{
"year": 0,
"make": "string",
"model": "string",
"trim": "string",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"ucgVehicleId": 0
}
Name | Type | Required | Description |
---|---|---|---|
year | integer [int32] | true | Year of the vehicle. |
make | string | true | Make of the vehicle. |
model | string | true | Model of the vehicle. |
trim | string | true | Trim of the vehicle. |
uuid | string [uuid] | true | A unique identifier for this vehicle. |
ucgVehicleId | integer [int64] | true | NADA Used Card Guide vehicle id. |
VehicleInformation
{
"monthlyPayment": 0,
"estimatedMileage": 0,
"vehicleIdentificationNumber": "string",
"vehicleUuid": "e0993456-73e5-4005-99de-b40f8aacc8f0"
}
Name | Type | Required | Description |
---|---|---|---|
monthlyPayment | number [int32] | false | The lead's monthly auto loan payment |
estimatedMileage | number [integer] | false | The vehicle's estimated number of miles driven |
vehicleIdentificationNumber | string | false | The vehicle identification number (VIN) of the financed vehicle |
vehicleUuid | string [uuid] | false | A vehicle UUID that corresponds to a valid combination of vehicle year, make, model, and trim. See the vehicle utility endpoints |