openapi: 3.0.3 info: title: Engine by MoneyLion Analytics Lead API version: 1.106.0 termsOfService: https://engine.tech/about/legal#terms contact: name: API Support url: https://engine.tech/docs email: help@engine.tech description: "### Introduction\n\nWelcome 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.\n\nRefer to [Developer Center](https://engine.tech/developer-center/loans-savings-second-look-marketplace/reporting-options-for-channel-partners/channel-partner-reporting-analytics-api-1) for detailed information on how to use this API.\n\nSupply 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, as well as an endpoint to obtain a snapshot of all information regarding a single lead. This document contains everything needed to understand and integrate with all 4 endpoints offered.\n### API Versions\nThis document describes version 3 of the Supply Analytics API. The previous version available to partners is referred to as version 1. Version 2 was an internal release.\nAll HTTP requests for this version must include header `API-Version: 2025-04-01`.\n\n### API Endpoints\n\nWe currently offer the following reporting endpoints providing real time insights into the funnel from user acquisition through conversion:\n\n1. 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.\n\n2. LeadPayouts: This endpoint tracks payout by conversion on a per-lead basis.\n\n3. 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. It's explained with examples in depth in the \"Get lead client tags endpoint\" section.\n\nThe above endpoints can be used to stream information into your system and will be referred to as streaming endpoints. Additionally, we have the following endpoint to access an on-demand snapshot of lead information:\n\n4. LeadsInfo: This endpoint provides a combined snapshot of information about a single lead — all of its events, payouts and client tags in a single request.\n\n### Basic Request to Supply Analytics API\n\nEvery request to the Supply Analytics API streaming endpoints will return a JSON object with the following properties:\n\n- `data` is the array of objects that should be analyzed / loaded into your\n database.\n\n- `nextUrl` is the URL that should be persisted and used for the next\n request. It will include a `paginationToken`.\n\n- `shouldContinuePolling` is a boolean which signals if calling `nextUrl`\n will have published data available.\n\n- `paginationToken` is an opaque cursor that identifies the end of the\n current page and is used for the next request. It is already included in\n `nextUrl` and also provided separately for convenience.\n\n\nEvents from financial institutions or other external systems may not be shared with Engine by MoneyLion for hours or days after they occur; using `paginationToken` ensures that backfilled records are not missed.\n\nA response contains all available data subject to the response size limit and any applied filters (such as `untilTimestamp`). Requesting a URL with a `sinceTimestamp` that is less than five minutes old will return an error, as it can take a few minutes to prepare the response. We suggest polling hourly as a starting point, but as long as you follow shouldContinuePolling, you can poll at any interval (>5 minutes). For convenience, we provide a `shouldContinuePolling` flag to indicate whether you should continue to poll the Supply Analytics endpoint. If `true`, continue with the `nextUrl`. If not, no further data is currently available.\n``` curl -X GET \\\n 'https://api.engine.tech/supplyAnalytics/leadEvents?sinceTimestamp=2019-08-24T14%3A15%3A22Z' \\\n -H 'Accept: application/json' \\\n -H 'Authorization: Bearer {access-token}' \\\n -H 'API-Version: 2025-04-01'\n```\nSince `paginationToken` is initially not known, the initial request may specify the `sinceTimestamp` parameter. In the absence of both of them, the endpoint will start with the oldest record in the system. The `nextUrl` from response will only include `paginationToken`.\n### Developer's Note About Time Zones\nTimestamps 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.\n### Developer's Note About Flexible JSON Objects\nEngine 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 remain compatible 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.\n### Backfilling\nWhen backfilling, the `sinceTimestamp` of your initial request URL should be to your starting point. You should request each subsequent URL in succession until you're caught up. You can use `untilTimestamp` to define the end time of backfill windows.\n\n### Resources\nPartners can contact their assigned Engine by MoneyLion Partner Manager or partnersupport@engine.tech for help.\n" servers: - url: https://api.engine.tech tags: - name: Lead description: '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](https://engine.tech/docs/api-reference/#financial-products). 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. ' paths: /leads/rateTables: post: x-implemented-by: service: lead path: /leads/rateTables summary: Submit lead description: 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](https://engine.tech/docs/api-reference/#even-financial-api-lead). operationId: submitLead security: - publishableBearerToken: [] tags: - Lead requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LeadCreateData' examples: loanLeadCreateData: $ref: '#/components/examples/LoanLeadCreateData' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RateTable' examples: pendingLoanRateTable: $ref: '#/components/examples/PendingLoanRateTable' '400': description: Invalid request content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: invalidSsn: $ref: '#/components/examples/InvalidSsn' '401': $ref: '#/components/responses/UnauthorizedRequest' '409': description: Duplicate lead content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: duplicateLead: $ref: '#/components/examples/DuplicateLead' /leads/{leadUuid}/rateTables: parameters: - name: leadUuid in: path required: true description: The UUID of the lead we want to create a rate table for. schema: type: string format: uuid post: summary: Submit a lead and get a rate table operationId: getRateTableForSpecifiedLead security: - publishableBearerToken: [] tags: - Lead requestBody: description: A Lead object required: true content: application/json: schema: $ref: '#/components/schemas/LeadCreateData' responses: '200': description: The generated `RateTable` content: application/json: schema: $ref: '#/components/schemas/RateTable' examples: pendingLoanRateTable: $ref: '#/components/examples/PendingLoanRateTable' '400': description: Bad Request content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' '401': $ref: '#/components/responses/UnauthorizedRequest' /originator/rateTables/{uuid}: parameters: - name: uuid in: path required: true schema: type: string format: uuid get: x-implemented-by: service: originator path: /rateTables/{uuid} summary: Get rate table description: '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](https://engine.tech/docs/api-reference/#even-financial-api-lead).' operationId: getRateTable security: - publishableBearerToken: [] tags: - Lead responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RateTable' examples: loanRateTable: $ref: '#/components/examples/LoanRateTable' '400': description: Malformed request content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: invalidUuidPathParameter: $ref: '#/components/examples/InvalidUuidPathParameter' '401': $ref: '#/components/responses/UnauthorizedRequest' '404': description: Unknown UUID content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: invalidRateTableReference: $ref: '#/components/examples/InvalidRateTableReference' /leads/{uuid}: parameters: - name: uuid in: path required: true schema: type: string format: uuid get: x-implemented-by: service: lead path: /leads/{uuid} summary: Get lead description: Get the lead for a specified UUID. If the UUID is unkown, a `404 Not Found` response will be returned. operationId: getLead security: - confidentialBearerToken: [] tags: - Lead responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Lead' examples: loanLead: $ref: '#/components/examples/LoanLead' '400': description: Malformed request content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: invalidUuidPathParameter: $ref: '#/components/examples/InvalidUuidPathParameter' '401': $ref: '#/components/responses/UnauthorizedRequest' '404': description: Unknown UUID content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: invalidRateTableReference: $ref: '#/components/examples/InvalidRateTableReference' patch: x-implemented-by: service: lead path: /leads/{uuid} summary: Update a lead description: Update a `Lead` by its UUID. Array fields (like `productTypes`) with new values are _merged_ with existing values. operationId: updateLead security: - confidentialBearerToken: [] tags: - Lead requestBody: description: A LeadCreateData object required: true content: application/json: schema: $ref: '#/components/schemas/LeadCreateData' responses: '200': description: Lead updated content: application/json: schema: $ref: '#/components/schemas/LeadUuid' example: uuid: 81c08fb9-559a-4bab-948c-ba38f8dd0dcc '400': description: Invalid data content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: invalid-uuid: value: - message: 'Cannot parse parameter uuid as UUID: Invalid UUID string: 123' invalid-body: value: - message: 'Invalid fields present: 123 is not a valid email' '401': $ref: '#/components/responses/UnauthorizedRequest' '404': description: '`Lead` with the given UUID does not exist' components: schemas: PropertyType: type: string enum: - rent - condo - multi_unit - single_family - townhouse PersonalReferenceRelationType: type: string enum: - parent - employer - spouse - guardian - sibling - relative - friend - other CardPurpose: type: string description: Purposes or categories related to a credit card enum: - balance_transfer - cash_back - earning_rewards - improve_credit - low_interest - new_to_credit - student - travel_incentives LeadSavingsInformationJson: type: object properties: minDepositAmount: type: integer format: int32 description: The minimum amount a `Lead` is interested in depositing when opening a new savings account maxDepositAmount: type: integer format: int32 description: The maximum amount a `Lead` is interested in depositing when opening a new savings account Originator: type: object required: - key - name - images properties: key: type: string name: type: string description: type: string images: type: array items: $ref: '#/components/schemas/OriginatorImage' disclaimer: type: string companyUuid: type: string format: uuid financialInstitutionUuid: type: string format: uuid description: 'A unique identifier for the associated financial institution. Only present for event types associated with financial institutions. ' LeadEmploymentInformationJson: type: object properties: employerName: type: string employerAddress: type: string employerAddress2: type: string employerCity: type: string employerPhone: type: string employerState: type: string employerZip: type: string jobTitle: type: string monthsEmployed: type: integer format: int32 directDeposit: type: boolean description: Whether a `Lead` uses direct deposit for their salary payDate1: type: string format: date payDate2: type: string format: date startDate: type: string format: date description: The date the lead started working at their current employer (YYYY-MM-DD) LeadUuid: type: object required: - uuid properties: uuid: type: string format: uuid description: UUID corresponding to the created `Lead` CreditCardOfferDetails: type: object required: - cardImageUrl - cardType - preQualified - preApproved - preSelected properties: cardName: type: string description: Display name of the card cardImageUrl: type: string format: url description: URL of the card image cardPurposes: type: array items: $ref: '#/components/schemas/CardPurpose' ratesUrl: type: string format: url description: External link to card rates, terms, and conditions maxPurchaseApr: type: number format: double description: Maximum purchase APR in percentage minPurchaseApr: type: number format: double description: Minimum purchase APR in percentage purchaseAprText: type: string description: Description of the purchase APR purchaseAprDisclaimer: type: string description: Disclaimer for the purchase APR maxPurchaseIntroApr: type: number format: double description: Maximum introductory purchase APR in percentage minPurchaseIntroApr: type: number format: double description: Minimum introductory purchase APR in percentage purchaseIntroAprTerm: type: integer format: int32 description: Introductory purchase APR term length purchaseIntroAprTermUnit: $ref: '#/components/schemas/TermUnit' purchaseIntroAprText: type: string description: Description of the introductory purchase APR regularIntroAprCombinedText: type: string description: Description of introductory and regular APR combined maxCashAdvanceApr: type: number format: double description: Maximum cash advance APR in percentage minCashAdvanceApr: type: number format: double description: Minimum cash advance APR in percentage cashAdvanceAprText: type: string description: Description of the cash advance APR maxCashAdvanceIntroApr: type: number format: double description: Maximum introductory cash advance APR in percentage minCashAdvanceIntroApr: type: number format: double description: Minimum introductory cash advance APR in percentage cashAdvanceIntroAprTerm: type: integer format: int32 description: Introductory cash advance APR term length cashAdvanceIntroAprTermUnit: $ref: '#/components/schemas/TermUnit' cashAdvanceIntroAprText: type: string description: Description of the introductory cash advance APR maxBalanceTransferApr: type: number format: double description: Maximum balance transfer APR in percentage minBalanceTransferApr: type: number format: double description: Minimum balance transfer APR in percentage balanceTransferAprText: type: string description: Description of the balance transfer APR maxBalanceTransferIntroApr: type: number format: double description: Maximum introductory balance transfer APR in percentage minBalanceTransferIntroApr: type: number format: double description: Minimum introductory balance transfer APR in percentage balanceTransferIntroAprTerm: type: integer format: int32 description: Introductory balance transfer APR term length balanceTransferIntroAprTermUnit: $ref: '#/components/schemas/TermUnit' balanceTransferIntroAprText: type: string description: Description of the introductory balance transfer APR balanceTransferFee: type: number format: double description: Balance transfer fee as a percentage balanceTransferFeeDisclaimer: type: string description: Disclaimer related to the balance transfer fee maxAnnualFee: type: number format: double description: Maximum annual fee in dollars minAnnualFee: type: number format: double description: Minimum annual fee in dollars annualFeeDisclaimer: type: string description: Disclaimer for the annual fee annualFeeText: type: string description: Description for the annual fee annualIntroFee: type: number format: double description: Introductory annual fee in dollars annualIntroFeeTerm: type: integer format: int32 description: Number of years the introductory annual fee is in effect introOfferAmount: type: number format: double description: Amount of the introductory offer introOfferText: type: string description: Description of the introductory offer introOfferDisclaimer: type: string description: Disclaimer for the introductory offer introOfferType: $ref: '#/components/schemas/IntroOfferType' introOfferTitle: type: string description: Title for the introductory offer details: type: array items: type: string description: List of card features which must be prominently displayed with the offer additionalDetails: type: array items: type: string description: List of card features which must be displayed with the offer previewDetails: type: array items: $ref: '#/components/schemas/PreviewDetail' description: Shorter list of descriptions and disclaimers suitable for display in a preview context cardType: $ref: '#/components/schemas/CardType' minimumCreditLine: type: number format: double description: Minimum credit line in dollars minimumPenaltyApr: type: number format: double description: Minimum penalty APR in percentage maximumPenaltyApr: type: number format: double description: Maximum penalty APR in percentage aprType: $ref: '#/components/schemas/AprType' cashAdvanceFee: type: number format: double description: Cash advance fee in dollars lateFee: type: number format: double description: Late fee in dollars foreignExchangeFee: type: number format: double description: Foreign exchange fee in dollars accountOpeningFee: type: number format: double description: Account opening fee in dollars returnPaymentFee: type: number format: double description: Return payment fee in dollars monthlyServiceFee: type: number format: double description: Monthly service fee in dollars recommendedCreditRatings: type: array items: $ref: '#/components/schemas/ProvidedCreditRating' recommendedCreditRatingsDisclaimer: type: string description: Disclaimer about the recommended credit rating recommendedCreditRatingsText: type: string description: Description about the recommended credit rating preQualified: type: boolean preApproved: type: boolean preSelected: type: boolean description: Indicates that Engine by MoneyLion has determined that the user has an increased likelihood of being approved for this card. foreignTransactionFee: type: number format: double description: Percentage represented in decimal format added to all foreign transactions earningProgram: type: object description: Credit card earning program details (arbitrary JSON object) cardBenefits: type: array items: $ref: '#/components/schemas/CardBenefit' rewardsDescription: type: string description: Description of rewards associated with the card rewardsDisclaimer: type: string description: Disclaimer for rewards rewardsTitle: type: string description: Title for rewards minDepositAmount: type: number format: double description: Minimum deposit required in dollars minDepositDisclaimer: type: string description: Disclaimer about the minimum deposit isITA: type: boolean description: Indicates if the card is an Invitation to Apply (ITA) offer badges: type: array items: type: string Offer: type: object required: - uuid - partner - productType - productSubType - url properties: uuid: type: string format: uuid partner: $ref: '#/components/schemas/Partner' marketplace: $ref: '#/components/schemas/Partner' productType: $ref: '#/components/schemas/ProductType' productSubType: $ref: '#/components/schemas/ProductSubType' url: type: string format: url recommendationScore: type: number disclaimer: type: string productSubTypeDisclaimer: type: string expiresAt: type: string format: date-time rank: type: integer MortgageLoanType: type: string enum: - ten_year_fixed - fifteen_year_fixed - twenty_year_fixed - thirty_year_fixed - forty_year_fixed - three_year_intro_30_year_adjustable - five_year_intro_30_year_adjustable - seven_year_intro_30_year_adjustable - ten_year_intro_30_year_adjustable LeadLoanInformationJson: type: object properties: purpose: $ref: '#/components/schemas/LoanPurpose' loanAmount: type: integer format: int32 SpecialOffer: type: object required: - uuid - name - desc - url - partnerName - partnerImageUrl - productSubType properties: uuid: type: string format: uuid name: type: string desc: type: string description: Description url: type: string format: url partnerName: type: string partnerImageUrl: type: string format: url recommendationScore: type: number payout: type: number productSubType: $ref: '#/components/schemas/ProductSubType' disclaimer: type: string financialInstitutionUuid: type: string format: uuid description: 'A unique identifier for the associated financial institution. Only present for event types associated with financial institutions. ' FederalInsuranceType: type: string enum: - fdic - ncua CreditCardOffer: type: object description: An offer for a credit card required: - details properties: details: $ref: '#/components/schemas/CreditCardOfferDetails' allOf: - $ref: '#/components/schemas/Offer' LoanOffer: type: object required: - uuid - originator - maxAmount - allowPrepayment - preQualified - preApproved - secured - coApplicant - sponsored - productType - productSubType - aprType properties: uuid: type: string format: uuid productType: $ref: '#/components/schemas/ProductType' productSubType: $ref: '#/components/schemas/ProductSubType' productSubTypeDisclaimer: type: string url: type: string format: url originator: $ref: '#/components/schemas/Originator' originatorId: type: string preQualified: type: boolean preApproved: type: boolean secured: type: boolean coApplicant: type: boolean sponsored: type: boolean deprecated: true maxAmount: type: integer format: int32 minAmount: type: integer format: int32 termLength: type: integer format: int32 termUnit: $ref: '#/components/schemas/TermUnit' displayTermUnit: type: string termDescription: type: string maxApr: type: number minApr: type: number meanApr: type: number aprType: $ref: '#/components/schemas/AprType' aprDescription: type: string feeRate: type: number description: The maximum percent of loan amount fee for an offer. `maxFeeRate` should be used instead deprecated: true maxFeeRate: type: number minFeeRate: type: number feeFixed: type: number description: The maximum fee, in dollars, for an offer. `maxFeeFixed` should be used instead deprecated: true maxFeeFixed: type: number minFeeFixed: type: number allowPrepayment: type: boolean prepaymentFee: type: number monthlyPayment: type: number description: The estimated maximum monthly payment, in dollars, for an offer. `maxMonthlyPayment` should be used instead deprecated: true maxMonthlyPayment: type: number minMonthlyPayment: type: number monthlyPaymentDescription: type: string meanMonthlyPayment: type: number maxTotalPayment: type: number minTotalPayment: type: number meanTotalPayment: type: number recommendationScore: type: number payout: type: number conversionProbability: type: number terms: type: string amountPrefix: type: string description: 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. ApiError: type: object properties: attribute: type: string description: '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: type: string description: 'A classification for this error, which can be used to render the appropriate custom error template, or take other programmatic actions. ' details: description: 'Variables associated with this error that can be injected into a custom error template, or used to parameterize any other programatic actions. ' allOf: - $ref: '#/components/schemas/ApiErrorDetails' message: type: string description: 'A human-readable, English description of the error. ' SavingsOffer: type: object description: An offer for a savings account required: - details properties: details: $ref: '#/components/schemas/SavingsOfferDetails' allOf: - $ref: '#/components/schemas/Offer' RefinanceType: type: string enum: - cash_out - rate_term LeadPersonalReferenceInformationJson: type: object properties: firstName: type: string description: The first name of the personal reference supplied by the lead lastName: type: string description: The last name of the personal reference supplied by the lead primaryPhone: type: string pattern: ^1?\d{10}$ description: The phone number of the personal reference supplied by the lead relationType: $ref: '#/components/schemas/PersonalReferenceRelationType' description: The relation of the personal reference supplied by the lead LeadFinancialInformation: type: object properties: employmentStatus: $ref: '#/components/schemas/EmploymentStatus' employmentPayFrequency: $ref: '#/components/schemas/EmploymentPayFrequency' annualIncome: type: integer format: int32 monthlyNetIncome: type: integer format: int32 bankName: type: string bankRoutingNumber: type: string bankAccountType: $ref: '#/components/schemas/BankAccountType' creditCardDebt: type: integer format: int32 monthsAtBank: type: integer format: int32 bankAccountNumber: type: string monthlyDebt: type: integer format: int32 totalAssets: type: integer format: int32 monthlyHousingPayment: type: integer format: int32 availableAssets: type: integer format: int32 additionalIncome: type: integer format: int32 description: The amount of additional income the lead recieves additionalIncomeFrequency: $ref: '#/components/schemas/EmploymentPayFrequency' description: The frequency the lead recieves additional income hasDirectDeposit: type: boolean description: Do you have a direct deposit? totalUnsecuredDebt: type: integer format: int32 description: Approximate total unsecured debt in dollars IntroOfferType: type: string enum: - miles - points - statement_credit EducationLevel: type: string enum: - high_school - associate - bachelors - masters - doctorate - other_grad_degree - certificate - did_not_graduate - still_enrolled - other BankAccountType: type: string enum: - checking - savings - other EmploymentStatus: type: string enum: - employed - employed_full_time - employed_part_time - military - not_employed - self_employed - retired - other IncentiveUnit: type: string description: 'Unit of measure for incentives. ' enum: - usd - other PreviewDetail: type: object properties: description: type: string disclaimer: type: string required: - description LeadCoApplicantInformationJson: type: object description: 'The personal information of a co-applicant that may be considered in the underwriting and approval of a loan. ' properties: firstName: type: string lastName: type: string dateOfBirth: type: string format: date annualIncome: type: integer format: int32 streetAddress1: type: string description: Street address (primary address line) streetAddress2: type: string description: Secondary address line city: type: string state: $ref: '#/components/schemas/State' zipcode: type: string pattern: ^\d{5}([-\s]\d{4})?$ LeadMortgageInformationJson: type: object properties: propertyType: $ref: '#/components/schemas/PropertyType' propertyValue: type: integer format: int32 mortgageBalance: type: integer format: int32 lenderName: type: string hasFHALoan: type: boolean currentWithLoan: type: boolean propertyStatus: $ref: '#/components/schemas/PropertyStatus' mortgageType: $ref: '#/components/schemas/MortgageType' mortgageAmount: type: integer format: int32 description: Amount the lead will borrow downPaymentAmount: type: integer format: int32 propertyState: type: string propertyCounty: type: string propertyAddress1: type: string description: Street address (primary address line) propertyAddress2: type: string description: Secondary address line propertyZipcode: type: string propertyCity: type: string refinanceAmount: type: integer format: int32 description: Amount the lead will borrow for refinancing an existing mortgage cashOutAmount: type: integer format: int32 description: Additional amount the lead will borrow against existing home equity in the case of refinance occupancyType: $ref: '#/components/schemas/OccupancyType' refinanceType: $ref: '#/components/schemas/RefinanceType' propertySearchStatus: $ref: '#/components/schemas/PropertySearchStatus' numUnits: type: integer format: int32 description: The number of legal units on the property closingDate: type: string format: date purchaseStatus: $ref: '#/components/schemas/PurchaseStatus' purchaseDate: type: string format: date monthlyHoaFee: type: number description: The amount of the HOA fee for the lead mortgageCompany: type: string description: The name of the company holding the lead's mortgage mortgageEscrowAmount: type: number description: The amount of escrow the lead pays includeFhaLoans: type: boolean description: 'If true, the lead will receive FHA loan offers; if false, they will not. ' includeVaLoans: type: boolean description: 'If true, the lead will receive VA loan offers; if false, they will not. ' requestedLoanTerms: type: array items: $ref: '#/components/schemas/MortgageLoanType' mortechCreditRating: $ref: '#/components/schemas/MortechCreditRating' RejectReason: type: string enum: - low_fico - no_fico - major_derogatory - underwriting_decline - debt_to_income_ratio - not_in_active_state - incorrect_data_provided - duplicate ApiErrorDetails: type: object additionalProperties: type: string IncentiveType: type: string description: 'Unit of measure for incentives. ' enum: - cash_back - other OpeId: type: string pattern: ^\d{6}[A-Za-z\d]{2}$ description: identification number used by the U.S. Department of Education's Office of Postsecondary Education (OPE) to identify schools that have Program Participation Agreements (PPA) so that its students are eligible to participate in Federal Student Financial Assistance programs under Title IV regulations. This is a 6-digit number followed by a 2-digit suffix used to identify branches, additional locations, and other entities that are part of the eligible institution. LeadPersonalInformation: type: object properties: firstName: type: string lastName: type: string aliasFirstName: type: string description: The first name the lead uses as an alias aliasLastName: type: string description: The last name the lead uses as an alias email: type: string format: email pattern: ^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ city: type: string state: $ref: '#/components/schemas/State' workPhone: type: string pattern: ^1?\d{10}$ primaryPhone: type: string pattern: ^1?\d{10}$ bestTimeToCall: $ref: '#/components/schemas/LeadBestTimeToCall' address1: type: string description: Street address (primary address line) address2: type: string description: Secondary address line addressMoveInDate: type: string format: date description: The date the lead moved into their current address zipcode: type: string pattern: ^\d{5}([-\s]\d{4})?$ monthsAtAddress: type: integer format: int32 description: Number of months the provided address has been the lead's primary residence driversLicenseNumber: type: string driversLicenseState: type: string description: State in which the driver's license was issued ipAddress: type: string format: ip description: IP address activeMilitary: type: boolean description: Whether the lead is currently in the military (not a veteran) militaryVeteran: type: boolean description: Whether the lead is a veteran (should not be used if the lead is active in the military) dateOfBirth: type: string format: date educationLevel: deprecated: true allOf: - $ref: '#/components/schemas/EducationLevel' ssn: type: string pattern: ^(?!\b(\d)\1+-(\d)\1+-(\d)\1+\b)(?!123-45-6789|219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$ citizenshipStatus: $ref: '#/components/schemas/CitizenshipStatus' CardType: type: string enum: - visa - mastercard - american_express - discover LeadActionType: type: string enum: - initialized - submitted PropertySearchStatus: type: string enum: - found - not_found TermUnit: type: string description: 'Unit of measure for offer term lengths, or open for a single term. ' enum: - day - month - year - open RefinanceLoanType: type: string enum: - federal_student_loan - private_student_loan CardBenefit: type: string description: Benefits or benefit categories related to a credit card 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 PendingResponse: type: object required: - partner - productTypes properties: partner: $ref: '#/components/schemas/Partner' productTypes: type: array items: $ref: '#/components/schemas/ProductType' offerCatalogProductTypes: type: array items: type: string LeadRefinanceLoanInformationJson: type: object title: Refinance loan information properties: accountNumber: type: string description: The account number for a loan the lead is refinancing incomeBasedRepayment: type: boolean description: If the repayment is income-based for a loan the lead is refinancing interestRate: type: number description: The interest rate for a loan the lead is refinancing loanAmount: type: integer format: int32 description: The loan amount for a loan the lead is refinancing loanServicer: type: string description: The name of a loan servicer of a loan the lead is refinancing loanType: $ref: '#/components/schemas/RefinanceLoanType' description: The loan type for a loan the lead is refinancing nextPaymentAmount: type: number description: The amount the next payment will be on a loan the lead is refinancing nextPaymentDate: type: string format: date description: The next payment date for a loan the lead is refinancing LeadCreateData: type: object properties: productTypes: type: array description: Product types in which the `Lead` is interested items: $ref: '#/components/schemas/ProductType' uuid: type: string format: uuid description: Primary UUID for a `Lead` sessionUuid: type: string format: uuid description: UUID used to link leads across verticals, unique per user per supply sub-account deviceId: type: string format: uuid description: Unique identifier for the lead's device. loanInformation: $ref: '#/components/schemas/LeadLoanInformationJson' personalInformation: $ref: '#/components/schemas/LeadPersonalInformation' personalReferenceInformation: $ref: '#/components/schemas/LeadPersonalReferenceInformationJson' mortgageInformation: $ref: '#/components/schemas/LeadMortgageInformationJson' creditCardInformation: $ref: '#/components/schemas/LeadCreditCardInformationJson' savingsInformation: $ref: '#/components/schemas/LeadSavingsInformationJson' creditInformation: $ref: '#/components/schemas/LeadCreditInformationJson' financialInformation: $ref: '#/components/schemas/LeadFinancialInformation' employmentInformation: $ref: '#/components/schemas/LeadEmploymentInformationJson' legalInformation: $ref: '#/components/schemas/LeadLegalInformationJson' educationInformation: $ref: '#/components/schemas/LeadEducationInformationJson' coApplicantInformation: $ref: '#/components/schemas/LeadCoApplicantInformationJson' healthInformation: $ref: '#/components/schemas/LeadHealthInformationJson' autoInsuranceInformation: $ref: '#/components/schemas/LeadAutoInsuranceInformationJson' refinanceLoans: type: array items: $ref: '#/components/schemas/LeadRefinanceLoanInformationJson' description: One or more loans that the lead wishes to refinance or consolidate identificationInformation: $ref: '#/components/schemas/LeadIdentificationInformationJson' clientTags: $ref: '#/components/schemas/LeadClientTagsJson' sessionInformation: $ref: '#/components/schemas/LeadSessionInformationJson' formCompleted: type: boolean description: Whether the `Lead` has completed an application form deprecated: true referralCompanyUuid: type: string format: uuid description: UUID of company from which the `Lead` was referred deprecated: true trackingUuid: type: string format: uuid description: UUID for internal Engine by MoneyLion tracking purposes. This field should never be set by 3rd party API consumers deprecated: true partnerUserId: type: string format: string description: A tracking identifier that references a unique user for an API partner example: productTypes: - loan - savings personalInformation: firstName: John lastName: Doe email: john@example.com 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 ProductSubType: type: string description: A type of financial product 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 - bill_reduction - 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 - buy_now_pay_later - home_equity_agreements - cash_advance_moneylion - unknown State: type: string format: state title: state description: A two character upper case state, Puerto Rico, or District of Columbia code 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 ProductType: type: string enum: - credit_card - generic - auto_insurance - insurance - life_insurance - loan - mortgage - savings - other - unknown CitizenshipStatus: type: string description: Citizenship status enum: - citizen - permanent_resident - other LoanPurpose: type: string 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 - vacation - wedding Partner: type: object required: - uuid - name - description - disclaimer - supportsPreSelect - shouldDisplayPreSelect - supportsPersonalizedOffers - imageUrl properties: uuid: type: string format: uuid name: type: string description: type: string disclaimer: type: string supportsPreSelect: type: boolean shouldDisplayPreSelect: type: boolean supportsPersonalizedOffers: type: boolean description: Whether the partner supports returning pre-qualified or pre-approved offers imageUrl: type: string format: url subtextOverride: type: string headquarters: type: string assets: type: string brandName: type: string description: The external-facing name that will appear on offer cards, marketing materials, and other end user touchpoints brandUuid: type: string format: uuid MortechCreditRating: type: string enum: - Excellent (780-850) - Excellent (760-779) - Excellent (740-759) - Good (720-739) - Good (700-719) - Fair (680-699) - Fair (660-679) - Poor (640-659) - Poor (620-639) - Poor (580-619) - Poor (Under 580) BatchConsentVersion: type: string enum: - v1 - v2 Gender: type: string enum: - male - female LeadIdentificationInformationJson: type: object properties: idNumber: type: string description: The ID number supplied by the lead idState: type: string description: The state of issue of the supplied ID idType: $ref: '#/components/schemas/IdType' description: The form of the ID number supplied by the lead LeadCreditInformationJson: type: object description: Credit history information relating to a `Lead` properties: providedCreditRating: $ref: '#/components/schemas/ProvidedCreditRating' providedNumericCreditScore: type: integer format: int32 description: FICO credit score provided by a `Lead` LeadClientTagsJson: type: object description: Arbitrary key-values mappings to associate with a `Lead`. This field can be use to attach `subid`s to a `Lead` additionalProperties: type: array items: type: string maxProperties: 1 minProperties: 1 example: subid: - '123' LeadSessionInformationJson: type: object description: Browsing session information accociated with a `Lead` properties: ipAddress: type: string userAgent: type: string browserFingerprint: type: string MortgageOffer: type: object description: An offer for a mortgage required: - details properties: details: $ref: '#/components/schemas/MortgageOfferDetails' allOf: - $ref: '#/components/schemas/Offer' IncentiveDetails: type: object required: - amount - unit - display - type properties: amount: type: number format: double unit: $ref: '#/components/schemas/IncentiveUnit' display: type: string maxLength: 20 type: $ref: '#/components/schemas/IncentiveType' MortgageType: type: string enum: - purchase - refinance PurchaseStatus: type: string enum: - no_offer - offer_accepted - offer_pending - under_contract SavingsOfferDetails: type: object required: - annualPercentYield - compoundingMethod - minimumDeposit - monthlyFee - effectiveAsOf properties: name: type: string description: type: string details: type: string rate: type: number description: Annual interest rate annualPercentYield: type: number compoundingMethod: $ref: '#/components/schemas/CompoundingMethod' introductoryPeriodMonths: type: integer format: int32 introductoryRate: type: number minimumDeposit: type: number minimumDepositWithFees: type: number monthlyFee: type: number checkWriting: type: boolean description: Whether the account allows checks effectiveAsOf: type: string format: date-time description: When the offer was last validated, formatted as yyyy-MM-ddTHH:mm:ss.SSSZZ federalInsuranceType: description: 'The type of federal deposit insurance that applies to this offer, if it was provided by the financial institution. Could be one of `fdic` for the Federal Deposit Insurance Corporation, or `ncua` for the National Credit Union Administration. ' allOf: - $ref: '#/components/schemas/FederalInsuranceType' incentiveDetails: type: array items: $ref: '#/components/schemas/IncentiveDetails' cdTermUnit: $ref: '#/components/schemas/TermUnit' cdTermLength: type: integer format: int32 impressionTrackingPixelUrls: type: array items: type: string format: url LeadLegalInformationJson: type: object description: Information regarding a `Lead`'s communication consent properties: consentsToFcra: type: boolean description: Whether the lead was shown, and consented to a Fair Credit Reporting Act notice consentsToSms: type: boolean description: The lead agrees to recieve SMS text messages from the Financial Institution consentsToTcpa: type: boolean description: Whether the lead was shown, and consented to a Telephone Consumer Protection Act notice batchConsentVersion: $ref: '#/components/schemas/BatchConsentVersion' fcraLanguage: type: string description: The exact FCRA language to which the lead consented tcpaLanguage: type: string description: The exact TCPA language to which the lead consented batchConsentLanguage: type: string description: The exact batch consent language to which the lead consented OriginatorImage: type: object required: - sizeKey - url properties: sizeKey: type: string url: type: string CompoundingMethod: type: string enum: - annually - continuous - daily - monthly - quarterly - semiAnnually - simple - weekly GraduateDegreeType: type: string 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 Lead: type: object required: - leadProviderName - uuid - companyUUID - isTest - status - createdAt - updatedAt properties: leadProviderName: type: string description: Name of company which provided the lead personalInformation: $ref: '#/components/schemas/LeadPersonalInformation' personalReferenceInformation: $ref: '#/components/schemas/LeadPersonalReferenceInformationJson' loanInformation: $ref: '#/components/schemas/LeadLoanInformationJson' mortgageInformation: $ref: '#/components/schemas/LeadMortgageInformationJson' creditCardInformation: $ref: '#/components/schemas/LeadCreditCardInformationJson' savingsInformation: $ref: '#/components/schemas/LeadSavingsInformationJson' creditInformation: $ref: '#/components/schemas/LeadCreditInformationJson' financialInformation: $ref: '#/components/schemas/LeadFinancialInformation' employmentInformation: $ref: '#/components/schemas/LeadEmploymentInformationJson' legalInformation: $ref: '#/components/schemas/LeadLegalInformationJson' educationInformation: $ref: '#/components/schemas/LeadEducationInformationJson' coApplicantInformation: $ref: '#/components/schemas/LeadCoApplicantInformationJson' healthInformation: $ref: '#/components/schemas/LeadHealthInformationJson' identificationInformation: $ref: '#/components/schemas/LeadIdentificationInformationJson' autoInsuranceInformation: $ref: '#/components/schemas/LeadAutoInsuranceInformationJson' refinanceLoans: type: array items: $ref: '#/components/schemas/LeadRefinanceLoanInformationJson' clientTags: $ref: '#/components/schemas/LeadClientTagsJson' sessionInformation: $ref: '#/components/schemas/LeadSessionInformationJson' leadActions: type: array items: $ref: '#/components/schemas/LeadAction' uuid: type: string format: uuid description: Primary UUID for a `Lead` companyUUID: type: string format: uuid description: UUID for a company which created the `Lead` sessionUuid: type: string format: uuid description: UUID used to link leads across verticals, unique per user per supply sub-account deviceId: type: string format: uuid description: Unique identifier for the lead's device. referralCompanyUuid: type: string format: uuid deprecated: true trackingUuid: type: string format: uuid partnerUserId: type: string format: string description: A tracking identifier that references a unique user for an API partner isTest: type: boolean description: Whether a `Lead` was created using a test access token status: description: The furthest step of the funnel a `Lead` has reached allOf: - $ref: '#/components/schemas/LeadActionType' createdAt: type: string updatedAt: type: string AprType: type: string enum: - variable - regular - fixed IdType: type: string enum: - driver_license - state_id - passport PropertyStatus: type: string enum: - own_outright - own_with_mortgage - rent MortgageAdjustmentType: type: string enum: - credits - par - points LeadHealthInformationJson: type: object properties: gender: $ref: '#/components/schemas/Gender' heightInInches: type: integer format: int32 weightInPounds: type: integer format: int32 tobaccoSmoker: type: boolean MortgageOfferDetails: type: object required: - interestRate - loanType - priceAdjustment - monthlyPayment - netClosingCosts - apr - loanTerm - adjustmentType properties: interestRate: type: number loanType: $ref: '#/components/schemas/MortgageLoanType' priceAdjustment: type: number monthlyPayment: type: number netClosingCosts: type: number apr: type: number loanTerm: type: integer format: int32 adjustmentType: $ref: '#/components/schemas/MortgageAdjustmentType' LeadBestTimeToCall: type: string enum: - morning - afternoon - evening - night LeadEducationInformationJson: type: object properties: educationLevel: $ref: '#/components/schemas/EducationLevel' graduateDegreeType: $ref: '#/components/schemas/GraduateDegreeType' universityAttended: type: string description: '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. ' deprecated: true universityOpeId: type: string $ref: '#/components/schemas/OpeId' graduationDate: type: string format: date description: Date the lead graudated from undergrad (YYYY-MM-DD) deprecated: true graduateGraduationDate: type: string format: date description: Lead's graduate school graduation date (YYYY-MM-DD) graduateLastAttendedDate: type: string format: date description: Lead's last attended month/year for graduate school (YYYY-MM-DD) graduateUniversityAttended: type: string description: '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: $ref: '#/components/schemas/OpeId' undergraduateGraduationDate: type: string format: date description: Date the lead graduated from undergrad (YYYY-MM-DD). undergraduateLastAttendedDate: type: string format: date description: Lead's last attended month/year for undergrad (YYYY-MM-DD) undergraduateUniversityAttended: type: string description: '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: type: string $ref: '#/components/schemas/OpeId' OccupancyType: type: string enum: - primary - secondary - investment EmploymentPayFrequency: type: string enum: - weekly - biweekly - twice_monthly - monthly ProvidedCreditRating: type: string enum: - excellent - good - fair - poor - limited - unknown LeadAction: type: object required: - uuid - actionType - actionDate - demandSubAccountId - createdAt properties: uuid: type: string format: uuid actionType: $ref: '#/components/schemas/LeadActionType' actionDate: type: string format: date-time originatorKey: type: string demandSubAccountId: type: integer format: int64 rejectReason: $ref: '#/components/schemas/RejectReason' amount: type: integer format: int32 originationFee: type: integer format: int32 offerClickId: type: integer format: int64 createdAt: type: string format: date-time deletedAt: type: string format: date-time RateTable: type: object description: A `RateTable` customized to a `Lead` input required: - uuid - leadUuid - creditCardOffers - loanOffers - mortgageOffers - savingsOffers - specialOffers - pendingOriginators - pendingResponses properties: uuid: type: string format: uuid description: Primary UUID for a `RateTable` leadUuid: type: string format: uuid description: UUID of the associated `Lead` loanAmount: type: integer format: int32 description: '`Lead`''s provided loan amount at the time of `RateTable` creation' createdAt: type: string format: date-time embedUrl: type: string format: url description: 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: type: string format: url description: 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: type: array items: $ref: '#/components/schemas/CreditCardOffer' loanOffers: type: array items: $ref: '#/components/schemas/LoanOffer' mortgageOffers: type: array items: $ref: '#/components/schemas/MortgageOffer' savingsOffers: type: array items: $ref: '#/components/schemas/SavingsOffer' specialOffers: type: array items: $ref: '#/components/schemas/SpecialOffer' pendingOriginators: type: array description: List of originators which have been queried, but have not responded yet. This list only contains loan originators, and should no longer be used deprecated: true items: $ref: '#/components/schemas/Originator' pendingResponses: type: array description: 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 items: $ref: '#/components/schemas/PendingResponse' LeadCreditCardInformationJson: type: object properties: allowAnnualFee: type: boolean cardPurposes: type: array items: $ref: '#/components/schemas/CardPurpose' description: A list of card purposes in which the lead is interested LeadAutoInsuranceInformationJson: type: object properties: numberOfVehicles: type: integer format: int32 hasAutoInsurance: type: boolean priorCarrierInformation: type: object title: Prior Carrier Information properties: carrierName: type: string description: Name of the prior insurance carrier timeInsuredMonths: type: integer format: int32 description: Duration in months the lead was insured with the prior carrier policyEffectiveDate: type: string format: date coverageInformation: type: object title: Coverage Information properties: bodilyInjuryAmount: type: integer format: int32 description: Bodily injury coverage amount propertyDamageAmount: type: integer format: int32 description: Property damage coverage amount collisionAmount: type: integer format: int32 description: Collision coverage amount garageInformation: type: object title: Garage Information properties: address1: type: string description: Street address line 1 of the garage location address2: type: string description: Street address line 2 of the garage location (optional) city: type: string description: City where the vehicle is garaged state: type: string description: State where the vehicle is garaged zipCode: type: string description: ZIP code of the garage address vehiclesInformation: type: array items: type: object title: Vehicle information properties: monthlyPayment: type: integer format: int32 description: The lead's monthly auto loan payment estimatedMileage: type: integer format: int32 description: The vehicle's estimated number of miles driven vehicleIdentificationNumber: type: string description: The vehicle identification number (VIN) of the financed vehicle vehicleUuid: type: string format: uuid description: The UUID representing the unique Year/Make/Model/Trim of the financed vehicle driversInformation: type: array items: type: object title: Driver Information properties: role: type: string enum: - primary - secondary - unlisted gender: $ref: '#/components/schemas/Gender' description: Driver's gender personalInformation: $ref: '#/components/schemas/LeadPersonalInformation' description: Personal information of the driver examples: LoanRateTable: summary: Loan rate table with a pending response value: 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: [] InvalidRateTableReference: summary: Invalid lead reference value: - message: Lead UUID is invalid LoanLead: summary: Loan lead value: uuid: 7c48037d-3dfa-5bff-9e0e-bcd3dda80f96 companyUUID: 5c3b5da2-ce2e-5686-8df9-73c00c4cfd6b leadProviderName: Platinum Personal Finance productTypes: - loan personalInformation: firstName: John lastName: Doe email: john@example.com 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 InvalidSsn: summary: Invalid SSN specified on lead value: - message: 'Invalid fields present: 123 is not a valid ssn' PendingLoanRateTable: summary: Loan rate table with a pending response value: 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 DuplicateLead: summary: Invalid lead reference value: - message: Lead duplicates an existing lead LoanLeadCreateData: summary: Loan lead create data value: productTypes: - loan personalInformation: firstName: John lastName: Doe email: john@example.com 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 InvalidUuidPathParameter: summary: Invalid UUID in path parameter value: - message: Bad request. details: 'Cannot parse parameter uuid as UUID: Invalid UUID string: 123' responses: UnauthorizedRequest: description: Unauthorized request content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' examples: missingAccessToken: summary: Access token was not specified value: - message: Access token is missing securitySchemes: publishableBearerToken: type: http scheme: bearer description: 'A bearer token that is assumed to be published in application code and downloaded to a user''s device. As a result, it only has restricted access to the API. ' confidentialBearerToken: type: http scheme: bearer description: 'A bearer token that is assumed to be managed like a password or any other confidential secret. As a result, it has access to sensitive API endpoints. ' experimentalBearerToken: type: http scheme: bearer description: 'A bearer token that is used to access experimental endpoints that are not yet available for all partners. It may be treated the same as a `publishableBearerToken`. ' externalDocs: description: Engine by MoneyLion API Reference url: https://engine.tech/docs/api-reference/