{
  "openapi": "3.0.3",
  "info": {
    "title": "Engine by MoneyLion API",
    "version": "1.104.0",
    "termsOfService": "https://engine.tech/about/legal#terms",
    "contact": {
      "name": "API Support",
      "url": "https://engine.tech/docs",
      "email": "help@engine.tech"
    }
  },
  "externalDocs": {
    "description": "Engine by MoneyLion API Reference",
    "url": "https://engine.tech/docs/api-reference/"
  },
  "servers": [
    {
      "url": "https://api.engine.tech"
    }
  ],
  "components": {
    "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.\n"
      },
      "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.\n"
      },
      "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`.\n"
      }
    },
    "examples": {
      "DuplicateLead": {
        "summary": "Invalid lead reference",
        "value": [
          {
            "message": "Lead  duplicates an existing lead"
          }
        ]
      },
      "FeaturedFinancialInstitutions": {
        "summary": "Featured financial institutions",
        "value": [
          {
            "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"
          }
        ]
      },
      "InvalidRateTableReference": {
        "summary": "Invalid lead reference",
        "value": [
          {
            "message": "Lead UUID is invalid"
          }
        ]
      },
      "InvalidSsn": {
        "summary": "Invalid SSN specified on lead",
        "value": [
          {
            "message": "Invalid fields present: 123 is not a valid ssn"
          }
        ]
      },
      "InvalidUuidPathParameter": {
        "summary": "Invalid UUID in path parameter",
        "value": [
          {
            "message": "Bad request.",
            "details": "Cannot parse parameter uuid as UUID: Invalid UUID string: 123"
          }
        ]
      },
      "LeadClientTagResponse": {
        "summary": "Lead client tags",
        "value": {
          "nextUrl": "https://api.engine.tech/supplyAnalytics/leadClientTags?paginationToken=gFqksQ5bGTVFoEbYs15RK9Y4JnMyjaA2qdH9kfkMQCWnKLL5BKxcyZUbXVQszy3fr8CjLvAYfnGpBfais9g",
          "shouldContinuePolling": true,
          "paginationToken": "gFqksQ5bGTVFoEbYs15RK9Y4JnMyjaA2qdH9kfkMQCWnKLL5BKxcyZUbXVQszy3fr8CjLvAYfnGpBfais9g",
          "data": [
            {
              "id": "e63aff4b-eea7-4f98-926c-15a15fc76ed3",
              "leadUuid": "a67b2027-29b2-43aa-a06f-2b60deaf3f2b",
              "key": "subId",
              "value": "425352",
              "createdAt": "2021-01-05T14:00:00Z",
              "paginationTimestamp": "2021-01-05T14:07:00Z"
            }
          ]
        }
      },
      "LeadPayoutResponse": {
        "summary": "Lead payout",
        "value": {
          "nextUrl": "https://api.engine.tech/supplyAnalytics/leadPayouts?paginationToken=gFqksQ5bGTVFoEbYs15RK9Y4JnMyjaA2qdH9kfkMQCWnKLL5BKxcyZUbXVQszy3fr8CjLvAYfnGpBfais9g",
          "shouldContinuePolling": false,
          "paginationToken": "gFqksQ5bGTVFoEbYs15RK9Y4JnMyjaA2qdH9kfkMQCWnKLL5BKxcyZUbXVQszy3fr8CjLvAYfnGpBfais9g",
          "data": [
            {
              "leadUuid": "dda9f837-2560-4b42-bc85-f6edd047a4d5",
              "bookedAt": "2021-01-01T00:00:00Z",
              "payoutInCents": 20000,
              "paginationTimestamp": "2021-01-01T00:07:00Z"
            },
            {
              "leadUuid": "a61d7cc3-3ad8-45b9-ba35-6572789203b3",
              "bookedAt": "2021-01-02T00:00:00Z",
              "payoutInCents": 10000,
              "paginationTimestamp": "2021-01-02T00:07:00Z"
            }
          ]
        }
      },
      "LoanApprovalProbabilityCreateData": {
        "summary": "Loan approval probability create data",
        "value": {
          "annualIncome": 75000,
          "creditRating": "excellent",
          "totalDebt": 10000,
          "countOfDerogatories": 0,
          "state": "NY",
          "loanPurpose": "debt_consolidation",
          "loanAmount": 10000
        }
      },
      "LoanApprovalProbabilityReport": {
        "summary": "Loan approval probability report",
        "value": {
          "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
                }
              ]
            }
          ]
        }
      },
      "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"
        }
      },
      "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"
        }
      },
      "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": []
        }
      },
      "MissingTimestamp": {
        "summary": "Timestamp missing or malformed",
        "value": [
          {
            "attribute": "timestamp",
            "type": "missing",
            "message": "timestamp must be specified"
          }
        ]
      },
      "OfferDisplay": {
        "summary": "Offer display",
        "value": {
          "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"
        }
      },
      "OfferDisplayCreateData": {
        "summary": "Offer display create data",
        "value": {
          "leadUuid": "f914eb07-a64f-51d8-b882-ff508a8c5c81",
          "rateTableUuid": "952a1184-d369-5958-9a0f-bec903e11c48",
          "offerUuid": "3426f971-1aa5-5cb0-91a9-cf2edcfa5dfa"
        }
      },
      "PreviewCreditCardOffers": {
        "summary": "Preview credit card offers",
        "value": [
          {
            "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,
              "purchaseAprText": "APR varies based on creditworthiness",
              "purchaseAprDisclaimer": "APR may change",
              "maxPurchaseIntroApr": 0,
              "minPurchaseIntroApr": 0,
              "purchaseIntroAprTerm": 12,
              "purchaseIntroAprTermUnit": "month",
              "purchaseIntroAprText": "0% intro APR for 12 months",
              "maxCashAdvanceApr": 26.99,
              "minCashAdvanceApr": 26.99,
              "cashAdvanceAprText": "Cash advance APR is fixed",
              "maxBalanceTransferApr": 25.99,
              "minBalanceTransferApr": 25.99,
              "balanceTransferAprText": "Balance transfer APR is fixed",
              "maxBalanceTransferIntroApr": 0,
              "minBalanceTransferIntroApr": 0,
              "balanceTransferIntroAprTerm": 12,
              "balanceTransferIntroAprTermUnit": "month",
              "balanceTransferIntroAprText": "0% intro APR on balance transfers for 12 months",
              "balanceTransferFee": 5,
              "balanceTransferFeeDisclaimer": "Balance transfer fee applies",
              "maxAnnualFee": 39,
              "minAnnualFee": 39,
              "annualFeeDisclaimer": "Annual fee may vary",
              "annualIntroFee": 0,
              "annualIntroFeeTerm": 1,
              "introOfferAmount": 200,
              "introOfferText": "Earn $200 bonus after spending $500",
              "introOfferType": "cash_back",
              "details": [
                "No deposit required",
                "No penalty APR"
              ],
              "cardType": "visa",
              "aprType": "variable",
              "recommendedCreditRatings": [
                "limited",
                "poor",
                "fair",
                "good"
              ],
              "recommendedCreditRatingsDisclaimer": "Credit ratings are for guidance only",
              "preQualified": false,
              "preApproved": false,
              "preSelected": false,
              "rewardsDescription": "Earn unlimited 1.5% cash back on all purchases",
              "rewardsDisclaimer": "Rewards may change",
              "minDepositAmount": 200,
              "minDepositDisclaimer": "Minimum deposit required for secured card",
              "badges": [
                "No Annual Fee",
                "Cash Back Rewards"
              ]
            }
          }
        ]
      },
      "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"
            }
          ]
        }
      },
      "PrefillResponse": {
        "summary": "Prefill Response",
        "value": {
          "productTypes": [
            "loan"
          ],
          "prefillToken": "d9b212a8-b284-5986-813e-a8d8e87c1863",
          "expiresInSeconds": 180,
          "maxUses": 1,
          "partnerPageUrl": "https://www.moneylion.com/network/meratas/loans/search/loan-purpose?tag.partnerKey=meratas-pp-loans&prefillToken=e9c6b1a2-4f8d-4d2c-b9e6-91f2a6d8b0a4",
          "embedSnippet": "<script async src=\"https://www.moneylion.dev/network/fagner/offer-carousel/web-component/offer-carousel/index.js\" data-embed-type=\"auto-mount\" data-cnf-layout-variant=\"native-layout\" data-title=\"Offer Carousel\" data-prefill-token=\"e9c6b1a2-4f8d-4d2c-b9e6-91f2a6d8b0a4\" data-display-layout=\"carousel\"> </script>"
        }
      },
      "PreviewLoanOffers": {
        "summary": "Preview loan offers",
        "value": [
          {
            "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
          }
        ]
      },
      "PreviewSavingsOffers": {
        "summary": "Preview savings offers",
        "value": [
          {
            "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"
            }
          }
        ]
      },
      "SessionInit": {
        "summary": "Session init",
        "value": {
          "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"
        }
      },
      "SessionInitCreateData": {
        "summary": "Session init create data",
        "value": {
          "sessionUuid": "820cc28f-ae99-55a5-a364-6353efd4a48b"
        }
      },
      "TimestampTooLate": {
        "summary": "Timestamp not early enough",
        "value": [
          {
            "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'"
          }
        ]
      },
      "UniversityNamesMatchingJohns": {
        "summary": "University names matching \"johns\"",
        "value": [
          "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"
        ]
      }
    },
    "schemas": {
      "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.\n"
          },
          "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.\n"
          },
          "details": {
            "description": "Variables associated with this error that can be injected into a custom error template, or used to parameterize any other programatic actions.\n",
            "allOf": [
              {
                "$ref": "#/components/schemas/ApiErrorDetails"
              }
            ]
          },
          "message": {
            "type": "string",
            "description": "A human-readable, English description of the error.\n"
          }
        }
      },
      "ApiErrorDetails": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "ApiApprovedEventData": {
        "type": "object",
        "title": "apiApproved",
        "properties": {
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the approved offer.\n"
          }
        }
      },
      "ApiRejectedEventData": {
        "type": "object",
        "title": "apiRejected",
        "properties": {
          "rejectReason": {
            "$ref": "#/components/schemas/RejectReason",
            "description": "A normalized reason why the lead was rejected, according to the financial institution.\n"
          },
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the rejected offer.\n"
          }
        }
      },
      "AppliedEventData": {
        "type": "object",
        "title": "applied",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32",
            "description": "The dollar amount of the offer that was applied for.\n"
          },
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the offer that was applied for.\n"
          }
        }
      },
      "ApprovedEventData": {
        "type": "object",
        "title": "approved",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32",
            "description": "The dollar amount of the approved offer.\n"
          },
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the approved offer.\n"
          }
        }
      },
      "AprType": {
        "type": "string",
        "enum": [
          "variable",
          "regular",
          "fixed"
        ]
      },
      "BankAccountType": {
        "type": "string",
        "enum": [
          "checking",
          "savings",
          "other"
        ]
      },
      "BatchConsentVersion": {
        "type": "string",
        "enum": [
          "v1",
          "v2"
        ]
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "CardType": {
        "type": "string",
        "enum": [
          "visa",
          "mastercard",
          "american_express",
          "discover"
        ]
      },
      "CarrierDecisionType": {
        "type": "string",
        "description": "Carrier decision speed",
        "enum": [
          "instant",
          "non_instant"
        ]
      },
      "CitizenshipStatus": {
        "type": "string",
        "description": "Citizenship status",
        "enum": [
          "citizen",
          "permanent_resident",
          "other"
        ]
      },
      "CompoundingMethod": {
        "type": "string",
        "enum": [
          "annually",
          "continuous",
          "daily",
          "monthly",
          "quarterly",
          "semiAnnually",
          "simple",
          "weekly"
        ]
      },
      "CreditCardOffer": {
        "type": "object",
        "description": "An offer for a credit card",
        "required": [
          "details"
        ],
        "properties": {
          "details": {
            "$ref": "#/components/schemas/CreditCardOfferDetails"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Offer"
          }
        ]
      },
      "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"
            }
          }
        }
      },
      "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"
          ]
        }
      },
      "ConversionEventData": {
        "type": "object",
        "title": "conversion",
        "properties": {
          "payoutInCents": {
            "type": "integer",
            "format": "int32",
            "description": "The number of cents paid out for the conversion event.\n"
          },
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the converted offer.\n"
          }
        }
      },
      "EducationLevel": {
        "type": "string",
        "enum": [
          "high_school",
          "associate",
          "bachelors",
          "masters",
          "doctorate",
          "other_grad_degree",
          "certificate",
          "did_not_graduate",
          "still_enrolled",
          "other"
        ]
      },
      "EmploymentPayFrequency": {
        "type": "string",
        "enum": [
          "weekly",
          "biweekly",
          "twice_monthly",
          "monthly"
        ]
      },
      "EmploymentStatus": {
        "type": "string",
        "enum": [
          "employed",
          "employed_full_time",
          "employed_part_time",
          "military",
          "not_employed",
          "self_employed",
          "retired",
          "other"
        ]
      },
      "EventData": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ApiApprovedEventData"
          },
          {
            "$ref": "#/components/schemas/ApiRejectedEventData"
          },
          {
            "$ref": "#/components/schemas/AppliedEventData"
          },
          {
            "$ref": "#/components/schemas/ApprovedEventData"
          },
          {
            "$ref": "#/components/schemas/ConversionEventData"
          },
          {
            "$ref": "#/components/schemas/FundedEventData"
          },
          {
            "$ref": "#/components/schemas/ListedEventData"
          },
          {
            "$ref": "#/components/schemas/OfferClickedEventData"
          },
          {
            "$ref": "#/components/schemas/OpenedEventData"
          }
        ]
      },
      "EventType": {
        "type": "string",
        "enum": [
          "leadCreated",
          "appSubmitted",
          "apiApproved",
          "apiRejected",
          "offerClicked",
          "affiliateOfferClicked",
          "lenderQualifiedLead",
          "applied",
          "approved",
          "listed",
          "opened",
          "funded",
          "conversion",
          "firstPayment",
          "isContacted",
          "salesQualified",
          "firstContact",
          "rateLocked"
        ]
      },
      "FeaturedFinancialInstitution": {
        "type": "object",
        "required": [
          "uuid",
          "name",
          "logoUrl"
        ],
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true,
            "description": "A unique identifier for the financial institution.\n"
          },
          "name": {
            "type": "string",
            "readOnly": true,
            "description": "The name of the financial institution. This value is subject to\nchange, so `financialInstitutionUuid` should be used for grouping.\n"
          },
          "logoUrl": {
            "type": "string",
            "format": "url",
            "readOnly": true,
            "description": "The URL of an image logo for the associated financial institution.\n"
          }
        }
      },
      "FederalInsuranceType": {
        "type": "string",
        "enum": [
          "fdic",
          "ncua"
        ]
      },
      "FinancialInstitutionLoanReport": {
        "type": "object",
        "required": [
          "uuid",
          "name",
          "probabilities"
        ],
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the financial institution."
          },
          "name": {
            "type": "string",
            "description": "The name of the financial institution."
          },
          "logoUrl": {
            "type": "string",
            "description": "A URL of a logo for the financial institution."
          },
          "probabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanProbability"
            },
            "description": "The approval probabilities for the financial intitution."
          }
        }
      },
      "FundedEventData": {
        "type": "object",
        "title": "funded",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32",
            "description": "The dollar amount of the offer that was funded.\n"
          },
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the funded offer.\n"
          }
        }
      },
      "IdType": {
        "type": "string",
        "enum": [
          "driver_license",
          "state_id",
          "passport"
        ]
      },
      "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"
          }
        }
      },
      "IncentiveType": {
        "type": "string",
        "description": "Unit of measure for incentives.\n",
        "enum": [
          "cash_back",
          "other"
        ]
      },
      "IncentiveUnit": {
        "type": "string",
        "description": "Unit of measure for incentives.\n",
        "enum": [
          "usd",
          "other"
        ]
      },
      "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"
        ]
      },
      "Gender": {
        "type": "string",
        "enum": [
          "male",
          "female"
        ]
      },
      "IntroOfferType": {
        "type": "string",
        "enum": [
          "miles",
          "points",
          "statement_credit"
        ]
      },
      "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"
          }
        }
      },
      "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"
                }
              }
            }
          }
        }
      },
      "LeadBestTimeToCall": {
        "type": "string",
        "enum": [
          "morning",
          "afternoon",
          "evening",
          "night"
        ]
      },
      "LeadCoApplicantInformationJson": {
        "type": "object",
        "description": "The personal information of a co-applicant that may be considered in the\nunderwriting and approval of a loan.\n",
        "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})?$"
          }
        }
      },
      "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`"
          }
        }
      },
      "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"
          }
        }
      },
      "LeadClientTagsResponse": {
        "type": "object",
        "required": [
          "nextUrl",
          "paginationToken",
          "shouldContinuePolling",
          "data"
        ],
        "properties": {
          "nextUrl": {
            "type": "string",
            "description": "A URL which identifies where the next batch of LeadClientTags can be queried for.\n"
          },
          "paginationToken": {
            "type": "string",
            "description": "An opaque string that identifies the end of the current page of data and is used as a cursor for consecutive requests.\n"
          },
          "shouldContinuePolling": {
            "type": "boolean",
            "description": "If true, data is currently available at `nextUrl`. \n  Calling the `nextUrl` at the current time will return the next batch of data.  \nIf false, calling `nextUrl` at the current time will return an error response from the API.  \n  Data will be made available at a later time (at the next hour mark).\n"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LeadClientTag"
            },
            "description": "Lead client tag data for the requested time window.\n"
          }
        }
      },
      "LeadClientTag": {
        "type": "object",
        "required": [
          "hash",
          "leadUuid",
          "key",
          "value",
          "createdAt",
          "paginationTimestamp"
        ],
        "properties": {
          "hash": {
            "type": "string",
            "description": "A unique hash for the client tag to assist with deduplication.\n"
          },
          "leadUuid": {
            "type": "string",
            "format": "uuid",
            "description": "The UUID of the lead that this client tag belongs to.\n"
          },
          "key": {
            "type": "string",
            "description": "The key of this client tag.\n"
          },
          "value": {
            "type": "string",
            "description": "The latest value for the client tag key.\n"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time that this client tag was added to the lead.\n"
          },
          "paginationTimestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Time when event was captured by our system. Used for pagination.\n"
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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.\nA lookup service for possible universities is available from using the /leads/universities endpoint.\nTo maximize returned offers, this string must match one of the names returned from the lookup.\n",
            "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.\nA lookup service for possible universities is available from using the /leads/universities endpoint.\nTo maximize returned offers, this string must match one of the names returned from the lookup.\n"
          },
          "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.\nA lookup service for possible universities is available from using the /leads/universities endpoint.\nTo maximize returned offers, this string must match one of the names returned from the lookup.\n"
          },
          "undergraduateUniversityOpeId": {
            "type": "string",
            "$ref": "#/components/schemas/OpeId"
          }
        }
      },
      "LeadEducationLevel": {
        "$ref": "#/components/schemas/EducationLevel"
      },
      "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)"
          }
        }
      },
      "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"
          }
        }
      },
      "LeadHealthInformationJson": {
        "type": "object",
        "properties": {
          "gender": {
            "$ref": "#/components/schemas/Gender"
          },
          "heightInInches": {
            "type": "integer",
            "format": "int32"
          },
          "weightInPounds": {
            "type": "integer",
            "format": "int32"
          },
          "tobaccoSmoker": {
            "type": "boolean"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "LeadLoanInformationJson": {
        "type": "object",
        "properties": {
          "purpose": {
            "$ref": "#/components/schemas/LoanPurpose"
          },
          "loanAmount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "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.\n"
          },
          "includeVaLoans": {
            "type": "boolean",
            "description": "If true, the lead will receive VA loan offers; if false, they will not.\n"
          },
          "requestedLoanTerms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MortgageLoanType"
            }
          },
          "mortechCreditRating": {
            "$ref": "#/components/schemas/MortechCreditRating"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "LeadSessionInformationJson": {
        "type": "object",
        "description": "Browsing session information accociated with a `Lead`",
        "properties": {
          "ipAddress": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          },
          "browserFingerprint": {
            "type": "string"
          }
        }
      },
      "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"
          }
        }
      },
      "LeadActionType": {
        "type": "string",
        "enum": [
          "initialized",
          "submitted"
        ]
      },
      "LeadEvent": {
        "type": "object",
        "required": [
          "id",
          "isTest",
          "leadUuid",
          "leadCreatedAt",
          "eventType",
          "eventCreatedAt",
          "paginationTimestamp",
          "supplySubAccountUuid",
          "supplySubAccountName"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A hash of the `leadUuid`, `eventType` and `eventCreatedAt` which uniquely identifies a leadEvent.\n"
          },
          "leadUuid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the associated lead.\n"
          },
          "leadCreatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time that the associated lead was created.\n"
          },
          "eventType": {
            "$ref": "#/components/schemas/EventType"
          },
          "eventCreatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time that the event occurred.\n"
          },
          "eventDeletedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time that the event was deleted.\n"
          },
          "eventData": {
            "$ref": "#/components/schemas/EventData",
            "description": "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.\n"
          },
          "amountInCents": {
            "type": "number",
            "format": "double",
            "description": "The amount of liquidity provided to the end user by the FI. Only present for some events.\n"
          },
          "supplySubAccountUuid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the associated supply sub-account.\n"
          },
          "supplySubAccountName": {
            "type": "string",
            "description": "The name of the associated supply sub-account. This value is subject to change, so `supplySubAccountUuid` should be used as a stable identifier.\n"
          },
          "financialInstitutionUuid": {
            "type": "string",
            "format": "uuid",
            "description": "A unique identifier for the associated financial institution. Only present for event types associated with financial institutions.\n"
          },
          "financialInstitutionName": {
            "type": "string",
            "description": "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.\n"
          },
          "unifiedProductType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OfferCatalogProductType"
              },
              {
                "description": "The product type of financial offer. Replaces `productType` and `productSubType`.\n"
              }
            ]
          },
          "productType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductType"
              },
              {
                "description": "A legacy product type of financial offer.\n"
              }
            ]
          },
          "productSubType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductSubType"
              },
              {
                "description": "A legacy product subtype describing a type of financial product.\n"
              }
            ]
          },
          "offerUuid": {
            "type": "string",
            "format": "uuid"
          },
          "isTest": {
            "type": "boolean",
            "description": "Whether a `Lead` was created using a test access token"
          },
          "paginationTimestamp": {
            "$ref": "#/components/schemas/LeadClientTag/properties/paginationTimestamp"
          }
        }
      },
      "LeadEventResponse": {
        "type": "object",
        "required": [
          "nextUrl",
          "paginationToken",
          "shouldContinuePolling",
          "data"
        ],
        "properties": {
          "nextUrl": {
            "type": "string",
            "description": "The URL for the next request.\n"
          },
          "paginationToken": {
            "$ref": "#/components/schemas/LeadClientTagsResponse/properties/paginationToken"
          },
          "shouldContinuePolling": {
            "type": "boolean",
            "description": "If true, data is currently available at `nextUrl`. \n  Calling the `nextUrl` at the current time will return the next batch of data.  \nIf false, calling `nextUrl` at the current time will return an error response from the API.  \n  Data will be made available at a later time (at the next hour mark).\n"
          },
          "data": {
            "type": "array",
            "description": "Lead event data for the requested time window.\n",
            "items": {
              "$ref": "#/components/schemas/LeadEvent"
            }
          }
        }
      },
      "LeadPayout": {
        "type": "object",
        "required": [
          "leadUuid",
          "bookedAt",
          "paginationTimestamp",
          "supplySubAccountUuid",
          "supplySubAccountName"
        ],
        "properties": {
          "leadUuid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the associated lead.\n"
          },
          "bookedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time that this payout to a supply partner was booked.\n"
          },
          "payoutInCents": {
            "type": "number",
            "format": "double",
            "description": "The payout amount in cents made available to the supply partner. May be fractional.\n"
          },
          "uuid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the associated payout event.\n"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "description": "If a payout to a supply partner was revoked, this value will report the time that the payout was revoked.\n"
          },
          "supplySubAccountUuid": {
            "type": "string",
            "format": "uuid",
            "description": "The unique identifier for the associated supply sub-account.\n"
          },
          "supplySubAccountName": {
            "type": "string",
            "description": "The name of the associated supply sub-account. This value is subject to change, so `supplySubAccountUuid` should be used as a stable identifier.\n"
          },
          "financialInstitutionName": {
            "type": "string",
            "description": "The name of the associated financial institution. This value is subject to change, so `financialInstitutionUuid` should be used as a stable identifier.\n"
          },
          "financialInstitutionUuid": {
            "type": "string",
            "format": "uuid",
            "description": "A unique identifier for the associated financial institution. Only present for event types associated with financial institutions.\n"
          },
          "unifiedProductType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OfferCatalogProductType"
              },
              {
                "description": "The product type of financial offer. Replaces `productType` and `productSubType`.\n"
              }
            ]
          },
          "productType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductType"
              },
              {
                "description": "A legacy product type of financial offer.\n"
              }
            ]
          },
          "paginationTimestamp": {
            "$ref": "#/components/schemas/LeadClientTag/properties/paginationTimestamp"
          }
        }
      },
      "LeadPayoutResponse": {
        "type": "object",
        "required": [
          "nextUrl",
          "paginationToken",
          "shouldContinuePolling",
          "data"
        ],
        "properties": {
          "nextUrl": {
            "type": "string",
            "description": "The URL for the next request.\n"
          },
          "paginationToken": {
            "$ref": "#/components/schemas/LeadClientTagsResponse/properties/paginationToken"
          },
          "shouldContinuePolling": {
            "type": "boolean",
            "description": "If true, data is currently available at `nextUrl`. \n  Calling the `nextUrl` at the current time will return the next batch of data.  \nIf false, calling `nextUrl` at the current time will return an error response from the API.  \n  Data will be made available at a later time (at the next hour mark).\n"
          },
          "data": {
            "type": "array",
            "description": "Lead payout data for the requested time window.\n",
            "items": {
              "$ref": "#/components/schemas/LeadPayout"
            }
          }
        }
      },
      "LeadInfoResponse": {
        "type": "object",
        "required": [
          "data",
          "warnings"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "events",
              "payouts",
              "clientTags"
            ],
            "properties": {
              "events": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LeadEvent"
                }
              },
              "payouts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LeadPayout"
                }
              },
              "clientTags": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LeadClientTag"
                }
              }
            }
          },
          "warnings": {
            "type": "array",
            "description": "List of warnings about potential issues, if any.\n",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "LeadUuid": {
        "type": "object",
        "required": [
          "uuid"
        ],
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "description": "UUID corresponding to the created `Lead`"
          }
        }
      },
      "LifeInsuranceOffer": {
        "type": "object",
        "description": "An offer for a life insurance lead",
        "required": [
          "uuid",
          "partner",
          "productType",
          "productSubType",
          "url",
          "details"
        ],
        "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"
          },
          "payout": {
            "type": "number"
          },
          "details": {
            "$ref": "#/components/schemas/LifeInsuranceOfferDetails"
          }
        }
      },
      "LifeInsuranceOfferDetails": {
        "type": "object",
        "required": [
          "policyAmount",
          "monthlyPremiumAmount"
        ],
        "properties": {
          "policyAmount": {
            "type": "integer",
            "format": "int64",
            "description": "Policy amount, in dollars"
          },
          "termLength": {
            "type": "integer",
            "format": "int64"
          },
          "termUnit": {
            "$ref": "#/components/schemas/TermUnit"
          },
          "monthlyPremiumAmount": {
            "type": "number",
            "description": "Monthly premium amount, in dollars"
          },
          "annualPremiumAmount": {
            "type": "number",
            "description": "Annual premium amount, in dollars"
          },
          "semiAnnualPremiumAmount": {
            "type": "number",
            "description": "Semi-annual premium amount, in dollars"
          },
          "onlineAppAvailable": {
            "type": "boolean",
            "description": "Online application is available"
          },
          "noMedicalTest": {
            "type": "boolean"
          },
          "packageType": {
            "$ref": "#/components/schemas/PackageType"
          },
          "recommended": {
            "type": "boolean",
            "description": "Policy is recommended"
          },
          "medicalExam": {
            "$ref": "#/components/schemas/MedicalExam"
          },
          "policyName": {
            "type": "string",
            "description": "The name of policy"
          },
          "carrierDecisionType": {
            "$ref": "#/components/schemas/CarrierDecisionType"
          },
          "partnerQuoteId": {
            "type": "string"
          },
          "convertToPermanent": {
            "type": "boolean"
          },
          "childRider": {
            "type": "string"
          },
          "acceleratedDeathBenefit": {
            "type": "boolean"
          },
          "waiverOfPremium": {
            "type": "string"
          },
          "isOnlineApplication": {
            "type": "boolean"
          },
          "deliveryMethod": {
            "type": "string"
          },
          "examRequired": {
            "type": "string"
          }
        }
      },
      "ListedEventData": {
        "type": "object",
        "title": "listed",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32",
            "description": "The dollar amount of the offer that was listed.\n"
          },
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the offer that was listed.\n"
          }
        }
      },
      "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."
          }
        }
      },
      "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"
        ]
      },
      "LoanProbability": {
        "type": "object",
        "required": [
          "probability",
          "aprPercentMin",
          "aprPercentMax",
          "termMonthsMin",
          "termMonthsMax"
        ],
        "properties": {
          "probability": {
            "type": "number",
            "format": "double",
            "description": "The likelihood of approval for loans that match the criteria."
          },
          "aprPercentMin": {
            "type": "number",
            "format": "double",
            "description": "The minimum APR for loans with this approval probability."
          },
          "aprPercentMax": {
            "type": "number",
            "format": "double",
            "description": "The maximum APR for loans with this approval probability."
          },
          "termMonthsMin": {
            "type": "integer",
            "format": "int64",
            "description": "The minimum term length for loans with this approval probability."
          },
          "termMonthsMax": {
            "type": "integer",
            "format": "int64",
            "description": "The maximum term length for loans with this approval probability."
          },
          "productSubType": {
            "description": "The optional loan sub-type of loans with this approval probability.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductSubType"
              }
            ]
          }
        }
      },
      "LoanReport": {
        "type": "object",
        "required": [
          "uuid",
          "annualIncome",
          "creditRating",
          "networkProbabilities",
          "financialInsitutions",
          "createdAt"
        ],
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "description": "A unique identifier for this report."
          },
          "annualIncome": {
            "type": "integer",
            "format": "int32",
            "description": "The user's annual income in dollars."
          },
          "creditRating": {
            "description": "The user's credit score range.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ProvidedCreditRating"
              }
            ]
          },
          "totalDebt": {
            "type": "integer",
            "format": "int32",
            "description": "The user's total debt in dollars."
          },
          "countOfDerogatories": {
            "type": "integer",
            "format": "int32",
            "description": "The number of derogatory accounts listed on the user's credit report."
          },
          "state": {
            "description": "The user's state of residence.",
            "allOf": [
              {
                "$ref": "#/components/schemas/State"
              }
            ]
          },
          "loanPurpose": {
            "description": "The reason for the loan.",
            "allOf": [
              {
                "$ref": "#/components/schemas/LoanPurpose"
              }
            ]
          },
          "loanAmount": {
            "type": "integer",
            "format": "int32",
            "description": "The size of the the loan."
          },
          "networkProbabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanProbability"
            },
            "description": "Probabilities for classes of loans, irrespective of financial institution."
          },
          "financialInsitutions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialInstitutionLoanReport"
            },
            "description": "Probabilities broken out for specific financial institutions."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When this report was created."
          }
        }
      },
      "LoanReportCreateData": {
        "type": "object",
        "required": [
          "annualIncome",
          "creditRating"
        ],
        "properties": {
          "annualIncome": {
            "type": "integer",
            "format": "int32",
            "description": "The user's annual income in dollars."
          },
          "creditRating": {
            "description": "The user's credit score range.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ProvidedCreditRating"
              }
            ]
          },
          "totalDebt": {
            "type": "integer",
            "format": "int32",
            "description": "The user's total debt in dollars."
          },
          "countOfDerogatories": {
            "type": "integer",
            "format": "int32",
            "description": "The number of derogatory accounts listed on the user's credit report."
          },
          "state": {
            "description": "The user's state of residence.",
            "allOf": [
              {
                "$ref": "#/components/schemas/State"
              }
            ]
          },
          "loanPurpose": {
            "description": "The reason for the loan.",
            "allOf": [
              {
                "$ref": "#/components/schemas/LoanPurpose"
              }
            ]
          },
          "loanAmount": {
            "type": "integer",
            "format": "int32",
            "description": "The size of the the loan."
          }
        }
      },
      "MedicalExam": {
        "type": "string",
        "description": "Medical exam requirement",
        "enum": [
          "no_exam_if_qualified",
          "no_exam_guaranteed",
          "exam_required"
        ]
      },
      "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)"
        ]
      },
      "MortgageAdjustmentType": {
        "type": "string",
        "enum": [
          "credits",
          "par",
          "points"
        ]
      },
      "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"
        ]
      },
      "MortgageOffer": {
        "type": "object",
        "description": "An offer for a mortgage",
        "required": [
          "details"
        ],
        "properties": {
          "details": {
            "$ref": "#/components/schemas/MortgageOfferDetails"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Offer"
          }
        ]
      },
      "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"
          }
        }
      },
      "MortgageType": {
        "type": "string",
        "enum": [
          "purchase",
          "refinance"
        ]
      },
      "OccupancyType": {
        "type": "string",
        "enum": [
          "primary",
          "secondary",
          "investment"
        ]
      },
      "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"
          }
        }
      },
      "OfferCatalogProductType": {
        "type": "string",
        "description": "Offer Catalog Product types to identify what vertical the sub account is set for (demand only)"
      },
      "OfferClickedEventData": {
        "type": "object",
        "title": "offerClicked",
        "properties": {
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the clicked offer.\n"
          }
        }
      },
      "OfferDisplay": {
        "type": "object",
        "required": [
          "id",
          "uuid",
          "leadUuid",
          "rateTableUuid",
          "offerUuid",
          "createdAt",
          "createdBy"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "leadUuid": {
            "type": "string",
            "format": "uuid"
          },
          "rateTableUuid": {
            "type": "string",
            "format": "uuid"
          },
          "offerUuid": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "OfferDisplayCreateData": {
        "type": "object",
        "required": [
          "leadUuid",
          "rateTableUuid",
          "offerUuid"
        ],
        "properties": {
          "leadUuid": {
            "type": "string",
            "format": "uuid"
          },
          "rateTableUuid": {
            "type": "string",
            "format": "uuid"
          },
          "offerUuid": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "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."
      },
      "OpenedEventData": {
        "type": "object",
        "title": "opened",
        "properties": {
          "productType": {
            "$ref": "#/components/schemas/ProductType",
            "description": "The product type of the offer for which the account was opened.\n"
          }
        }
      },
      "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.\n"
          }
        }
      },
      "OriginatorImage": {
        "type": "object",
        "required": [
          "sizeKey",
          "url"
        ],
        "properties": {
          "sizeKey": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "PackageType": {
        "type": "string",
        "description": "Life insurance package types",
        "enum": [
          "basic",
          "essential",
          "elite"
        ]
      },
      "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"
          }
        }
      },
      "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"
            }
          }
        }
      },
      "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"
          }
        }
      },
      "PersonalReferenceRelationType": {
        "type": "string",
        "enum": [
          "parent",
          "employer",
          "spouse",
          "guardian",
          "sibling",
          "relative",
          "friend",
          "other"
        ]
      },
      "PrefillResponse": {
        "type": "object",
        "properties": {
          "productTypes": {
            "type": "array",
            "description": "Product types in which the `Prefill` is associated",
            "items": {
              "$ref": "#/components/schemas/ProductType"
            }
          },
          "prefillToken": {
            "type": "string",
            "format": "uuid",
            "description": "The Prefill token used for retrieving the prefill data"
          },
          "expiresInSeconds": {
            "type": "number",
            "format": "int32",
            "description": "The number of seconds until the prefill token expires"
          },
          "maxUses": {
            "type": "number",
            "format": "int32",
            "description": "The maximum number of times the prefill token can be used"
          },
          "partnerPageUrl": {
            "type": "string",
            "format": "uri",
            "description": "The URL to the partner's page"
          },
          "embedSnippet": {
            "type": "string",
            "format": "html",
            "description": "The snippet to be embedded in the partner's page"
          }
        },
        "required": [
          "productTypes",
          "prefillToken",
          "expiresInSeconds",
          "maxUses"
        ],
        "example": {
          "productTypes": [
            "loan"
          ],
          "prefillToken": "d9b212a8-b284-5986-813e-a8d8e87c1863",
          "expiresInSeconds": 180,
          "maxUses": 1,
          "partnerPageUrl": "https://www.moneylion.com/network/meratas/loans/search/loan-purpose?tag.partnerKey=meratas-pp-loans&prefillToken=e9c6b1a2-4f8d-4d2c-b9e6-91f2a6d8b0a4",
          "embedSnippet": "<script async src=\"https://www.moneylion.dev/network/fagner/offer-carousel/web-component/offer-carousel/index.js\" data-embed-type=\"auto-mount\" data-cnf-layout-variant=\"native-layout\" data-title=\"Offer Carousel\" data-prefill-token=\"e9c6b1a2-4f8d-4d2c-b9e6-91f2a6d8b0a4\" data-display-layout=\"carousel\"></script>"
        }
      },
      "PreviewDetail": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          }
        },
        "required": [
          "description"
        ]
      },
      "ProductType": {
        "type": "string",
        "enum": [
          "credit_card",
          "generic",
          "auto_insurance",
          "insurance",
          "life_insurance",
          "loan",
          "mortgage",
          "savings",
          "other",
          "unknown"
        ]
      },
      "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"
        ]
      },
      "ProvidedCreditRating": {
        "type": "string",
        "enum": [
          "excellent",
          "good",
          "fair",
          "poor",
          "limited",
          "unknown"
        ]
      },
      "PropertyStatus": {
        "type": "string",
        "enum": [
          "own_outright",
          "own_with_mortgage",
          "rent"
        ]
      },
      "PropertySearchStatus": {
        "type": "string",
        "enum": [
          "found",
          "not_found"
        ]
      },
      "PropertyType": {
        "type": "string",
        "enum": [
          "rent",
          "condo",
          "multi_unit",
          "single_family",
          "townhouse"
        ]
      },
      "PurchaseStatus": {
        "type": "string",
        "enum": [
          "no_offer",
          "offer_accepted",
          "offer_pending",
          "under_contract"
        ]
      },
      "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"
            }
          }
        }
      },
      "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"
          }
        }
      },
      "RefinanceLoanType": {
        "type": "string",
        "enum": [
          "federal_student_loan",
          "private_student_loan"
        ]
      },
      "RefinanceType": {
        "type": "string",
        "enum": [
          "cash_out",
          "rate_term"
        ]
      },
      "RejectReason": {
        "type": "string",
        "enum": [
          "low_fico",
          "no_fico",
          "major_derogatory",
          "underwriting_decline",
          "debt_to_income_ratio",
          "not_in_active_state",
          "incorrect_data_provided",
          "duplicate"
        ]
      },
      "SavingsOffer": {
        "type": "object",
        "description": "An offer for a savings account",
        "required": [
          "details"
        ],
        "properties": {
          "details": {
            "$ref": "#/components/schemas/SavingsOfferDetails"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Offer"
          }
        ]
      },
      "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\nit was provided by the financial institution. Could be one of `fdic` for\nthe Federal Deposit Insurance Corporation, or `ncua` for the National\nCredit Union Administration.\n",
            "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"
            }
          }
        }
      },
      "SessionInit": {
        "type": "object",
        "required": [
          "id",
          "uuid",
          "sessionUuid",
          "createdAt",
          "createdBy"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "sessionUuid": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "SessionInitCreateData": {
        "type": "object",
        "properties": {
          "sessionUuid": {
            "type": "string",
            "format": "uuid",
            "description": "You may specify the session's UUID; if you don't, one will be generated for you.\n"
          }
        }
      },
      "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.\n"
          }
        }
      },
      "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"
        ]
      },
      "TermUnit": {
        "type": "string",
        "description": "Unit of measure for offer term lengths, or open for a single term.\n",
        "enum": [
          "day",
          "month",
          "year",
          "open"
        ]
      },
      "VehicleDetails": {
        "type": "object",
        "required": [
          "year",
          "make",
          "model",
          "trim",
          "uuid",
          "ucgVehicleId"
        ],
        "properties": {
          "year": {
            "type": "integer",
            "format": "int32",
            "description": "Year of the vehicle."
          },
          "make": {
            "type": "string",
            "description": "Make of the vehicle."
          },
          "model": {
            "type": "string",
            "description": "Model of the vehicle."
          },
          "trim": {
            "type": "string",
            "description": "Trim of the vehicle."
          },
          "uuid": {
            "type": "string",
            "format": "uuid",
            "description": "A unique identifier for this vehicle."
          },
          "ucgVehicleId": {
            "type": "integer",
            "format": "int64",
            "description": "NADA Used Card Guide vehicle id."
          }
        }
      },
      "VehicleInformation": {
        "type": "object",
        "title": "Vehicle information",
        "properties": {
          "monthlyPayment": {
            "type": "number",
            "format": "int32",
            "description": "The lead's monthly auto loan payment"
          },
          "estimatedMileage": {
            "type": "number",
            "format": "integer",
            "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": "A vehicle UUID that corresponds to a valid combination of vehicle year, make, model, and trim. See the [vehicle utility endpoints](https://engine.tech/docs/api-reference/#even-financial-api-ui-utils)"
          }
        }
      }
    },
    "responses": {
      "InvalidRequest": {
        "description": "Invalid request",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ApiError"
              }
            }
          }
        }
      },
      "MalformedRequest": {
        "description": "Malformed request",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ApiError"
              }
            },
            "examples": {
              "invalidUuidPathParameter": {
                "$ref": "#/components/examples/InvalidUuidPathParameter"
              }
            }
          }
        }
      },
      "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"
                  }
                ]
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ApiError"
              }
            }
          }
        }
      }
    }
  },
  "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.\n\nA rate table is a list of financial offers that match a submitted lead.\n\n### Lead Details\n\nNo 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).\n\nA lead may request multiple product types, in which case the returned rate table will include a list for each product type with matching offers.\n\n### Asynchronous Rate Tables\n\nOften 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.\n\nSo, 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.\n"
    },
    {
      "name": "Approval Probability",
      "description": "Approval probability reports contains data about the likelihood that a user with specified attributes will be approved for particular product offers.\n\nThe 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.\n\nThe 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.\n"
    },
    {
      "name": "Offer Preview",
      "description": "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.\n\nOffers 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.\n"
    },
    {
      "name": "Analytics",
      "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"
    },
    {
      "name": "UI Events",
      "description": "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.\n"
    },
    {
      "name": "UI Utils",
      "description": "A collection of endpoints that can be used to improve a search experience.\n"
    }
  ],
  "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/prefills/{prefillToken}": {
      "get": {
        "parameters": [
          {
            "name": "prefillToken",
            "in": "path",
            "required": true,
            "description": "The UUID of the prefill token",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "x-implemented-by": {
          "service": "originator",
          "path": "/prefills/{prefillToken}"
        },
        "summary": "Get prefill data",
        "description": "First-party Prefill data.",
        "operationId": "getPrefill",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "Prefill"
        ],
        "responses": {
          "200": {
            "description": "The original Prefill data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadCreateData"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "404": {
            "description": "Prefill token not found"
          }
        }
      }
    },
    "/originator/prefills": {
      "post": {
        "x-implemented-by": {
          "service": "originator",
          "path": "/prefills"
        },
        "summary": "Prefill data",
        "description": "Second-party Prefill data.",
        "operationId": "prefill",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "Prefill"
        ],
        "requestBody": {
          "description": "A prefill object",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadCreateData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The generated `PrefillResponse`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrefillResponse"
                },
                "examples": {
                  "pendingLoanRateTable": {
                    "$ref": "#/components/examples/PrefillResponse"
                  }
                }
              }
            }
          },
          "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.\n\nUsually 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"
          }
        }
      }
    },
    "/approvalProbability/loanReports": {
      "post": {
        "x-implemented-by": {
          "service": "approval-probability",
          "path": "/approvalProbability/loanReports"
        },
        "summary": "Get a loan approval probability report",
        "description": "Get a report on approval probabilities for loan offers for a specified cohort of users.",
        "operationId": "createLoansApprovalProbabilityReport",
        "security": [
          {
            "experimentalBearerToken": []
          }
        ],
        "tags": [
          "Approval Probability"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoanReportCreateData"
              },
              "examples": {
                "loanApprovalProbabilityCreateData": {
                  "$ref": "#/components/examples/LoanApprovalProbabilityCreateData"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoanReport"
                },
                "examples": {
                  "loanApprovalProbabilityReport": {
                    "$ref": "#/components/examples/LoanApprovalProbabilityReport"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/MalformedRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "422": {
            "$ref": "#/components/responses/InvalidRequest"
          }
        }
      }
    },
    "/approvalProbability/loanReports/{uuid}": {
      "parameters": [
        {
          "name": "uuid",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          }
        }
      ],
      "get": {
        "x-implemented-by": {
          "service": "approval-probability",
          "path": "/approvalProbability/loanReports/{uuid}"
        },
        "summary": "Get approval probability loan report",
        "description": "Get the approval probability report for a specified UUID. If the UUID is unkown, a `404 Not Found` response will be returned.",
        "operationId": "getLoansApprovalProbabilityReport",
        "security": [
          {
            "experimentalBearerToken": []
          }
        ],
        "tags": [
          "Approval Probability"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoanReport"
                },
                "examples": {
                  "loanApprovalProbabilityReport": {
                    "$ref": "#/components/examples/LoanApprovalProbabilityReport"
                  }
                }
              }
            }
          },
          "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"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/offerPreview/loanOffers": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "originator",
          "path": "/preview/loanOffers"
        },
        "summary": "Get preview loan offers",
        "description": "Get a list of non-personalized loan offers that match the specified critieria.",
        "operationId": "getPreviewLoanOffers",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "Offer Preview"
        ],
        "parameters": [
          {
            "name": "loanAmount",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "providedCreditRating",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ProvidedCreditRating"
            }
          },
          {
            "name": "loanPurpose",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/LoanPurpose"
            }
          },
          {
            "name": "zipCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LoanOffer"
                  }
                },
                "examples": {
                  "previewLoanOffers": {
                    "$ref": "#/components/examples/PreviewLoanOffers"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          }
        }
      }
    },
    "/offerPreview/creditCardOffers": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "originator",
          "path": "/preview/creditCardOffers"
        },
        "summary": "Get preview credit card offers",
        "description": "Get a list of non-personalized credit card offers that match the specified critieria.",
        "operationId": "getPreviewCreditCardOffers",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "Offer Preview"
        ],
        "parameters": [
          {
            "name": "providedCreditRating",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ProvidedCreditRating"
            }
          },
          {
            "name": "zipCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardPurposes",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CardPurpose"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CreditCardOffer"
                  }
                },
                "examples": {
                  "previewCreditCardOffers": {
                    "$ref": "#/components/examples/PreviewCreditCardOffers"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          }
        }
      }
    },
    "/offerPreview/savingsOffers": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "originator",
          "path": "/preview/savingsOffers"
        },
        "summary": "Get preview savings offers",
        "description": "Get a list of non-personalized savings offers that match the specified critieria.",
        "operationId": "getPreviewSavingsOffers",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "Offer Preview"
        ],
        "parameters": [
          {
            "name": "maxDepositAmount",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "minDepositAmount",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "zipCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SavingsOffer"
                  }
                },
                "examples": {
                  "previewSavingsOffers": {
                    "$ref": "#/components/examples/PreviewSavingsOffers"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    },
    "/supplyAnalytics/leadEvents": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "supply-analytics",
          "path": "/leadEvents"
        },
        "summary": "Get lead events",
        "description": "### What is the Lead Events API used for?\n\nWith 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\nThe 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.\n\n### How does it work?\n\nThe endpoint is cursor based. You can consume batches of events for the product tied to your sub account. All that is required is a bearer token and previous `paginationToken` or `sinceTimestamp`. The endpoint will respond with all of the events that have happened from that point forward subject to optional `untilTimestamp` parameter and page size limit. It will also include a pointer to the next page (`paginationToken`) to be used for a subsequent call. This endpoint should be polled hourly to fetch new events.\n\nFor convenience, we provide a `shouldContinuePolling` flag to signal if data has been published at the location of the `nextUrl`. Since the endpoint will return as much data as it can, unless there is more data that can fit in a single response, this flag will usually be false as all available data has been returned.\n\nThe 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.\n\nIf constructing the url manually, subsequent requests should use `paginationToken` from the last response and omit `sinceTimestamp`.\n\nThis endpoint should be polled no more frequently than every 5 minutes, we recommend hourly. Data for this endpoint is made available with a 5 minute SLA.\n\nIf the current time is '2020-01-01T00:15:00Z' UTC, making a request to this endpoint with the timestamp set to '2020-01-01T00:14:00Z' will error because of the 5 minute SLA. Making a request with a timestamp of '2020-01-01T00:09:00Z' however, will succeed.\n\n### Event Definitions\n\nCommon Attributes\n\n<table>\n  <thead>\n    <tr>\n      <th>Attribute Name</th>\n      <th>Type</th>\n      <th>Format</th>\n      <th>Enum</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>eventType</td>\n      <td>string</td>\n      <td>&#xa0;</td>\n      <td>leadCreated appSubmitted apiApproved apiRejected offerClicked affiliateOfferClicked applied approved listed opened funded conversation lenderQualifiedLead</td>\n    </tr>\n    <tr>\n      <td>leadUuid</td>\n      <td>string</td>\n      <td>uuid</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>leadCreatedAt</td>\n      <td>string</td>\n      <td>date-time</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>eventCreatedAt</td>\n      <td>string</td>\n      <td>date-time</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>eventDeletedAt</td>\n      <td>string</td>\n      <td>date-time</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>amountInCents</td>\n      <td>double</td>\n      <td>&#xa0;</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>supplySubAccountName</td>\n      <td>string</td>\n      <td>&#xa0;</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>supplySubAccountUuid</td>\n      <td>string</td>\n      <td>uuid</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>financialInstitutionName</td>\n      <td>string</td>\n      <td>&#xa0;</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>financialInstitutionUuid</td>\n      <td>string</td>\n      <td>uuid</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>unifiedProductType</td>\n      <td>string</td>\n      <td>&#xa0;</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>productType</td>\n      <td>string</td>\n      <td>&#xa0;</td>\n      <td>creditCard insurance lifeInsurance loan mortgage savings other</td>\n    </tr>\n    <tr>\n      <td>productSubType</td>\n      <td>string</td>\n      <td>&#xa0;</td>\n      <td>&#xa0;</td>\n    </tr>\n    <tr>\n      <td>isTest</td>\n      <td>boolean</td>\n      <td>&#xa0;</td>\n      <td>Whether a Lead was created using a test access token</td>\n    </tr>\n    <tr>\n      <td>paginationTimestamp</td>\n      <td>string</td>\n      <td>date-time</td>\n      <td>Time when the event entered our system.</td>\n    </tr>\n  </tbody>\n</table>\n\nCommon Event Types\n\n<table>\n  <thead>\n    <tr>\n      <th> Event Type </th>\n      <th> Required Attributes </th>\n      <th> Optional Attributes </th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td> leadCreated </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt </td>\n      <td> </td>\n    </tr>\n    <tr>\n      <td> appSubmitted </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt </td>\n      <td> </td>\n    </tr>\n    <tr>\n      <td> apiApproved </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> apiRejected </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> offerClicked </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> affiliateOfferClicked </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> applied </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> approved </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> listed </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> opened </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n  </tbody>\n</table>\n\nEvent Types for Personal Loans Funnel\n\n<table>\n  <thead>\n    <tr>\n      <th> Event Type </th>\n      <th> Definition </th>\n      <th> Required Attributes </th>\n      <th> Optional Attributes </th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td> leadCreated </td>\n      <td> A user enters the marketplace funnel </td>\n      <td> See under common event types </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> appSubmitted </td>\n      <td> The lead has filled out the information in the Engine by MoneyLion application and a rate table has been created </td>\n      <td> See under common event types </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> apiApproved </td>\n      <td> Financial institution has pre-approved or pre-qualified a user for at least one offer </td>\n      <td> See under common event types </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> apiRejected </td>\n      <td> Financial institution has not pre-approved or pre-qualified a user for any offers </td>\n      <td> See under common event types </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> offerClicked </td>\n      <td> The user clicks on or is auto redirected into an offer </td>\n      <td> See under common event types </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> affiliateOfferClicked </td>\n      <td> The user clicks on or is auto redirected into an affiliate offer </td>\n      <td> See under common event types </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> applied </td>\n      <td> The user applied for an offer in the financial institution's experience </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType amountInCents </td>\n    </tr>\n    <tr>\n      <td> approved </td>\n      <td> The user was approved for an offer after applying in the financial institution's experience </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType amountInCents </td>\n    </tr>\n    <tr>\n      <td> listed </td>\n      <td> The user's loan was listed on the financial institution's marketplace for funding </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType amountInCents </td>\n    </tr>\n    <tr>\n      <td> funded </td>\n      <td> The user has a loan funded </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType amountInCents </td>\n    </tr>\n    <tr>\n      <td> opened </td>\n      <td> The user monetizes with a special offer </td>\n      <td> See under common events </td>\n      <td></td>\n    </tr>\n    <tr>\n      <td> conversion </td>\n      <td> This event varies by lender, and will be deprecated. </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n    <tr>\n      <td> lenderQualifiedLead </td>\n      <td> Financial institution further collected information from a lead </td>\n      <td> eventType leadUuid leadCreatedAt eventCreatedAt financialInstitutionName financialInstitutionUuid amountInCents </td>\n      <td> unifiedProductType productType productSubType </td>\n    </tr>\n  </tbody>\n</table>\n",
        "operationId": "getLeadEvents",
        "security": [
          {
            "confidentialBearerToken": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "parameters": [
          {
            "name": "sinceTimestamp",
            "in": "query",
            "required": false,
            "description": "The lower bound for when an event hit Engine's system. Use this on your initial request.\n",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "untilTimestamp",
            "in": "query",
            "required": false,
            "description": "The upper bound of events to include (exclusive - timestamps less than this parameter)\n",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "Opaque cursor for subsequent requests. Obtained from previous response.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "required": false,
            "description": "List of event types to filter by if specified. Pass multiple values either as repeated parameters or a single parameter with comma separated values.\n",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "API-Version",
            "in": "header",
            "required": true,
            "description": "Supply Analytics API version header. Must be set to 2025-04-01 for v3.\n",
            "schema": {
              "type": "string",
              "example": "2025-04-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadEventResponse"
                },
                "examples": {
                  "leadEventResponse": {
                    "summary": "Lead event",
                    "value": {
                      "nextUrl": "https://api.engine.tech/supplyAnalytics/leadEvents?paginationToken=gFqksQ5bGTVFoEbYs15RK9Y4JnMyjaA2qdH9kfkMQCWnKLL5BKxcyZUbXVQszy3fr8CjLvAYfnGpBfais9g",
                      "shouldContinuePolling": false,
                      "paginationToken": "gFqksQ5bGTVFoEbYs15RK9Y4JnMyjaA2qdH9kfkMQCWnKLL5BKxcyZUbXVQszy3fr8CjLvAYfnGpBfais9g",
                      "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,
                          "paginationTimestamp": "2019-09-22T17:51:00Z"
                        },
                        {
                          "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,
                          "paginationTimestamp": "2019-10-10T20:51:00Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "422": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiError"
                  }
                },
                "examples": {
                  "missingTimestamp": {
                    "$ref": "#/components/examples/MissingTimestamp"
                  },
                  "timestampTooLate": {
                    "$ref": "#/components/examples/TimestampTooLate"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/supplyAnalytics/leadPayouts": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "supply-analytics",
          "path": "/leadPayouts"
        },
        "summary": "Get lead payouts",
        "description": "### What is the Lead Payouts API used for?\n\nWith 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.\n\nWe recently added two additional optional fields to the payout event information tied to leads:\n\n\n  - `financialInstitutionUuid`\n  - `financialInstitutionName`\n\n\nThese 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.\n\nLeadPayout `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.\n\n### How does it work?\n\nThe endpoint is cursor based. You can consume batches of events for the product tied to your company uuid. All that is required is a bearer token and previous `paginationToken` or `sinceTimestamp`. The endpoint will respond with all of the events that have happened from that point forward subject to optional `untilTimestamp` parameter and page size limit (currently 40000 records but this could change). It will also include a pointer to the next page (`paginationToken`) to be used for a subsequent call. This endpoint should be polled hourly to fetch new events.\n\nFor convenience, we provide a `shouldContinuePolling` flag to signal if data has been published at the location of the `nextUrl`. Since the endpoint will return as much data as it can, unless there is more data that can fit in a single response, this flag will usually be false as all available data has been returned.\n\nThe 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.\n\nIf constructing the url manually, subsequent requests should use `paginationToken` from the last response and omit `sinceTimestamp`.\n\nThis endpoint should be polled no more frequently than every 5 minutes, we recommend hourly. Data for this endpoint is made available with a 5 minute SLA. If the current time is '2020-01-01T00:15:00Z' UTC, making a request to this endpoint with the timestamp set to '2020-01-01T00:14:00Z' will error because of the 5 minute SLA. Making a request with a timestamp of '2020-01-01T00:09:00Z' however will succeed.\n",
        "operationId": "getLeadPayouts",
        "security": [
          {
            "confidentialBearerToken": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "parameters": [
          {
            "name": "sinceTimestamp",
            "in": "query",
            "required": false,
            "description": "The lower bound for when an event hit Engine's system. Use this on your initial request.\n",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "untilTimestamp",
            "in": "query",
            "required": false,
            "description": "The upper bound of events to include (exclusive - timestamps less than this parameter)\n",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "Opaque cursor for subsequent requests. Obtained from previous response.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "API-Version",
            "in": "header",
            "required": true,
            "description": "Supply Analytics API version header. Must be set to 2025-04-01 for v3.\n",
            "schema": {
              "type": "string",
              "example": "2025-04-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadPayoutResponse"
                },
                "examples": {
                  "leadPayoutResponse": {
                    "$ref": "#/components/examples/LeadPayoutResponse"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "422": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiError"
                  }
                },
                "examples": {
                  "missingTimestamp": {
                    "$ref": "#/components/examples/MissingTimestamp"
                  },
                  "timestampTooLate": {
                    "$ref": "#/components/examples/TimestampTooLate"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/supplyAnalytics/leadClientTags": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "supply-analytics",
          "path": "/leadClientTags"
        },
        "summary": "Get lead client tags",
        "description": "### What is the Lead Client Tags API used for?\n\nClient 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:\n\n\n - See how various traffic sources on the supply partners site perform\n - See what preferences their users from different segments have\n\n\nThe lead client tag endpoint returns client tags associated with a lead.\n\nClient tags are intended for segmentation and attribution (e.g., campaign ID, article source, user cohort). They should not contain personally identifiable information (PII) such as names, email addresses, phone numbers, or social security numbers.\n\nFor more information on how to send client tags to Engine please refer to: https://engine.tech/developer-center/references/appendix/appendix-e-appending-client-tags-to-leads-posted-to-engine\n\n### How does it work?\n\nThe endpoint is cursor based. You can consume batches of events for the product tied to your company uuid. All that is required is a bearer token and previous `paginationToken` or `sinceTimestamp`. The endpoint will respond with all of the events that have happened from that point forward subject to optional `untilTimestamp` parameter and page size limit (currently 40000 records but this could change). It will also include a pointer to the next page (`paginationToken`) to be used for a subsequent call. This endpoint should be polled hourly to fetch new events.\n\nFor convenience, we provide a `shouldContinuePolling` flag to signal if data has been published at the location of the `nextUrl`. Since the endpoint will return as much data as it can, unless there is more data that can fit in a single response, this flag will usually be false as all available data has been returned.\n\nThe 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.\n\nIf constructing the url manually, subsequent requests should use `paginationToken` from the last response and omit `sinceTimestamp`.\n\nThis endpoint should be polled no more frequently than every 5 minutes, we recommend hourly. Data for this endpoint is made available with a 5 minute SLA. If the current time is '2020-01-01T00:15:00Z' UTC, making a request to this endpoint with the timestamp set to '2020-01-01T00:14:00Z' will error because of the 5 minute SLA. Making a request with a timestamp of '2020-01-01T00:09:00Z' however will succeed.\n",
        "operationId": "getLeadClientTags",
        "security": [
          {
            "confidentialBearerToken": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "parameters": [
          {
            "name": "sinceTimestamp",
            "in": "query",
            "required": false,
            "description": "The lower bound for when an event hit Engine's system. Use this on your initial request.\n",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "untilTimestamp",
            "in": "query",
            "required": false,
            "description": "The upper bound of events to include (exclusive - timestamps less than this parameter)\n",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "Opaque cursor for subsequent requests. Obtained from previous response.\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "API-Version",
            "in": "header",
            "required": true,
            "description": "Supply Analytics API version header. Must be set to 2025-04-01 for v3.\n",
            "schema": {
              "type": "string",
              "example": "2025-04-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadClientTagsResponse"
                },
                "examples": {
                  "leadClientTagResponse": {
                    "value": {
                      "$ref": "#/components/examples/LeadClientTagResponse"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "422": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiError"
                  }
                },
                "examples": {
                  "missingTimestamp": {
                    "$ref": "#/components/examples/MissingTimestamp"
                  },
                  "timestampTooLate": {
                    "$ref": "#/components/examples/TimestampTooLate"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/supplyAnalytics/leadsInfo/{leadUuid}": {
      "x-lint-skip": [
        "path-resource-is-plural"
      ],
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "x-implemented-by": {
          "service": "supply-analytics",
          "path": "/leadsInfo/{leadUuid}"
        },
        "summary": "Get all combined information for a lead",
        "description": "Provides a snapshot of all information about a lead - events, payouts and client tags.\n\nIn rare cases with extremely large data volume, results may be truncated to fit the response size limit and HTTP 206 will be returned along with `warnings`.\n",
        "operationId": "getLeadsInfo",
        "security": [
          {
            "confidentialBearerToken": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "parameters": [
          {
            "name": "leadUuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The UUID of the lead you wish to obtain the information for."
          },
          {
            "name": "API-Version",
            "in": "header",
            "required": true,
            "description": "Supply Analytics API version header. Must be set to 2025-04-01 for v3.",
            "schema": {
              "type": "string",
              "example": "2025-04-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadInfoResponse"
                }
              }
            }
          },
          "206": {
            "description": "Partial Content - results were truncated to fit response size limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadInfoResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/InvalidRequest"
          }
        }
      }
    },
    "/uiEvent/sessionInits": {
      "x-implemented-by": {
        "service": "ui-event",
        "path": "/offerDisplays"
      },
      "post": {
        "summary": "Record new session",
        "description": "Records that a user has begun a new session. A session can be any\nextended interaction with the Engine by MoneyLion API by an individual user.\n\nThe most common use case is to initiate a session when a user lands on\na financial offer search experience. You can either supply `sessionUuid`\nin the request body, or submit an empty body and one will be generated\nfor you. In either case, the returned `sessionUuid` should be included\nin the lead body of subsequent rate table requests.\n",
        "operationId": "createSessionInit",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Events"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionInitCreateData"
              },
              "examples": {
                "sessionInitCreateData": {
                  "$ref": "#/components/examples/SessionInitCreateData"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionInit"
                },
                "examples": {
                  "sessionInit": {
                    "$ref": "#/components/examples/SessionInit"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          }
        }
      }
    },
    "/uiEvent/offerDisplays": {
      "x-implemented-by": {
        "service": "ui-event",
        "path": "/sessionInits"
      },
      "post": {
        "summary": "Record offer display",
        "description": "Records that an offer was displayed to a user.\n\nYou can also use a pixel to record this event, by rendering an `img`\ntag in the DOM alongside the offer, where the `src` URL follows this\npattern: `/uiEvent/offerDisplays/{leadUuid}/{rateTableUuid}/{offerUuid}/pixel.gif`\n\nSo, 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\">`\n\nThe URL will always respond successfully with a transparent 1x1 GIF.\n",
        "operationId": "createOfferDisplay",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Events"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OfferDisplayCreateData"
              },
              "examples": {
                "offerDisplayCreateData": {
                  "$ref": "#/components/examples/OfferDisplayCreateData"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OfferDisplay"
                },
                "examples": {
                  "offerDisplay": {
                    "$ref": "#/components/examples/OfferDisplay"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          }
        }
      }
    },
    "/leads/universities": {
      "get": {
        "x-implemented-by": {
          "service": "lead",
          "path": "/leads/universities"
        },
        "summary": "Get university names",
        "description": "Get a list of university names that correspond to the specified fragment.\n\nThis 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](https://engine.tech/docs/api-reference/#student-loan-refinancing).",
        "operationId": "getUniversities",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Utils"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Fragment of a university name to seach for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of results to skip before the first returned result.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of results to return.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "examples": {
                  "universityNamesMatchingJohns": {
                    "$ref": "#/components/examples/UniversityNamesMatchingJohns"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          }
        }
      }
    },
    "/leads/vehicles/years": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "summary": "Get vehicle years",
        "description": "Get all available vehicle years\n\nThis 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](https://engine.tech/docs/api-reference/#auto-loan-refinancing).",
        "operationId": "getVehicleYears",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Utils"
        ],
        "parameters": [
          {
            "name": "minYear",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "maxYear",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Valid vehicle years",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/leads/vehicles/makes": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "summary": "Get vehicle makes",
        "description": "Get all makes for the given vehicle year\n\nThis 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](https://engine.tech/docs/api-reference/#auto-loan-refinancing).",
        "operationId": "getVehicleMakes",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Utils"
        ],
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Makes for given vehicle year",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          }
        }
      }
    },
    "/leads/vehicles/models": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "summary": "Get vehicle models",
        "description": "Get all models for the given vehicle year and make\n\nThis 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](https://engine.tech/docs/api-reference/#auto-loan-refinancing).",
        "operationId": "getVehicleModels",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Utils"
        ],
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "make",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Models for given vehicle year and make",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          }
        }
      }
    },
    "/leads/vehicles/trims": {
      "get": {
        "x-lint-skip": [
          "index-endpoint-has-limit"
        ],
        "summary": "Get vehicle trims",
        "description": "Get vehicle details, including trims and uuids, for the given year, make, and model\n\nThis 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](https://engine.tech/docs/api-reference/#auto-loan-refinancing).",
        "operationId": "getVehicleTrims",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Utils"
        ],
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "make",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Vehicle details, including trim and uuid, for the given year, make, model",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VehicleDetails"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          }
        }
      }
    },
    "/uiUtil/featuredFinancialInstitutions": {
      "x-implemented-by": {
        "service": "partner-data",
        "path": "/userExperience/featuredFinancialInstitutions"
      },
      "get": {
        "summary": "Get featured financial institutions",
        "description": "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.\n",
        "operationId": "getFeaturedFinancialInstitutions",
        "security": [
          {
            "publishableBearerToken": []
          }
        ],
        "tags": [
          "UI Utils"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeaturedFinancialInstitution"
                  }
                },
                "examples": {
                  "featuredFinancialInstitutions": {
                    "$ref": "#/components/examples/FeaturedFinancialInstitutions"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedRequest"
          },
          "422": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiError"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}