NAV Navigation
«  TO DEVELOPER CENTER
cURL JavaScript Python Ruby

Overview

The Engine by MoneyLion API is RESTful, encodes data as JSON and authenticates all requests. You can use it to do the following:

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:

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:

The response body will contain either the requested data, or the newly created resource.

Failure

There are four potential 4xx response codes:

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:

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:

Auto Loan Refinancing

Searching for automobile refinancing loans is just like searching for personal loans, but with some additional requirements:

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:

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

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:

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:

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:

  1. 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.

  2. LeadPayouts: This endpoint tracks payout by conversion on a per-lead basis.

  3. 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:

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:

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:

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

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"
  }
]
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
email 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