API Specifications

Authentication

Engine by MoneyLion will provide testing and production API bearer tokens. All requests to the Engine by MoneyLion API must be authenticated using a bearer token specified in the Authorization header.

The header value is prefixed with the string “Bearer “, so a properly-authenticated request will look similar to the one here:

Authorization: Bearer 0a930e7f-4a96-4388-8c12-c901a161084e_409cc5f2-4008-11aa-84a4-0b68f163f437

Post Request

The required format of the body (JSON) in the request to https://api.engine.tech/leads/rateTables:

{
  "productTypes": [
    "savings"
  ],
  "personalInformation": {
    "zipcode": "10010"
  },
  "savingsInformation": {
    "minDepositAmount": 1000
  },
  "clientTags": {
    "tag.sv": [
      "facebook_campaign"
    ]
  }
}

More information about key/value pair formatting and acceptable fields can be found here.

Response

Here is a sample response of /rateTables

Savings offers will appear in this schema

{
  ...,
  "savingsOffers": [
    {
      "uuid": "11111111-ae64-4bd5-8614-9119bab84e45",
      "partner": {
        "uuid": "00000000-4c51-4ade-b165-6f8218b06ac8",
        "name": "Sample Bank Brand Name",
        "description": "Sample Savings",
        "disclaimer": "None",
        "supportsPersonalizedOffers": false,
        "supportsPreSelect": false,
        "shouldDisplayPreSelect": false,
        "imageUrl": "https://www.sampleurl.com/content/125x70/img.png"
      },
      "marketplace": {
        "uuid": "22222222-c920-4c5e-966d-c8dc8cd4335f",
        "name": "LT",
        "description": "Description",
        "disclaimer": "Disclaimer",
        "supportsPersonalizedOffers": false,
        "supportsPreSelect": false,
        "shouldDisplayPreSelect": false,
        "imageUrl": "https://s3.amazonaws.com/test.png"
      },
      "productType": "savings",
      "productSubType": "savings_account",
      "url": "https://offers.engine.tech/ref/021d6704-dbd1-48f6-8677-9cdea4eea990",
      "details": {
        "name": "360 Performance Savings",
        "description": "<ul>\n<li>Access your money easily with Bill Pay</li>\n<li>Easy Opening</li>\n<li>No Monthly Service Fees</li>\n</ul>",
        "annualPercentYield": 2.1,
        "compoundingMethod": "monthly",
        "minimumDeposit": 0,
        "monthlyFee": 0,
        "checkWriting": false,
        "federalInsuranceType": "fdic",
        "effectiveAsOf": "2022-08-30T14:34:29.477165Z"
      },
      "expiresAt": "2022-08-30T16:34:29.477165Z"
    }
  ]
}

Below are the fields used for displaying offers:

Other Important Fields:

Asynchronous Flow Responses

Asynchronous Flow - https://api.engine.tech/leads/rateTables

Partners building a Native API integration posting user information to this endpoint will need to make a separate request to retrieve offers. This is the recommended endpoint given the partner’s flexibility to retrieve offers from a separate endpoint.

In the asynchronous flow, creating a rate table does not wait for all of our partners to respond with offers, instead, it contains an array of pending responses ({.pendingResponses}), as well as any resolved offers. You may poll the endpoint using the resulting ID to check for additional offers.

  • “uuid”: Engine by MoneyLion’s Rate Table UUID which will be used to retrieve offer information

  • “leadUuid”: Engine by MoneyLion’s Lead UUID which partners building a Native API integration should store for internal records

Here is an example of the API response. Note that pendingResponses contains information about the Financial Services partners to whom Engine by MoneyLion is sending user information:

{
  "uuid": "37d88231-8e0b-473f-a73e-6f6565b62389",
  "leadUuid": "d6d87f85-de69-4651-9adc-77917d546333",
  "creditCardOffers": [],
  "lifeInsuranceOffers": [],
  "lineOfCreditOffers": [],
  "loanOffers": [],
  "mortgageOffers": [],
  "savingsOffers": [],
  "specialOffers": [],
  "pendingOriginators": [],
  "pendingResponses": [
    {
      "partner": {
        "uuid": "9a3346bd-760e-42a6-94bf-16b8a9374223",
        "name": "Sample Bank Name",
        "description": "description",
        "disclaimer": "description",
        "supportsPersonalizedOffers": false,
        "supportsPreSelect": false,
        "shouldDisplayPreSelect": true,
        "imageUrl": "https://www.depositaccounts.com/content/spnsr/125x70/sample-bank-name-bank.png"
      },
      "productTypes": ["savings"]
    }
  ]
}

In the Asynchronous Flow, partners building a Native API integration must make a secondary request to Engine by MoneyLion’s API to retrieve offer information. Below are instructions for this secondary request:

  • Capture the “UUID” returned in the initial API response

  • Execute a GET request to Engine by MoneyLion’s Offers Endpoint – https://api.engine.tech/originator/rateTables/{uuid}

Poll the endpoint once every second up to 15 seconds, or until “pendingResponses” is empty

Below is an example of the API response for Engine by MoneyLion’s Offers endpoint. Note that pendingResponses is empty as Engine by MoneyLion has already received offers back for the user from all Financial Services partners.

{
  ...,
  "savingsOffers": [
    {
      "uuid": "00000000-ae64-4bd5-8614-9119bab84e45",
      "partner": {
        "uuid": "11111111-4c51-4ade-b165-6f8218b06ac8",
        "name": "Sample Bank Brand Name",
        "description": "Sample Savings",
        "disclaimer": "None",
        "supportsPersonalizedOffers": false,
        "supportsPreSelect": false,
        "shouldDisplayPreSelect": false,
        "imageUrl": "https://www.sampleurl.com/content/125x70/img.png"
      },
      "marketplace": {
        "uuid": "22222222-c920-4c5e-966d-c8dc8cd4335f",
        "name": "LT",
        "description": "Description",
        "disclaimer": "Disclaimer",
        "supportsPersonalizedOffers": false,
        "supportsPreSelect": false,
        "shouldDisplayPreSelect": false,
        "imageUrl": "https://s3.amazonaws.com/test.png"
      },
      "productType": "savings",
      "productSubType": "savings_account",
      "url": "https://offers.engine.tech/ref/d0000000-dbd1-48f6-8677-9cdea4eea990",
      "details": {
        "name": "360 Performance Savings",
        "description": "<ul>\n<li>Access your money easily with Bill Pay</li>\n<li>Easy Opening</li>\n<li>No Monthly Service Fees</li>\n</ul>",
        "annualPercentYield": 2.1,
        "compoundingMethod": "monthly",
        "minimumDeposit": 0,
        "monthlyFee": 0,
        "checkWriting": false,
        "federalInsuranceType": "fdic",
        "effectiveAsOf": "2022-08-30T14:34:29.477165Z"
      },
      "expiresAt": "2022-08-30T16:34:29.477165Z"
    }
  ]
}

Synchronous Flow

If you’d like details on supporting a synchronous flow, please contact your Engine by MoneyLion Partner Manager or partnersupport@engine.tech for help.

Last updated