Yodlee

Yodlee

Yodlee Guides

Since FinGoal handles user registration there is no need to add link token creation or exchange. First, you just need to register with the FinSightAPI, then you're ready to send users to the Link Money Gateway or widget with { auth headers } where they'll link their accounts.

Responses from data dumps can be sent via webhooks or you can call for the data manually via the endpoints listed below.

Yodlee Endpoints

The Link Money API exposes numerous endpoints for developers to interact with our data in a variety of ways. Each collection of endpoints offers access to a different set of functions. Most developers will only require a small portion of these endpoints to fully integrate with Link Money.

URL construction

Depending on which endpoint collection, you may only need to access certain endpoint collections and not others. Endpoint construction is essentially:

  1. The Base URL - for example, https://linkmoney-dev.fingoal.com
  2. The endpoint collection's name - In this case, yodlee.
  3. The version - each endpoint collection has separate versioning rather than a holistic version control for the entire api - for example, v1.
  4. The endpoint, as specified in each endpoint's documentation.

Some examples include:


https://linkmoney-dev.fingoal.com/v1/yodlee/transactions

Some developers who use Link Money API will be coming from another aggregator, Yodlee. ThoughYodlee's functionality is similar to what we're offering, it has a different call structure from our own. In order to minimize friction during the migration process, Link Money API provides endpoints the clone the Yodlee structure and receive and return Yodlee data.

User

Register User

Endpoint: POST /user/register

The register user service is used to register a user in Yodlee.

The loginName cannot include spaces and must be between 3 and 150 characters.

locale passed must be one of the supported locales for the customer.

Currency provided in the input will be respected in the derived services and the amount fields in the response will be provided in the preferred currency.

userParam is accepted as a body parameter.

Parameters

For the Request

NameLocationTypeIs Required ?Description
user
Request Body
Object
No
Look below at the User Schema in the Request
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X POST /user/register \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{ 
		{
		  "user": {
		    "preferences": {
		      "dateFormat": "string",
		      "timeZone": "string",
		      "currency": "AUD",
		      "locale": "en_US"
		    },
		    "address": {
		      "zip": "string",
		      "country": "string",
		      "address3": "string",
		      "address2": "string",
		      "city": "string",
		      "address1": "string",
		      "state": "string"
		    },
		    "loginName": "string",
		    "name": {
		      "middle": "string",
		      "last": "string",
		      "fullName": "string",
		      "first": "string"
		    },
		    "email": "string",
		    "segmentName": "string"
		  }
		}
	}'

Example Response

{
  "user": {
    "preferences": {
      "dateFormat": "string",
      "timeZone": "string",
      "currency": "AUD",
      "locale": "en_US"
    },
    "session": {
      "userSession": "string"
    },
    "loginName": "string",
    "name": {
      "middle": "string",
      "last": "string",
      "fullName": "string",
      "first": "string"
    },
    "id": 0,
    "roleType": "INDIVIDUAL"
  }
}

Get User

Endpoint: GET /user

The get user details service is used to get the user profile information and the application preferences set at the time of user registration.

Parameters

For the Request

NameLocationDescription
access_token
Headers
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
institution_id
Request Body
The ID of the institution to get details about.

Example Request

curl -X GET /user \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "user": {
    "preferences": {
      "dateFormat": "string",
      "timeZone": "string",
      "currency": "AUD",
      "locale": "en_US"
    },
    "address": {
      "zip": "string",
      "country": "string",
      "address3": "string",
      "address2": "string",
      "city": "string",
      "address1": "string",
      "state": "string"
    },
    "loginName": "string",
    "name": {
      "middle": "string",
      "last": "string",
      "fullName": "string",
      "first": "string"
    },
    "id": 0,
    "roleType": "INDIVIDUAL",
    "email": "string",
    "segmentName": "string"
  }
}

Update User

Endpoint: PUT /user

The update user details service is used to update user details like name, address, currency preference, etc. Currency provided in the input will be respected in the derived services and the amount fields in the response will be provided in the preferred currency.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
user
Request Body
Object
Yes
Look below at the User Schema in the Request

Example Request

curl -X PUT /user \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {token}" \
	-d '{ 
		 "user": {
		    "preferences": {
		      "dateFormat": "string",
		      "timeZone": "string",
		      "currency": "AUD",
		      "locale": "en_US"
		    },
		    "address": {
		      "zip": "string",
		      "country": "string",
		      "address3": "string",
		      "address2": "string",
		      "city": "string",
		      "address1": "string",
		      "state": "string"
		    },
		    "name": {
		      "middle": "string",
		      "last": "string",
		      "fullName": "string",
		      "first": "string"
		    },
		    "email": "string",
		    "segmentName": "string"
		  }
	}'

Example Response

The HTTP response code is 204 (Success without content).

Delete User

Endpoint: DELETE /user/unregister

The delete user service is used to delete or unregister a user from Yodlee. Once deleted, the information related to the users cannot be retrieved.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X DELETE /user/unregister \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

The HTTP response code is 204 (Success without content).

Accounts

Add Manual Account

Endpoint: POST /accounts

The add account service is used to add manual accounts. The response of add account service includes the account name , account number and Yodlee generated account id. All manual accounts added will be included as part of networth calculation by default. Add manual account support is available for bank, card, investment, insurance and loan container only.

Parameters

For the Request

NameLocationTypeIs Required ?Description
account.address.zip
Request Body
String
No
account.homeValue
Request Body
Object
No
Money
account.balance
Request Body
Object
No
Money
account.frequency
Request Body
String
No
Enum: "DAILY" "ONE_TIME" "WEEKLY" "EVERY_2_WEEKS" "SEMI_MONTHLY" "MONTHLY" "QUARTERLY" "SEMI_ANNUALLY" "ANNUALLY" "EVERY_2_MONTHS" "EBILL" "FIRST_DAY_MONTHLY" "LAST_DAY_MONTHLY" "EVERY_4_WEEKS" "UNKNOWN" "OTHER"
account.address
Request Body
Object
No
AccountAddress
account
Request Body
Object
No
CreateAccountInfo
account.amountDue.currency
Request Body
String
Yes
Enum: "AUD" "BRL" "CAD" "EUR" "GBP" "HKD" "IDR" "INR" "JPY" "NZD" "SGD" "USD" "ZAR" "CNY" "VND" "MYR" "CHF"
account.address.state
Request Body
String
No
account.address.country
Request Body
String
No
account.address.city
Request Body
String
No
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
account.address.type
Request Body
String
No
Enum: "HOME" "BUSINESS" "POBOX" "RETAIL" "OFFICE" "SMALL_BUSINESS" "COMMUNICATION" "PERMANENT" "STATEMENT_ADDRESS" "PAYMENT" "PAYOFF" "UNKNOWN"
account.memo
Request Body
String
No
[ 0 .. 250 ] characters
account.nickname
Request Body
String
No
[ 0 .. 50 ] characters
account.address.street
Request Body
String
No
account.accountNumber
Request Body
String
No
[ 0 .. 100 ] characters ^[a-zA-Z0-9]+$
account.includeInNetWorth
Request Body
String
No
account.amountDue
Request Body
Object
No
Money
account.dueDate
Request Body
String
No
account.homeValue.amount
Request Body
Number
Yes
account.address.address3
Request Body
String
No
account.address.address2
Request Body
String
No
account.homeValue.currency
Request Body
String
Yes
Enum: "AUD" "BRL" "CAD" "EUR" "GBP" "HKD" "IDR" "INR" "JPY" "NZD" "SGD" "USD" "ZAR" "CNY" "VND" "MYR" "CHF"
account.accountType
Request Body
String
Yes
[ 1 .. 2147483647 ] characters
account.accountName
Request Body
String
Yes
[ 1 .. 100 ] characters
account.valuationType
Request Body
String
No
Enum: "SYSTEM" "MANUAL"
account.amountDue.amount
Request Body
Number
Yes
account.address.address1
Request Body
String
No
account.balance.amount
Request Body
Number
Yes
account.address.sourceType
Request Body
String
No
account.balance.currency
Request Body
String
Yes
Enum: "AUD" "BRL" "CAD" "EUR" "GBP" "HKD" "IDR" "INR" "JPY" "NZD" "SGD" "USD" "ZAR" "CNY" "VND" "MYR" "CHF"

Example Request

curl -X POST /accounts \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
			  "account": {
			    "includeInNetWorth": "string",
			    "address": {
			      "zip": "string",
			      "country": "string",
			      "address3": "string",
			      "address2": "string",
			      "city": "string",
			      "sourceType": "string",
			      "address1": "string",
			      "street": "string",
			      "state": "string",
			      "type": "HOME"
			    },
			    "accountName": "string",
			    "accountType": "string",
			    "dueDate": "string",
			    "memo": "string",
			    "homeValue": {
			      "amount": 0,
			      "currency": "AUD"
			    },
			    "accountNumber": "string",
			    "frequency": "DAILY",
			    "amountDue": {
			      "amount": 0,
			      "currency": "AUD"
			    },
			    "balance": {
			      "amount": 0,
			      "currency": "AUD"
			    },
			    "nickname": "string",
			    "valuationType": "SYSTEM"
			  }
			}'

Example Response

{
  "account": [
    {
      "accountName": "string",
      "id": 0,
      "accountNumber": "string"
    }
  ]
}

Get Accounts

Endpoint: GET /accounts

The get accounts service provides information about accounts added by the user.

By default, this service returns information for active and to be closed accounts.

If requestId is provided, the accounts that are updated in the context of the requestId will be provided in the response.

Note:

  • fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.
  • fullAccountNumberList, PII (Personal Identifiable Information) and holder details are not available by default, as it is a premium feature that needs security approval. This will not be available for testing in Sandbox environment.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
providerAccountId
Query Parameters
String
No
Comma separated providerAccountIds.
accountId
Query Parameters
String
No
Comma separated accountIds.
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
status
Query Parameters
String
No
ACTIVE,INACTIVE,TO_BE_CLOSED,CLOSED
include
Query Parameters
String
No
profile, holder, fullAccountNumber, fullAccountNumberList, paymentProfile, autoRefresh Note:fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.
container
Query Parameters
String
No
bank/creditCard/investment/insurance/loan/reward/realEstate/otherAssets/otherLiabilities
requestId
Query Parameters
String
No
The unique identifier that returns contextual data

Example Request

curl -X GET /accounts \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "account": [
    {
      "availableCash": {
        "amount": 0,
        "currency": "AUD"
      },
      "includeInNetWorth": true,
      "moneyMarketBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "enrollmentDate": "string",
      "estimatedDate": "string",
      "memo": "string",
      "guarantor": "string",
      "interestPaidLastYear": {
        "amount": 0,
        "currency": "AUD"
      },
      "lastUpdated": "string",
      "balance": {
        "amount": 0,
        "currency": "AUD"
      },
      "homeInsuranceType": "HOME_OWNER",
      "id": 0,
      "cash": {
        "amount": 0,
        "currency": "AUD"
      },
      "totalCreditLine": {
        "amount": 0,
        "currency": "AUD"
      },
      "providerName": "string",
      "valuationType": "SYSTEM",
      "marginBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "apr": 0,
      "availableCredit": {
        "amount": 0,
        "currency": "AUD"
      },
      "currentBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "isManual": true,
      "profile": {
        "identifier": [
          {
            "type": "NIE",
            "value": "string"
          }
        ],
        "address": [
          {
            "zip": "string",
            "country": "string",
            "address3": "string",
            "address2": "string",
            "city": "string",
            "sourceType": "string",
            "address1": "string",
            "street": "string",
            "state": "string",
            "type": "HOME"
          }
        ],
        "phoneNumber": [
          {
            "type": "HOME",
            "value": "string"
          }
        ],
        "email": [
          {
            "type": "PRIMARY",
            "value": "string"
          }
        ]
      },
      "escrowBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "nextLevel": "string",
      "classification": "OTHER",
      "loanPayoffAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "interestRateType": "FIXED",
      "loanPayByDate": "string",
      "faceAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "policyFromDate": "string",
      "premiumPaymentTerm": "string",
      "policyTerm": "string",
      "repaymentPlanType": "STANDARD",
      "availableBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountStatus": "ACTIVE",
      "lifeInsuranceType": "OTHER",
      "fullAccountNumber": "string",
      "premium": {
        "amount": 0,
        "currency": "AUD"
      },
      "aggregationSource": "SYSTEM",
      "overDraftLimit": {
        "amount": 0,
        "currency": "AUD"
      },
      "nickname": "string",
      "term": "string",
      "interestRate": 0,
      "deathBenefit": {
        "amount": 0,
        "currency": "AUD"
      },
      "address": {
        "zip": "string",
        "country": "string",
        "address3": "string",
        "address2": "string",
        "city": "string",
        "sourceType": "string",
        "address1": "string",
        "street": "string",
        "state": "string",
        "type": "HOME"
      },
      "cashValue": {
        "amount": 0,
        "currency": "AUD"
      },
      "holder": [
        {
          "identifier": [
            {
              "type": "NIE",
              "value": "string"
            }
          ],
          "gender": "string",
          "ownership": "PRIMARY",
          "name": {
            "middle": "string",
            "last": "string",
            "fullName": "string",
            "first": "string"
          }
        }
      ],
      "401kLoan": {
        "amount": 0,
        "currency": "AUD"
      },
      "homeValue": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountNumber": "string",
      "createdDate": "string",
      "interestPaidYTD": {
        "amount": 0,
        "currency": "AUD"
      },
      "providerAccountId": 0,
      "collateral": "string",
      "dataset": [
        {
          "lastUpdated": "string",
          "updateEligibility": "ALLOW_UPDATE",
          "additionalStatus": "LOGIN_IN_PROGRESS",
          "nextUpdateScheduled": "string",
          "name": "BASIC_AGG_DATA",
          "lastUpdateAttempt": "string"
        }
      ],
      "runningBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "sourceId": "string",
      "dueDate": "string",
      "frequency": "DAILY",
      "maturityAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "associatedProviderAccountId": [
        0
      ],
      "isAsset": true,
      "principalBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "totalCashLimit": {
        "amount": 0,
        "currency": "AUD"
      },
      "maturityDate": "string",
      "minimumAmountDue": {
        "amount": 0,
        "currency": "AUD"
      },
      "annualPercentageYield": 0,
      "accountType": "string",
      "originationDate": "string",
      "totalVestedBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "rewardBalance": [
        {
          "expiryDate": "string",
          "balanceToReward": "string",
          "balanceType": "EXPIRING_BALANCE",
          "balance": 0,
          "description": "string",
          "balanceToLevel": "string",
          "units": "string"
        }
      ],
      "sourceAccountStatus": "IN_REPAYMENT",
      "derivedApr": 0,
      "policyEffectiveDate": "string",
      "totalUnvestedBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "annuityBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountName": "string",
      "totalCreditLimit": {
        "amount": 0,
        "currency": "AUD"
      },
      "policyStatus": "ACTIVE",
      "shortBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "lender": "string",
      "lastEmployeeContributionAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "providerId": "string",
      "lastPaymentDate": "string",
      "primaryRewardUnit": "string",
      "lastPaymentAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "remainingBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "userClassification": "BUSINESS",
      "bankTransferCode": [
        {
          "id": "string",
          "type": "BSB"
        }
      ],
      "expirationDate": "string",
      "coverage": [
        {
          "amount": [
            {
              "cover": {
                "amount": 0,
                "currency": "AUD"
              },
              "unitType": "PER_FAMILY",
              "type": "DEDUCTIBLE",
              "limitType": "IN_NETWORK",
              "met": {
                "amount": 0,
                "currency": "AUD"
              }
            }
          ],
          "planType": "PPO",
          "endDate": "string",
          "type": "VISION",
          "startDate": "string"
        }
      ],
      "cashApr": 0,
      "autoRefresh": {
        "additionalStatus": "SCHEDULED",
        "asOfDate": "string",
        "status": "ENABLED"
      },
      "oauthMigrationStatus": "IN_PROGRESS",
      "displayedName": "string",
      "fullAccountNumberList": {
        "paymentAccountNumber": "string",
        "unmaskedAccountNumber": "string"
      },
      "amountDue": {
        "amount": 0,
        "currency": "AUD"
      },
      "currentLevel": "string",
      "originalLoanAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "policyToDate": "string",
      "loanPayoffDetails": {
        "payByDate": "string",
        "payoffAmount": {
          "amount": 0,
          "currency": "AUD"
        },
        "outstandingBalance": {
          "amount": 0,
          "currency": "AUD"
        }
      },
      "paymentProfile": {
        "identifier": {
          "type": "REFERENCE_NUMBER",
          "value": "string"
        },
        "address": [
          {
            "zip": "string",
            "country": "string",
            "address3": "string",
            "address2": "string",
            "city": "string",
            "sourceType": "string",
            "address1": "string",
            "street": "string",
            "state": "string",
            "type": "HOME"
          }
        ],
        "paymentBankTransferCode": {
          "id": "string",
          "type": "ROUTING_NUMBER"
        }
      },
      "CONTAINER": "bank",
      "lastEmployeeContributionDate": "string",
      "lastPayment": {
        "amount": 0,
        "currency": "AUD"
      },
      "recurringPayment": {
        "amount": 0,
        "currency": "AUD"
      }
    }
  ]
}

Get Account Details

Endpoint: GET /accounts/:accountId

The get account details service provides detailed information of an account.

Note:

  • fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
include
Query Parameters
String
No
profile, holder, fullAccountNumber, fullAccountNumberList, paymentProfile, autoRefresh Note:fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.

Example Request

curl -X GET /accounts/:accountId \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "account": [
    {
      "availableCash": {
        "amount": 0,
        "currency": "AUD"
      },
      "includeInNetWorth": true,
      "moneyMarketBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "enrollmentDate": "string",
      "estimatedDate": "string",
      "memo": "string",
      "guarantor": "string",
      "interestPaidLastYear": {
        "amount": 0,
        "currency": "AUD"
      },
      "lastUpdated": "string",
      "balance": {
        "amount": 0,
        "currency": "AUD"
      },
      "homeInsuranceType": "HOME_OWNER",
      "id": 0,
      "cash": {
        "amount": 0,
        "currency": "AUD"
      },
      "totalCreditLine": {
        "amount": 0,
        "currency": "AUD"
      },
      "providerName": "string",
      "valuationType": "SYSTEM",
      "marginBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "apr": 0,
      "availableCredit": {
        "amount": 0,
        "currency": "AUD"
      },
      "currentBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "isManual": true,
      "profile": {
        "identifier": [
          {
            "type": "NIE",
            "value": "string"
          }
        ],
        "address": [
          {
            "zip": "string",
            "country": "string",
            "address3": "string",
            "address2": "string",
            "city": "string",
            "sourceType": "string",
            "address1": "string",
            "street": "string",
            "state": "string",
            "type": "HOME"
          }
        ],
        "phoneNumber": [
          {
            "type": "HOME",
            "value": "string"
          }
        ],
        "email": [
          {
            "type": "PRIMARY",
            "value": "string"
          }
        ]
      },
      "escrowBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "nextLevel": "string",
      "classification": "OTHER",
      "loanPayoffAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "interestRateType": "FIXED",
      "loanPayByDate": "string",
      "faceAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "policyFromDate": "string",
      "premiumPaymentTerm": "string",
      "policyTerm": "string",
      "repaymentPlanType": "STANDARD",
      "availableBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountStatus": "ACTIVE",
      "lifeInsuranceType": "OTHER",
      "fullAccountNumber": "string",
      "premium": {
        "amount": 0,
        "currency": "AUD"
      },
      "aggregationSource": "SYSTEM",
      "overDraftLimit": {
        "amount": 0,
        "currency": "AUD"
      },
      "nickname": "string",
      "term": "string",
      "interestRate": 0,
      "deathBenefit": {
        "amount": 0,
        "currency": "AUD"
      },
      "address": {
        "zip": "string",
        "country": "string",
        "address3": "string",
        "address2": "string",
        "city": "string",
        "sourceType": "string",
        "address1": "string",
        "street": "string",
        "state": "string",
        "type": "HOME"
      },
      "cashValue": {
        "amount": 0,
        "currency": "AUD"
      },
      "holder": [
        {
          "identifier": [
            {
              "type": "NIE",
              "value": "string"
            }
          ],
          "gender": "string",
          "ownership": "PRIMARY",
          "name": {
            "middle": "string",
            "last": "string",
            "fullName": "string",
            "first": "string"
          }
        }
      ],
      "401kLoan": {
        "amount": 0,
        "currency": "AUD"
      },
      "homeValue": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountNumber": "string",
      "createdDate": "string",
      "interestPaidYTD": {
        "amount": 0,
        "currency": "AUD"
      },
      "providerAccountId": 0,
      "collateral": "string",
      "dataset": [
        {
          "lastUpdated": "string",
          "updateEligibility": "ALLOW_UPDATE",
          "additionalStatus": "LOGIN_IN_PROGRESS",
          "nextUpdateScheduled": "string",
          "name": "BASIC_AGG_DATA",
          "lastUpdateAttempt": "string"
        }
      ],
      "runningBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "sourceId": "string",
      "dueDate": "string",
      "frequency": "DAILY",
      "maturityAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "associatedProviderAccountId": [
        0
      ],
      "isAsset": true,
      "principalBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "totalCashLimit": {
        "amount": 0,
        "currency": "AUD"
      },
      "maturityDate": "string",
      "minimumAmountDue": {
        "amount": 0,
        "currency": "AUD"
      },
      "annualPercentageYield": 0,
      "accountType": "string",
      "originationDate": "string",
      "totalVestedBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "rewardBalance": [
        {
          "expiryDate": "string",
          "balanceToReward": "string",
          "balanceType": "EXPIRING_BALANCE",
          "balance": 0,
          "description": "string",
          "balanceToLevel": "string",
          "units": "string"
        }
      ],
      "sourceAccountStatus": "IN_REPAYMENT",
      "derivedApr": 0,
      "policyEffectiveDate": "string",
      "totalUnvestedBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "annuityBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountName": "string",
      "totalCreditLimit": {
        "amount": 0,
        "currency": "AUD"
      },
      "policyStatus": "ACTIVE",
      "shortBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "lender": "string",
      "lastEmployeeContributionAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "providerId": "string",
      "lastPaymentDate": "string",
      "primaryRewardUnit": "string",
      "lastPaymentAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "remainingBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "userClassification": "BUSINESS",
      "bankTransferCode": [
        {
          "id": "string",
          "type": "BSB"
        }
      ],
      "expirationDate": "string",
      "coverage": [
        {
          "amount": [
            {
              "cover": {
                "amount": 0,
                "currency": "AUD"
              },
              "unitType": "PER_FAMILY",
              "type": "DEDUCTIBLE",
              "limitType": "IN_NETWORK",
              "met": {
                "amount": 0,
                "currency": "AUD"
              }
            }
          ],
          "planType": "PPO",
          "endDate": "string",
          "type": "VISION",
          "startDate": "string"
        }
      ],
      "cashApr": 0,
      "autoRefresh": {
        "additionalStatus": "SCHEDULED",
        "asOfDate": "string",
        "status": "ENABLED"
      },
      "oauthMigrationStatus": "IN_PROGRESS",
      "displayedName": "string",
      "fullAccountNumberList": {
        "paymentAccountNumber": "string",
        "unmaskedAccountNumber": "string"
      },
      "amountDue": {
        "amount": 0,
        "currency": "AUD"
      },
      "currentLevel": "string",
      "originalLoanAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "policyToDate": "string",
      "loanPayoffDetails": {
        "payByDate": "string",
        "payoffAmount": {
          "amount": 0,
          "currency": "AUD"
        },
        "outstandingBalance": {
          "amount": 0,
          "currency": "AUD"
        }
      },
      "paymentProfile": {
        "identifier": {
          "type": "REFERENCE_NUMBER",
          "value": "string"
        },
        "address": [
          {
            "zip": "string",
            "country": "string",
            "address3": "string",
            "address2": "string",
            "city": "string",
            "sourceType": "string",
            "address1": "string",
            "street": "string",
            "state": "string",
            "type": "HOME"
          }
        ],
        "paymentBankTransferCode": {
          "id": "string",
          "type": "ROUTING_NUMBER"
        }
      },
      "CONTAINER": "bank",
      "lastEmployeeContributionDate": "string",
      "lastPayment": {
        "amount": 0,
        "currency": "AUD"
      },
      "recurringPayment": {
        "amount": 0,
        "currency": "AUD"
      }
    }
  ]
}

The HTTP response code is 204 (Success without content).

Get Historical Balances

Endpoint: GET /accounts/historicalBalances

The historical balances service is used to retrieve the historical balances for an account or a user.

Historical balances are daily (D), weekly (W), and monthly (M).

The interval input should be passed as D, W, and M to retrieve the desired historical balances. The default interval is daily (D).

When no account id is provided, historical balances of the accounts that are active, to be closed, and closed are provided in the response.

If the fromDate and toDate are not passed, the last 90 days of data will be provided.

The fromDate and toDate should be passed in the YYYY-MM-DD format.

The date field in the response denotes the date for which the balance is requested.

includeCF needs to be sent as true if the customer wants to return carried forward balances for a date when the data is not available.

asofDate field in the response denotes the date as of which the balance was updated for that account.

When there is no balance available for a requested date and if includeCF is sent as true, the previous date for which the balance is available is provided in the response.

When there is no previous balance available, no data will be sent.

By default, pagination is available for the historicalBalances entity in this API. The skip and top parameters are used for pagination. In the skip and top parameters, pass the number of records to be skipped and retrieved, respectively. The response header provides the links to retrieve the next and previous set of transactions. The API will only retrieve a maximum 500 records by default when values for skip and top parameters are not provided.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
interval
Query Parameters
String
No
D-daily, W-weekly or M-monthly
fromDate
Query Parameters
String
No
from date for balance retrieval (YYYY-MM-DD)
includeCF
Query Parameters
Boolean
No
Consider carry forward logic for missing balances
toDate
Query Parameters
String
No
toDate for balance retrieval (YYYY-MM-DD)
skip
Query Parameters
Number
No
skip (Min 0)
top
Query Parameters
Number
No
top (Max 500)
accountId
Query Parameters
String
No
accountId
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /accounts/historicalBalances \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "account": [
    {
      "historicalBalances": [
        {
          "date": "string",
          "isAsset": true,
          "balance": {
            "amount": 0,
            "currency": "AUD"
          },
          "asOfDate": "string",
          "dataSourceType": "S"
        }
      ],
      "id": 0
    }
  ]
}

Update Account

Endpoint: PUT /accounts/:accountId

The update account service is used to update manual and aggregated accounts.

The HTTP response code is 204 (Success without content).

Update manual account support is available for bank, card, investment, insurance, loan, otherAssets, otherLiabilities and realEstate containers only.

Note:

  • A real estate account update is only supported for SYSTEM and MANUAL valuation type.
  • Attribute isEbillEnrolled is deprecated as it is applicable for bill accounts only.

Parameters

For the Request

NameLocationTypeIs Required ?Description
account.isEbillEnrolled
Request Body
String
No
[ 0 .. 50 ] characters
account.container
Request Body
String
No
Enum: "bank" "creditCard" "investment" "insurance" "loan" "reward" "realEstate" "otherAssets" "otherLiabilities"
account.address.city
Request Body
String
No
account.address.state
Request Body
String
No
account.includeInNetWorth
Request Body
String
No
account.accountName
Request Body
String
No
[ 1 .. 100 ] characters
account.accountStatus
Request Body
String
No
Enum: "ACTIVE" "INACTIVE" "TO_BE_CLOSED" "CLOSED" "DELETED"
account
Request Body
Object
No
UpdateAccountInfo
account.amountDue
Request Body
Object
No
Money
account.homeValue
Request Body
Object
No
Money
account.frequency
Request Body
String
No
Enum: "DAILY" "ONE_TIME" "WEEKLY" "EVERY_2_WEEKS" "SEMI_MONTHLY" "MONTHLY" "QUARTERLY" "SEMI_ANNUALLY" "ANNUALLY" "EVERY_2_MONTHS" "EBILL" "FIRST_DAY_MONTHLY" "LAST_DAY_MONTHLY" "EVERY_4_WEEKS" "UNKNOWN" "OTHER"
account.homeValue.amount
Request Body
Number
No
account.address.sourceType
Request Body
String
No
account.amountDue.currency
Request Body
String
No
Enum: "AUD" "BRL" "CAD" "EUR" "GBP" "HKD" "IDR" "INR" "JPY" "NZD" "SGD" "USD" "ZAR" "CNY" "VND" "MYR" "CHF"
account.balance.amount
Request Body
Number
No
account.amountDue.amount
Request Body
Number
No
account.address.zip
Request Body
String
No
account.address
Request Body
Object
No
AccountAddress
account.homeValue.currency
Request Body
String
No
Enum: "AUD" "BRL" "CAD" "EUR" "GBP" "HKD" "IDR" "INR" "JPY" "NZD" "SGD" "USD" "ZAR" "CNY" "VND" "MYR" "CHF"
account.address.type
Request Body
String
No
Enum: "HOME" "BUSINESS" "POBOX" "RETAIL" "OFFICE" "SMALL_BUSINESS" "COMMUNICATION" "PERMANENT" "STATEMENT_ADDRESS" "PAYMENT" "PAYOFF" "UNKNOWN"
account.accountNumber
Request Body
String
No
[ 0 .. 100 ] characters ^[a-zA-Z0-9]+$
account.address.address1
Request Body
String
No
account.address.street
Request Body
String
No
account.address.address3
Request Body
String
No
account.accountType
Request Body
String
No
[ 1 .. 2147483647 ] characters
account.address.address2
Request Body
String
No
account.nickname
Request Body
String
No
[ 0 .. 50 ] characters
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
account.dueDate
Request Body
String
No
account.balance.currency
Request Body
String
No
Enum: "AUD" "BRL" "CAD" "EUR" "GBP" "HKD" "IDR" "INR" "JPY" "NZD" "SGD" "USD" "ZAR" "CNY" "VND" "MYR" "CHF"
account.address.country
Request Body
String
No
account.memo
Request Body
String
No
[ 0 .. 250 ] characters
account.balance
Request Body
Object
No
Money

Example Request

curl -X PUT /accounts/:accountId \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
		  "account": {
		    "container": "bank",
		    "includeInNetWorth": "string",
		    "address": {
		      "zip": "string",
		      "country": "string",
		      "address3": "string",
		      "address2": "string",
		      "city": "string",
		      "sourceType": "string",
		      "address1": "string",
		      "street": "string",
		      "state": "string",
		      "type": "HOME"
		    },
		    "accountName": "string",
		    "dueDate": "string",
		    "memo": "string",
		    "homeValue": {
		      "amount": 0,
		      "currency": "AUD"
		    },
		    "accountNumber": "string",
		    "frequency": "DAILY",
		    "accountStatus": "ACTIVE",
		    "amountDue": {
		      "amount": 0,
		      "currency": "AUD"
		    },
		    "balance": {
		      "amount": 0,
		      "currency": "AUD"
		    },
		    "isEbillEnrolled": "string",
		    "nickname": "string"
		  }
		}'

Example Response

The HTTP response code is 204 (Success without content).

Delete Account

Endpoint: DELETE /accounts/:accountId

The delete account service allows an account to be deleted.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X DELETE /accounts/:accountId \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

The HTTP response code is 204 (Success without content).

Transactions

Get Transactions

Endpoint: GET /transactions

The Transaction service is used to get a list of transactions for a user.By default, this service returns the last 30 days of transactions from today's date.The keyword parameter performs a contains search on the original, consumer, and simple description attributes, replace the special characters #, &, and + with percent-encoding values %23, %26, and %2B respectively. Eg: for -Debit# , pass the input as -Debit%23.Values for categoryId parameter can be fetched from get transaction category list service.The categoryId is used to filter transactions based on system-defined category as well as user-defined category.User-defined categoryIds should be provided in the filter with the prefix ''U''. E.g. U10002The skip and top parameters are used for pagination. In the skip and top parameters pass the number of records to be skipped and retrieved, respectively. The response header provides the links to retrieve the next and previous set of transactions.Double quotes in the merchant name will be prefixed by backslashes (\) in the response, e.g. Toys "R" Us.sourceId is a unique ID that the provider site has assigned to the transaction. The source ID is only available for the pre-populated accounts. Pre-populated accounts are the accounts that the FI customers shares with Yodlee, so that the user does not have to add or aggregate those accounts.Note

  • TDE is made available for bank and card accounts. The address field in the response is available only when the TDE key is turned on.
  • The pagination feature is available by default. If no values are passed in the skip and top parameters, the API will only return the first 500 transactions.
  • This service supports the localization feature and accepts locale as a header parameter.

Parameters

For the Request

NameLocationDescriptionTypeIs Required ?
top
Query Parameters
top (Max 500)
String
No
skip
Query Parameters
skip (Min 0)
String
No
accountId
Query Parameters
Comma separated accountIds
String
No
categoryType
Query Parameters
Transaction Category Type(UNCATEGORIZE, INCOME, TRANSFER, EXPENSE or DEFERRED_COMPENSATION)
String
No
fromDate
Query Parameters
Transaction from date(YYYY-MM-DD)
String
No
container
Query Parameters
bank/creditCard/investment/insurance/loan
String
No
access_token
Headers
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
String
Yes
keyword
Query Parameters
Transaction search text
String
No
baseType
Query Parameters
DEBIT/CREDIT
String
No
categoryId
Query Parameters
Comma separated categoryIds
String
No
toDate
Query Parameters
Transaction end date (YYYY-MM-DD)
String
No
detailCategoryId
Query Parameters
Comma separated detailCategoryIds
String
No
type
Query Parameters
Transaction Type(SELL,SWEEP, etc.) for bank/creditCard/investment
String
No
highLevelCategoryId
Query Parameters
Comma separated highLevelCategoryIds
String
No

Example Request

curl -X GET /transactions \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "transaction": [
    {
      "date": "string",
      "sourceId": "string",
      "symbol": "string",
      "cusipNumber": "string",
      "highLevelCategoryId": 0,
      "detailCategoryId": 0,
      "description": {
        "security": "string",
        "original": "string",
        "simple": "string",
        "consumer": "string"
      },
      "memo": "string",
      "settleDate": "string",
      "type": "string",
      "baseType": "CREDIT",
      "categorySource": "SYSTEM",
      "principal": {
        "amount": 0,
        "currency": "AUD"
      },
      "lastUpdated": "string",
      "interest": {
        "amount": 0,
        "currency": "AUD"
      },
      "price": {
        "amount": 0,
        "currency": "AUD"
      },
      "commission": {
        "amount": 0,
        "currency": "AUD"
      },
      "id": 0,
      "amount": {
        "amount": 0,
        "currency": "AUD"
      },
      "checkNumber": "string",
      "quantity": 0,
      "valoren": "string",
      "isManual": true,
      "merchant": {
        "website": "string",
        "address": {
          "zip": "string",
          "country": "string",
          "address3": "string",
          "address2": "string",
          "city": "string",
          "sourceType": "string",
          "address1": "string",
          "street": "string",
          "state": "string",
          "type": "HOME"
        },
        "contact": {
          "phone": "string",
          "email": "string"
        },
        "categoryLabel": [
          "string"
        ],
        "coordinates": {
          "latitude": 0,
          "longitude": 0
        },
        "name": "string",
        "id": "string",
        "source": "YODLEE"
      },
      "sedol": "string",
      "transactionDate": "string",
      "categoryType": "TRANSFER",
      "accountId": 0,
      "createdDate": "string",
      "sourceType": "AGGREGATED",
      "CONTAINER": "bank",
      "postDate": "string",
      "parentCategoryId": 0,
      "subType": "AUTH_HOLD",
      "category": "string",
      "runningBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "categoryId": 0,
      "holdingDescription": "string",
      "isin": "string",
      "status": "POSTED"
    }
  ]
}

Update Transaction

Endpoint: PUT /transactions/:transactionId

The update transaction service is used to update the category,consumer description, memo for a transaction.

Parameters

For the Request

NameLocationData TypeDescriptionIs Required ?
transaction.description
Request Body
Object
No
access_token
Headers
String
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
Yes
transaction.description.consumer
Request Body
String
The description of the transaction as defined by the consumer. The consumer can define or provide more details of the transaction in this field. Applicable containers: creditCard, insurance, loan
No
transaction.container
Request Body
String
Enum: "bank" "creditCard" "investment" "insurance" "loan" "reward" "realEstate" "otherAssets" "otherLiabilities"
Yes
transaction
Request Body
Object
UpdateTransaction
Yes
transaction.memo
Request Body
String
No
transaction.categoryId
Request Body
Number
Yes
transaction.categorySource
Request Body
String
Enum: "SYSTEM" "USER"
Yes

Example Request

curl -X PUT /transactions/:transactionId \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
	  "transaction": {
	    "categorySource": "SYSTEM",
	    "container": "bank",
	    "description": {
	      "consumer": "string"
	    },
	    "memo": "string",
	    "categoryId": 0
	  }
	}'

Example Response

The HTTP response code is 204 (Success without content).

Get Transactions Count

Endpoint: GET /transactions/count

The count service provides the total number of transactions for a specific user depending on the input parameters passed.

If you are implementing pagination for transactions, call this endpoint before calling GET /transactions to know the number of transactions that are returned for the input parameters passed.

The functionality of the input parameters remains the same as that of the GET /transactions endpoint.

Parameters

For the Request

NameLocationDescriptionTypeIs Required ?
detailCategoryId
Query Parameters
Comma separated detailCategoryIds
String
No
highLevelCategoryId
Query Parameters
Comma separated highLevelCategoryIds
String
No
baseType
Query Parameters
DEBIT/CREDIT
String
No
categoryId
Query Parameters
Comma separated categoryIds
String
No
fromDate
Query Parameters
Transaction from date(YYYY-MM-DD)
String
No
toDate
Query Parameters
Transaction end date (YYYY-MM-DD)
String
No
accountId
Query Parameters
Comma separated accountIds
String
No
access_token
Headers
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
String
Yes
container
Query Parameters
bank/creditCard/investment/insurance/loan
String
No
categoryType
Query Parameters
Transaction Category Type(UNCATEGORIZE, INCOME, TRANSFER, EXPENSE or DEFERRED_COMPENSATION)
String
No
type
Query Parameters
Transaction Type(SELL,SWEEP, etc.)
String
No
keyword
Query Parameters
Transaction search text
String
No

Example Request

curl -X GET /transactions/count \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \

Example Response

{
  "transaction": {
    "TOTAL": {
      "count": 0
    }
  }
}

Create Category

Endpoint: POST /transactions/categories

The create transaction categories service is used to create user-defined categories for a system-defined category.

The parentCategoryId is the system-defined category id.This can be retrieved using get transaction categories service.

The categoryName can accept minimum of 1, maximum of 50 alphanumeric or special characters.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
categoryName
Request Body
String
No
[ 1 .. 50 ] characters
parentCategoryId
Request Body
Number
Yes
>= 1
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X POST /transactions/categories \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
	  "parentCategoryId": 1,
	  "categoryName": "string"
	}'

Example Response

The HTTP response code is 201 (Created successfully).

Get Transaction Category List

Endpoint: GET /transactions/categories

The categories service returns the list of available transaction categories. High level category is returned in the response only if it is opted by the customer. When invoked by passing the cobrand session or admin access token, this service returns the supported transaction categories at the cobrand level. When invoked by passing the cobrand session and the user session or user access token, this service returns the transaction categories along with user-defined categories. Double quotes in the user-defined category name will be prefixed by backslashes (\) in the response, e.g. Toys "R" Us. Source and id are the primary attributes of the category entity.

Note:

  • This service supports the localization feature and accepts locale as a header parameter.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /transactions/categories \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \

Example Response

{
  "transactionCategory": [
    {
      "highLevelCategoryName": "string",
      "defaultHighLevelCategoryName": "string",
      "highLevelCategoryId": 0,
      "detailCategory": [
        {
          "name": "string",
          "id": 0
        }
      ],
      "id": 0,
      "source": "SYSTEM",
      "category": "string",
      "classification": "PERSONAL",
      "type": "TRANSFER",
      "defaultCategoryName": "string"
    }
  ]
}

Update Category

Endpoint: PUT /transactions/categories

The update transaction categories service is used to update the transaction category name for a high level category, a system-defined category and a user-defined category. The renamed category can be set back to the original name by passing an empty string for categoryName. The categoryName can accept minimum of 1, maximum of 50 alphanumeric or special characters.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
id
Request Body
Number
Yes
>= 1
categoryName
Request Body
String
No
source
Request Body
String
Yes
Enum: "SYSTEM" "USER"
highLevelCategoryName
Request Body
String
No
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X PUT /transactions/categories \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
	  "highLevelCategoryName": "string",
	  "id": 1,
	  "source": "SYSTEM",
	  "categoryName": "string"
	}'

Example Response

The HTTP response code is 204 (Success without content).

Delete Category

Endpoint: DELETE /transactions/categories/:categoryId

The delete transaction categories service is used to delete the given user-defined category.

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X DELETE /transactions/categories/:categoryId \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

The HTTP response code is 204 (Success without content).

Create or Run Transaction Categorization Rule

Endpoint: POST /transactions/categories/rules

The Create or Run Transaction Categorization Rule endpoint is used to: Create transaction categorization rules for both system and user-defined categories. Run all the transaction categorization rules to categorize transactions by calling the endpoint with action=run as the query parameter.

The input body parameters to create transaction categorization rules follow: categoryId - This field is mandatory and numeric priority - This field is optional and numeric. Priority decides the order in which the rule gets applied on transactions. ruleClause - This field is mandatory and should contain at least one rule field - The value can be description or amount

If the field value is description then,

  1. operation - value can be stringEquals or stringContains
  2. value - value should be min of 3 and max of 50 characters

If the field value is amount then,

  1. operation - value can be numberEquals, numberLessThan, numberLessThanEquals, numberGreaterThan or numberGreaterThanEquals
  2. value - min value 0 and a max value of 99999999999.99 is allowed

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
ruleParam
Query Parameters
String
No
rules(JSON format) to categorize the transactions
action
Query Parameters
String
No
To run rules, pass action=run. Only value run is supported

Example Request

curl -X POST /transactions/categories/rules \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{ "action": <string>, "ruleParam": <string> }'

Example Response

The HTTP response code is 201 (Created Successfully).

Get Transaction Categorization Rules

Endpoint: GET /transactions/categories/rules

The categories service returns the list of available transaction categories.High level category is returned in the response only if it is opted by the customer.When invoked by passing the cobrand session or admin access token, this service returns the supported transaction categories at the cobrand level.When invoked by passing the cobrand session and the user session or user access token, this service returns the transaction categoriesalong with user-defined categories.Double quotes in the user-defined category name will be prefixed by backslashes (\) in the response,e.g. Toys "R" Us.Source and id are the primary attributes of the category entity.

Note:

  • This service supports the localization feature and accepts locale as a header parameter.

Parameters

For the Request

NameLocationDescription
access_token
Headers
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /transactions/categories/rules \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "transactionCategory": [
    {
      "highLevelCategoryName": "string",
      "defaultHighLevelCategoryName": "string",
      "highLevelCategoryId": 0,
      "detailCategory": [
        {
          "name": "string",
          "id": 0
        }
      ],
      "id": 0,
      "source": "SYSTEM",
      "category": "string",
      "classification": "PERSONAL",
      "type": "TRANSFER",
      "defaultCategoryName": "string"
    }
  ]
}

Update Transaction Categorization Rule

Endpoint: PUT /transactions/categories/rules/:transactionCategoryRuleId

The update transaction categorization rule service is used to update a categorization rule for both system-defined category as well as user-defined category.

ruleParam JSON input should be as explained in the create transaction categorization rule service.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
rule.ruleClause[].field
Request Body
String
Yes
Enum: "amount" "description" Field for which the clause is created. Applicable containers: bank, creditCard, investment, insurance, loan Applicable Values: amount description
rule.ruleClause
Request Body
[Object]
Yes
FieldOperation
rule.ruleClause[].value
Request Body
Object
Yes
The value would be the amount value in case of amount based rule clause or the string value in case of description based rule clause. Applicable containers: bank, creditCard, investment, insurance, loan Applicable Values: field is description -> value should be min of 3 and max of 50 characters field is amount -> value should be min value of 0 and a max value of 99999999999.99
rule
Request Body
Object
Yes
TransactionCategorizationRuleInfo
rule.source
Request Body
String
No
Enum: "SYSTEM" "USER"
rule.categoryId
Request Body
Number
Yes
rule.priority
Request Body
Number
No
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
rule.ruleClause[].operation
Request Body
String
Yes
Enum: "numberEquals" "numberLessThan" "numberLessThanEquals" "numberGreaterThan" "numberGreaterThanEquals" "stringEquals" "stringContains" Operation for which the clause is created. Applicable containers: bank, creditCard, investment, insurance, loan Applicable values (depends on the value of field): field is description -> operation can be stringEquals stringContains field is amount -> operation can be numberEquals numberLessThan numberLessThanEquals numberGreaterThan numberGreaterThanEquals

Example Request

curl -X PUT /transactions/categories/rules/:transactionCategoryRuleId \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \ 
	-d '{
	  "rule": {
	    "ruleClause": [
	      {
	        "field": "amount",
	        "operation": "numberEquals",
	        "value": {}
	      }
	    ],
	    "source": "SYSTEM",
	    "priority": 0,
	    "categoryId": 0
	  }
	}'

Example Response

The HTTP response code is 204 (Success without content).

Run Transaction Categorization Rule

Endpoint: POST /transactions/categories/rules/:transactionCategoryRuleId

The run transaction categorization rule service is used to run a rule on transactions, to categorize the transactions.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
action
Query Parameters
String
Yes
Default: "run" Value: "run"

Example Request

curl -X POST /transactions/categories/rules/:transactionCategoryRuleId?action=run \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

The HTTP response code is 204 (Success without content).

Run All Transaction Categorization Rules

Endpoint: POST /transactions/categories/rules

Parameters

For the Request

NameLocationData TypeIs Required ?Description
action
Query Parameters
String
Yes
Default: "run" Value: "run"
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X POST /transactions/categories/rules?action=run \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

The HTTP response code is 204 (Success without content).

Delete Transaction Categorization Rule

Endpoint: DELETE /transactions/categories/rules/:transactionCategoryRuleId

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X DELETE /transactions/categories/rules/:transactionCategoryRuleId \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

The HTTP response code is 204 (Success without content).

Provider Accounts

Get Provider Accounts

Endpoint: GET /providerAccounts

The get provider accounts service is used to return all the provider accounts added by the user.

This includes the failed and successfully added provider accounts.

Parameters

For the Request

NameLocationTypeIs Required ?Description
providerIds
Query Parameters
String
No
Comma separated providerIds.
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
includes
Query Parameters
String
No
include

Example Request

curl -X GET /providerAccounts \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "providerAccount": [
    {
      "lastUpdated": "string",
      "consentId": 0,
      "preferences": {
        "isDataExtractsEnabled": true,
        "linkedProviderAccountId": 0,
        "isAutoRefreshEnabled": true
      },
      "createdDate": "string",
      "aggregationSource": "SYSTEM",
      "oauthMigrationStatus": "IN_PROGRESS",
      "providerId": 0,
      "requestId": "string",
      "isManual": true,
      "id": 0,
      "dataset": [
        {
          "lastUpdated": "string",
          "updateEligibility": "ALLOW_UPDATE",
          "additionalStatus": "LOGIN_IN_PROGRESS",
          "nextUpdateScheduled": "string",
          "name": "BASIC_AGG_DATA",
          "lastUpdateAttempt": "string"
        }
      ],
      "status": "LOGIN_IN_PROGRESS"
    }
  ]
}

Get Provider Account Details

Endpoint: GET /providerAccounts/:providerAccountId

The get provider account details service is used to learn the status of adding accounts and updating accounts.

This service has to be called continuously to know the progress level of the triggered process. This service also provides the MFA information requested by the provider site.

When include = credentials, questions is passed as input, the service returns the credentials (non-password values) and questions stored in the Yodlee system for that provider account.

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
includes
Query Parameters
String
No
include credentials,questions
requestId
Query Parameters
String
No
The unique identifier for the request that returns contextual data

Example Request

curl -X GET /providerAccounts/:providerAccountId \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "providerAccount": [
    {
      "preferences": {
        "isDataExtractsEnabled": true,
        "linkedProviderAccountId": 0,
        "isAutoRefreshEnabled": true
      },
      "oauthMigrationStatus": "IN_PROGRESS",
      "isManual": true,
      "lastUpdated": "string",
      "consentId": 0,
      "loginForm": [
        {
          "mfaInfoTitle": "string",
          "help": "string",
          "forgetPasswordURL": "string",
          "formType": "login",
          "mfaInfoText": "string",
          "loginHelp": "string",
          "mfaTimeout": 0,
          "id": 0,
          "row": [
            {
              "fieldRowChoice": "string",
              "field": [
                {
                  "image": "string",
                  "prefix": "string",
                  "minLength": 0,
                  "valueEditable": "string",
                  "isOptional": true,
                  "suffix": "string",
                  "type": "text",
                  "isValueProvided": true,
                  "name": "string",
                  "id": "string",
                  "value": "string",
                  "maxLength": 0,
                  "option": [
                    null
                  ]
                }
              ],
              "form": "string",
              "id": "string",
              "label": "string"
            }
          ]
        }
      ],
      "createdDate": "string",
      "aggregationSource": "SYSTEM",
      "providerId": 0,
      "requestId": "string",
      "id": 0,
      "dataset": [
        {
          "lastUpdated": "string",
          "updateEligibility": "ALLOW_UPDATE",
          "additionalStatus": "LOGIN_IN_PROGRESS",
          "nextUpdateScheduled": "string",
          "name": "BASIC_AGG_DATA",
          "lastUpdateAttempt": "string"
        }
      ],
      "status": "LOGIN_IN_PROGRESS"
    }
  ]
}

Update Account

Endpoint: PUT /providerAccounts

The update account API is used to:

  • Retrieve the latest information for accounts that belong to one providerAccount from the provider site. You must allow at least 15 min between requests.
  • Retrieve the latest information of all the eligible accounts that belong to the user.
  • Data to be retrieved from the provider site can be overridden using datasetName or dataset. If you do pass datasetName, all the datasets that are implicitly configured for the dataset will be retrieved. This action is allowed for single provider account refresh flows only.
  • Check the status of the providerAccount before invoking this API. Do not call this API to trigger any action on a providerAccount when an action is already in progress for the providerAccount.
  • If the customer has subscribed to the REFRESH event notification and invoked this API, relevant notifications will be sent to the customer.
  • A dataset may depend on another dataset for retrieval, so the response will include the requested and dependent datasets.
  • Check all the dataset additional statuses returned in the response because the provider account status is drawn from the dataset additional statuses.
  • Updating preferences using this API will trigger refreshes.
  • The content type has to be passed as application/json for the body parameter.

Update All Eligible Accounts - Notes:

  • This API will trigger a refresh for all the eligible provider accounts(both OB and credential-based accounts).
  • This API will not refresh closed, inactive, or UAR accounts, or accounts with refreshes in-progress or recently refreshed non-OB accounts.
  • No parameters should be passed to this API to trigger this action.
  • Do not call this API often. Our recommendation is to call this only at the time the user logs in to your app because it can hamper other API calls performance.
  • The response only contains information for accounts that were refreshed. If no accounts are eligible for refresh, no response is returned.

Parameters

For the Request

NameTypeDescriptionLocationIs Required ?
access_token
String
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
Headers
Yes
consentId
Number
Consent Id generated for the request through POST Consent.
Request Body
No
field[].id
String
Identifier for the field.
Request Body
No
dataset[].attribute[].containerAttributes.CREDITCARD.fullAccountNumberFields
[String]
Items Enum: "paymentAccountNumber" "unmaskedAccountNumber"
Request Body
No
dataset[].attribute[].containerAttributes
Object
ContainerAttributes
Request Body
No
dataset[].attribute[].containerAttributes.LOAN
Object
TransactionDays
Request Body
No
preferences.isAutoRefreshEnabled
Boolean
Indicates if auto-refreshes have to be triggered for the provider account.
Request Body
No
dataset[].attribute
[Object]
The name of the dataset attribute suported by the provider.
Request Body
No
datasetName
[String]
Items Enum: "BASIC_AGG_DATA" "ADVANCE_AGG_DATA" "ACCT_PROFILE" "DOCUMENT"
Request Body
No
dataset[].attribute[].containerAttributes.INVESTMENT
Object
TransactionDays
Request Body
No
dataset[].attribute[].containerAttributes.INSURANCE.fullAccountNumberFields
[String]
Items Enum: "paymentAccountNumber" "unmaskedAccountNumber"
Request Body
No
preferences.linkedProviderAccountId
Number
LinkedproviderAccountd is a providerAccountId linked by the user to the primary provider account. LinkedProviderAccountId and the providerAccountId belongs to the same institution.
Request Body
No
preferences.isDataExtractsEnabled
Boolean
Indicates if the updates to the provider account should be part of the data extracts event notification or the data extract data retrieval service.
Request Body
No
field[].value
String
Value expected from the user for the field. This will be blank and is expected to be filled and sent back when submitting the login or MFA information.
Request Body
No
dataset[].attribute[].containerAttributes.INVESTMENT.fullAccountNumberFields
[String]
Items Enum: "paymentAccountNumber" "unmaskedAccountNumber"
Request Body
No
preferences
Object
ProviderAccountPreferences
Request Body
No
dataset[].attribute[].containerAttributes.BANK.numberOfTransactionDays
Number
Request Body
No
dataset[].attribute[].containerAttributes.BANK.fullAccountNumberFields
[String]
Items Enum: "paymentAccountNumber" "unmaskedAccountNumber"
Request Body
No
dataset[].attribute[].containerAttributes.LOAN.fullAccountNumberFields
[String]
Items Enum: "paymentAccountNumber" "unmaskedAccountNumber"
Request Body
No
dataset[].attribute[].containerAttributes.BANK
Object
TransactionDays
Request Body
No
dataset[].attribute[].name
String
Enum: "BASIC_ACCOUNT_INFO" "TRANSACTIONS" "STATEMENTS" "HOLDINGS" "ACCOUNT_DETAILS" "TAX" "EBILLS" "FULL_ACCT_NUMBER" "BANK_TRANSFER_CODE" "HOLDER_NAME" "HOLDER_DETAILS" "PAYMENT_PROFILE" "PAYMENT_DETAILS" "INTEREST_DETAILS" "COVERAGE" Attributes that are supported for a dataset.
Request Body
No
dataset[].attribute[].containerAttributes.LOAN.numberOfTransactionDays
Number
Request Body
No
dataset[].attribute[].containerAttributes.CREDITCARD.numberOfTransactionDays
Number
Request Body
No
providerAccountIds
String
comma separated providerAccountIds
Query Parameters
Yes
dataset[].name
String
Enum: "BASIC_AGG_DATA" "ADVANCE_AGG_DATA" "ACCT_PROFILE" "DOCUMENT" The name of the dataset requested from the provider site
Request Body
No
aggregationSource
String
Enum: "SYSTEM" "USER"
Request Body
No
dataset[].attribute[].container
[String]
Items Enum: "bank" "creditCard" "investment" "insurance" "loan" "reward" "realEstate" "otherAssets" "otherLiabilities" Containers for which the attributes are supported.
Request Body
No
dataset
[Object]
ProvidersDataset
Request Body
No
dataset[].attribute[].containerAttributes.CREDITCARD
Object
TransactionDays
Request Body
No
field
[Object]
Field
Request Body
Yes
field[].image
String
Image displayed at the endsite.
Request Body
No
dataset[].attribute[].containerAttributes.INSURANCE.numberOfTransactionDays
Number
Request Body
No
dataset[].attribute[].containerAttributes.INSURANCE
Object
TransactionDays
Request Body
No
dataset[].attribute[].containerAttributes.INVESTMENT.numberOfTransactionDays
Number
Request Body
No

Example Request

curl -X PUT /providerAccounts?providerAccountIds=123 \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
	  "consentId": 0,
	  "preferences": {
	    "isDataExtractsEnabled": true,
	    "linkedProviderAccountId": 0,
	    "isAutoRefreshEnabled": true
	  },
	  "aggregationSource": "SYSTEM",
	  "field": [
	    {
	      "image": "string",
	      "id": "string",
	      "value": "string"
	    }
	  ],
	  "datasetName": [
	    "BASIC_AGG_DATA"
	  ],
	  "dataset": [
	    {
	      "name": "BASIC_AGG_DATA",
	      "attribute": [
	        {
	          "container": [
	            "bank"
	          ],
	          "containerAttributes": {
	            "BANK": {
	              "fullAccountNumberFields": [
	                "paymentAccountNumber"
	              ],
	              "numberOfTransactionDays": 0
	            },
	            "LOAN": {
	              "fullAccountNumberFields": [
	                "paymentAccountNumber"
	              ],
	              "numberOfTransactionDays": 0
	            },
	            "CREDITCARD": {
	              "fullAccountNumberFields": [
	                "paymentAccountNumber"
	              ],
	              "numberOfTransactionDays": 0
	            },
	            "INVESTMENT": {
	              "fullAccountNumberFields": [
	                "paymentAccountNumber"
	              ],
	              "numberOfTransactionDays": 0
	            },
	            "INSURANCE": {
	              "fullAccountNumberFields": [
	                "paymentAccountNumber"
	              ],
	              "numberOfTransactionDays": 0
	            }
	          },
	          "name": "BASIC_ACCOUNT_INFO"
	        }
	      ]
	    }
	  ]
	}'

Example Response

{
  "providerAccount": [
    {
      "lastUpdated": "string",
      "loginForm": [
        {
          "mfaInfoTitle": "string",
          "help": "string",
          "forgetPasswordURL": "string",
          "formType": "login",
          "mfaInfoText": "string",
          "loginHelp": "string",
          "mfaTimeout": 0,
          "id": 0,
          "row": [
            {
              "fieldRowChoice": "string",
              "field": [
                {
                  "image": "string",
                  "prefix": "string",
                  "minLength": 0,
                  "valueEditable": "string",
                  "isOptional": true,
                  "suffix": "string",
                  "type": "text",
                  "isValueProvided": true,
                  "name": "string",
                  "id": "string",
                  "value": "string",
                  "maxLength": 0,
                  "option": [
                    null
                  ]
                }
              ],
              "form": "string",
              "id": "string",
              "label": "string"
            }
          ]
        }
      ],
      "createdDate": "string",
      "aggregationSource": "SYSTEM",
      "oauthMigrationStatus": "IN_PROGRESS",
      "providerId": 0,
      "requestId": "string",
      "isManual": true,
      "id": 0,
      "dataset": [
        {
          "lastUpdated": "string",
          "updateEligibility": "ALLOW_UPDATE",
          "additionalStatus": "LOGIN_IN_PROGRESS",
          "nextUpdateScheduled": "string",
          "name": "BASIC_AGG_DATA",
          "lastUpdateAttempt": "string"
        }
      ],
      "status": "LOGIN_IN_PROGRESS"
    }
  ]
}

Update Preferences

Endpoint: PUT /providerAccounts/:providerAccountId/preferences

This endpoint is used to update preferences like data extracts and auto refreshes without triggering refresh for the providerAccount.

Setting isDataExtractsEnabled to false will not trigger data extracts notification and dataExtracts/events will not reflect any data change that is happening for the providerAccount.

Modified data will not be provided in the dataExtracts/userData endpoint.

Setting isAutoRefreshEnabled to false will not trigger auto refreshes for the provider account.

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
preferences
Request Body
Object
Yes
ProviderAccountPreferences
preferences.linkedProviderAccountId
Request Body
Number
Yes
LinkedproviderAccountd is a providerAccountId linked by the user to the primary provider account. LinkedProviderAccountId and the providerAccountId belongs to the same institution.
preferences.isDataExtractsEnabled
Request Body
Boolean
Yes
Indicates if the updates to the provider account should be part of the data extracts event notification or the data extract data retrieval service.
preferences.isAutoRefreshEnabled
Request Body
Boolean
Yes
Indicates if auto-refreshes have to be triggered for the provider account.

Example Request

curl -X PUT /providerAccounts/:providerAccountId/preferences \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" \
	-d '{
	  "preferences": {
	    "isDataExtractsEnabled": true,
	    "linkedProviderAccountId": 0,
	    "isAutoRefreshEnabled": true
	  }
	}'

Example Response

On Success, Response code is 204 ( No Data )

Delete Provider Account

Endpoint: DELETE /providerAccounts/:providerAccountId

The delete provider account service is used to delete a provider account from the Yodlee system. This service also deletes the accounts that are created in the Yodlee system for that provider account.

This service does not return a response. The HTTP response code is 204 (Success with no content).

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X DELETE /providerAccounts/:providerAccountId \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Example Response

On Success, Response code is 204 ( No Data )

Statements

Get Statements

Endpoint: GET /statements

The statements service is used to get the list of statement related information.

By default, all the latest statements of active and to be closed accounts are retrieved for the user.

Certain sites do not have both a statement date and a due date. When a fromDate is passed as an input, all the statements that have the due date on or after the passed date are retrieved.

For sites that do not have the due date, statements that have the statement date on or after the passed date are retrieved.

The default value of "isLatest" is true. To retrieve historical statements isLatest needs to be set to false.

Parameters

For the Request

NameLocationTypeIs Required ?Description
accountId
Query Parameters
String
No
accountId
status
Query Parameters
String
No
ACTIVE,TO_BE_CLOSED,CLOSED
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
container
Query Parameters
String
No
creditCard/loan/insurance
fromDate
Query Parameters
String
No
from date for statement retrieval (YYYY-MM-DD)
isLatest
Query Parameters
String
No
isLatest (true/false)

Example Request

curl -X GET /statements \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "statement": [
    {
      "apr": 0,
      "cashApr": 0,
      "billingPeriodStart": "string",
      "dueDate": "string",
      "interestAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "statementDate": "string",
      "cashAdvance": {
        "amount": 0,
        "currency": "AUD"
      },
      "billingPeriodEnd": "string",
      "principalAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "loanBalance": {
        "amount": 0,
        "currency": "AUD"
      },
      "amountDue": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountId": 0,
      "lastUpdated": "string",
      "isLatest": true,
      "minimumPayment": {
        "amount": 0,
        "currency": "AUD"
      },
      "lastPaymentDate": "string",
      "lastPaymentAmount": {
        "amount": 0,
        "currency": "AUD"
      },
      "id": 0,
      "newCharges": {
        "amount": 0,
        "currency": "AUD"
      }
    }
  ]
}

Derived

Get Holding Summary

Endpoint: GET /derived/holdingSummary

The get holding summary service is used to get the summary of asset classifications for the user.

By default, accounts with status as ACTIVE and TO BE CLOSED will be considered.

If the include parameter value is passed as details then a summary with holdings and account information is returned.

Parameters

For the Request

NameLocationTypeIs Required ?Description
include
Query Parameters
String
No
details
accountIds
Query Parameters
String
No
Comma separated accountIds
classificationType
Query Parameters
String
No
e.g. Country, Sector, etc.
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /derived/holdingSummary \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "holdingSummary": [
    {
      "holding": [
        {
          "symbol": "string",
          "exercisedQuantity": 0,
          "cusipNumber": "string",
          "assetClassification": {
            "allocation": 0,
            "classificationType": "string",
            "classificationValue": "string"
          },
          "vestedQuantity": 0,
          "description": "string",
          "unvestedValue": {
            "amount": 0,
            "currency": "AUD"
          },
          "securityStyle": "string",
          "vestedValue": {
            "amount": 0,
            "currency": "AUD"
          },
          "optionType": "put",
          "lastUpdated": "string",
          "matchStatus": "string",
          "holdingType": "stock",
          "maturityDate": "string",
          "price": {
            "amount": 0,
            "currency": "AUD"
          },
          "term": "string",
          "contractQuantity": 0,
          "id": 0,
          "isShort": true,
          "value": {
            "amount": 0,
            "currency": "AUD"
          },
          "expirationDate": "string",
          "interestRate": 0,
          "quantity": 0,
          "accruedInterest": {
            "amount": 0,
            "currency": "AUD"
          },
          "grantDate": "string",
          "sedol": "string",
          "vestedSharesExercisable": 0,
          "spread": {
            "amount": 0,
            "currency": "AUD"
          },
          "accountId": 0,
          "enrichedDescription": "string",
          "couponRate": 0,
          "createdDate": "string",
          "accruedIncome": {
            "amount": 0,
            "currency": "AUD"
          },
          "securityType": "string",
          "providerAccountId": 0,
          "unvestedQuantity": 0,
          "costBasis": {
            "amount": 0,
            "currency": "AUD"
          },
          "vestingDate": "string",
          "isin": "string",
          "strikePrice": {
            "amount": 0,
            "currency": "AUD"
          }
        }
      ],
      "classificationType": "string",
      "classificationValue": "string",
      "value": {
        "amount": 0,
        "currency": "AUD"
      },
      "account": [
        {
          "id": 0,
          "value": {
            "amount": 0,
            "currency": "AUD"
          }
        }
      ]
    }
  ],
  "link": {
    "holdings": "string"
  }
}

Get Transaction Summary

Endpoint: GET /derived/transactionSummary

The transaction summary service provides the summary values of transactions for the given date range by category type, high-level categories, or system-defined categories.Yodlee has the transaction data stored for a day, month, year and week per category as per the availability of user's data. If the include parameter value is passed as details, then summary details will be returned depending on the interval passed-monthly is the default.Notes:

  1. Details can be requested for only one system-defined category
  2. Passing categoryType is mandatory except when the groupBy value is CATEGORY_TYPE
  3. Dates will not be respected for monthly, yearly, and weekly details
  4. When monthly details are requested, only the fromDate and toDate month will be respected
  5. When yearly details are requested, only the fromDate and toDate year will be respected
  6. For weekly data points, details will be provided for every Sunday date available within the fromDate and toDate
  7. This service supports the localization feature and accepts locale as a header parameter

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
includeUserCategory
Query Parameters
Boolean
No
groupBy
Query Parameters
String
Yes
CATEGORY_TYPE, HIGH_LEVEL_CATEGORY or CATEGORY
categoryId
Query Parameters
String
No
comma separated categoryIds
accountId
Query Parameters
String
No
comma separated account Ids
categoryType
Query Parameters
String
No
INCOME, EXPENSE, TRANSFER, UNCATEGORIZE or DEFERRED_COMPENSATION
toDate
Query Parameters
String
No
YYYY-MM-DD format
interval
Query Parameters
String
No
D-daily, W-weekly, M-mothly or Y-yearly
fromDate
Query Parameters
String
No
YYYY-MM-DD format
include
Query Parameters
String
No
details

Example Request

curl -X GET /derived/transactionSummary \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "links": {
    "transactions": "string"
  },
  "transactionSummary": [
    {
      "categoryType": "TRANSFER",
      "categorySummary": [
        {
          "creditTotal": {
            "amount": 0,
            "currency": "AUD"
          },
          "details": [
            {
              "date": "string",
              "creditTotal": {
                "amount": 0,
                "currency": "AUD"
              },
              "debitTotal": {
                "amount": 0,
                "currency": "AUD"
              }
            }
          ],
          "links": {
            "transactions": "string"
          },
          "categoryName": "string",
          "categoryId": 0,
          "debitTotal": {
            "amount": 0,
            "currency": "AUD"
          }
        }
      ],
      "creditTotal": {
        "amount": 0,
        "currency": "AUD"
      },
      "links": {
        "transactions": "string"
      },
      "debitTotal": {
        "amount": 0,
        "currency": "AUD"
      }
    }
  ]
}

Get Networth Summary

Endpoint: GET /derived/networth

The get networth service is used to get the networth for the user.

If the include parameter value is passed as details then networth with historical balances is returned.

Parameters

For the Request

NameLocationTypeIs Required ?Description
include
Query Parameters
String
No
details
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
top
Query Parameters
Number
No
top (Max 500)
interval
Query Parameters
String
No
D-daily, W-weekly or M-monthly
toDate
Query Parameters
String
No
toDate for balance retrieval (YYYY-MM-DD)
accountIds
Query Parameters
String
No
comma separated accountIds
fromDate
Query Parameters
String
No
from date for balance retrieval (YYYY-MM-DD)
skip
Query Parameters
Number
No
skip (Min 0)
container
Query Parameters
String
No
bank/creditCard/investment/insurance/loan/realEstate/otherAssets/otherLiabilities

Example Request

curl -X GET /derived/networth \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "networth": [
    {
      "date": "string",
      "liability": {
        "amount": 0,
        "currency": "AUD"
      },
      "historicalBalances": [
        {
          "date": "string",
          "accountId": 0,
          "isAsset": true,
          "balance": {
            "amount": 0,
            "currency": "AUD"
          },
          "asOfDate": "string",
          "dataSourceType": "S"
        }
      ],
      "networth": {
        "amount": 0,
        "currency": "AUD"
      },
      "asset": {
        "amount": 0,
        "currency": "AUD"
      }
    }
  ]
}

Holdings

Get Holdings

Endpoint: GET /holdings

The get holdings service is used to get the list of holdings of a user.

Supported holding types can be employeeStockOption, moneyMarketFund, bond, etc. and is obtained using get holding type list service.

Asset classifications for the holdings need to be requested through the "include" parameter.

Asset classification information for holdings are not available by default, as it is a premium feature.

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
providerAccountId
Query Parameters
String
No
providerAccountId
classificationValue
Query Parameters
String
No
e.g. US
include
Query Parameters
String
No
assetClassification
assetClassification.classificationType
Query Parameters
String
No
e.g. Country, Sector, etc.
accountId
Query Parameters
String
No
Comma separated accountId

Example Request

curl -X GET /holdings \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "holding": [
    {
      "symbol": "string",
      "exercisedQuantity": 0,
      "cusipNumber": "string",
      "assetClassification": [
        {
          "allocation": 0,
          "classificationType": "string",
          "classificationValue": "string"
        }
      ],
      "vestedQuantity": 0,
      "description": "string",
      "unvestedValue": {
        "amount": 0,
        "currency": "AUD"
      },
      "securityStyle": "string",
      "vestedValue": {
        "amount": 0,
        "currency": "AUD"
      },
      "optionType": "put",
      "lastUpdated": "string",
      "matchStatus": "string",
      "holdingType": "stock",
      "maturityDate": "string",
      "price": {
        "amount": 0,
        "currency": "AUD"
      },
      "term": "string",
      "contractQuantity": 0,
      "id": 0,
      "isShort": true,
      "value": {
        "amount": 0,
        "currency": "AUD"
      },
      "expirationDate": "string",
      "interestRate": 0,
      "quantity": 0,
      "accruedInterest": {
        "amount": 0,
        "currency": "AUD"
      },
      "grantDate": "string",
      "sedol": "string",
      "vestedSharesExercisable": 0,
      "spread": {
        "amount": 0,
        "currency": "AUD"
      },
      "accountId": 0,
      "enrichedDescription": "string",
      "couponRate": 0,
      "createdDate": "string",
      "accruedIncome": {
        "amount": 0,
        "currency": "AUD"
      },
      "securityType": "string",
      "providerAccountId": 0,
      "unvestedQuantity": 0,
      "costBasis": {
        "amount": 0,
        "currency": "AUD"
      },
      "vestingDate": "string",
      "isin": "string",
      "strikePrice": {
        "amount": 0,
        "currency": "AUD"
      }
    }
  ]
}

Get Holding Type List

Endpoint: GET /holdings/holdingTypeList

The get holding types list service is used to get the supported holding types.

The response includes different holding types such as future, moneyMarketFund, stock, etc. and it returns the supported holding types

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /holdings/holdingTypeList \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "holdingType": [
    "stock"
  ]
}

Get Asset Classification List

Endpoint: GET /holdings/assetClassificationList

The get asset classifications list service is used to get the supported asset classifications.

The response includes different classification types like assetClass, country, sector, style, etc. and the values corresponding to each type.

Parameters

Copy of For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /holdings/assetClassificationList \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "assetClassificationList": [
    {
      "classificationType": "string",
      "classificationValue": [
        "string"
      ]
    }
  ]
}

Get Security Details

Endpoint: GET /holdings/securities

The get security details service is used to get all the security information for the holdings

Parameters

For the Request

NameLocationTypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /holdings/securities \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Example Response

{
  "holding": [
    {
      "security": {
        "stockExchangeDetails": [
          {
            "symbol": "string",
            "countryCode": "string",
            "currencyCode": "string",
            "exchangeCode": "string"
          }
        ],
        "issueTypeMultiplier": 0,
        "stateTaxable": true,
        "callDate": "string",
        "cdscFundFlag": true,
        "cusip": "string",
        "federalTaxable": true,
        "sAndPRating": "string",
        "shareClass": "string",
        "isEnvestnetDummySecurity": true,
        "description": "string",
        "minimumPurchase": 0,
        "type": "string",
        "firstCouponDate": "string",
        "frequency": 0,
        "accrualMethod": "string",
        "incomeCurrency": "string",
        "maturityDate": "string",
        "callPrice": 0,
        "id": 0,
        "issueDate": "string",
        "sector": "string",
        "agencyFactor": 0,
        "interestRate": 0,
        "lastModifiedDate": "string",
        "gicsSector": "string",
        "closedFlag": true,
        "sedol": "string",
        "subSector": "string",
        "lastCouponDate": "string",
        "isSyntheticSecurity": true,
        "tradeCurrencyCode": "string",
        "isDummySecurity": true,
        "moodyRating": "string",
        "style": "string",
        "firmEligible": "string",
        "fundFamily": "string",
        "isin": "string"
      },
      "id": "string"
    }
  ]
}

Data Extracts

Get userData

Endpoint: GET /dataExtracts/userData

The get user data service is used to get a user's modified data for a particular period of time for accounts, transactions, holdings, and provider account information.

The time difference between fromDate and toDate fields cannot be more than 60 minutes.

By default, pagination is available for the transaction entity in this API. In the first response, the API will retrieve 500 transactions along with other data. The response header will provide a link to retrieve the next set of transactions.

In the response body of the first API response, totalTransactionsCount indicates the total number of transactions the API will retrieve for the user.

This service is only invoked with either admin access token or a cobrand session.

Refer to dataExtracts page for more information.

Parameters

For the Request

NameLocationTypeIs Required ?Description
loginName
Query Parameters
String
Yes
Login Name
toDate
Query Parameters
String
Yes
To DateTime (YYYY-MM-DDThh:mm:ssZ)
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
fromDate
Query Parameters
String
Yes
From DateTime (YYYY-MM-DDThh:mm:ssZ)

Example Request

curl -X GET /dataExtracts/userData \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Example Response

{
  "userData": [
    {
      "holding": [
        {
          "symbol": "string",
          "exercisedQuantity": 0,
          "cusipNumber": "string",
          "vestedQuantity": 0,
          "description": "string",
          "unvestedValue": {
            "amount": 0,
            "currency": "AUD"
          },
          "securityStyle": "string",
          "vestedValue": {
            "amount": 0,
            "currency": "AUD"
          },
          "optionType": "put",
          "lastUpdated": "string",
          "matchStatus": "string",
          "holdingType": "stock",
          "maturityDate": "string",
          "price": {
            "amount": 0,
            "currency": "AUD"
          },
          "term": "string",
          "contractQuantity": 0,
          "id": 0,
          "isShort": true,
          "value": {
            "amount": 0,
            "currency": "AUD"
          },
          "expirationDate": "string",
          "interestRate": 0,
          "quantity": 0,
          "accruedInterest": {
            "amount": 0,
            "currency": "AUD"
          },
          "grantDate": "string",
          "sedol": "string",
          "vestedSharesExercisable": 0,
          "spread": {
            "amount": 0,
            "currency": "AUD"
          },
          "accountId": 0,
          "enrichedDescription": "string",
          "couponRate": 0,
          "createdDate": "string",
          "accruedIncome": {
            "amount": 0,
            "currency": "AUD"
          },
          "securityType": "string",
          "providerAccountId": 0,
          "unvestedQuantity": 0,
          "costBasis": {
            "amount": 0,
            "currency": "AUD"
          },
          "vestingDate": "string",
          "isin": "string",
          "strikePrice": {
            "amount": 0,
            "currency": "AUD"
          }
        }
      ],
      "totalTransactionsCount": 0,
      "user": {
        "loginName": "string"
      },
      "account": [
        {
          "availableCash": {
            "amount": 0,
            "currency": "AUD"
          },
          "includeInNetWorth": true,
          "moneyMarketBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "enrollmentDate": "string",
          "estimatedDate": "string",
          "memo": "string",
          "guarantor": "string",
          "interestPaidLastYear": {
            "amount": 0,
            "currency": "AUD"
          },
          "lastUpdated": "string",
          "balance": {
            "amount": 0,
            "currency": "AUD"
          },
          "homeInsuranceType": "HOME_OWNER",
          "id": 0,
          "cash": {
            "amount": 0,
            "currency": "AUD"
          },
          "totalCreditLine": {
            "amount": 0,
            "currency": "AUD"
          },
          "providerName": "string",
          "valuationType": "SYSTEM",
          "marginBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "apr": 0,
          "availableCredit": {
            "amount": 0,
            "currency": "AUD"
          },
          "currentBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "isManual": true,
          "escrowBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "nextLevel": "string",
          "classification": "OTHER",
          "loanPayoffAmount": {
            "amount": 0,
            "currency": "AUD"
          },
          "interestRateType": "FIXED",
          "loanPayByDate": "string",
          "faceAmount": {
            "amount": 0,
            "currency": "AUD"
          },
          "policyFromDate": "string",
          "premiumPaymentTerm": "string",
          "policyTerm": "string",
          "repaymentPlanType": "STANDARD",
          "availableBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "accountStatus": "ACTIVE",
          "lifeInsuranceType": "OTHER",
          "premium": {
            "amount": 0,
            "currency": "AUD"
          },
          "aggregationSource": "SYSTEM",
          "isDeleted": true,
          "overDraftLimit": {
            "amount": 0,
            "currency": "AUD"
          },
          "nickname": "string",
          "term": "string",
          "interestRate": 0,
          "deathBenefit": {
            "amount": 0,
            "currency": "AUD"
          },
          "address": {
            "zip": "string",
            "country": "string",
            "address3": "string",
            "address2": "string",
            "city": "string",
            "sourceType": "string",
            "address1": "string",
            "street": "string",
            "state": "string",
            "type": "HOME"
          },
          "cashValue": {
            "amount": 0,
            "currency": "AUD"
          },
          "401kLoan": {
            "amount": 0,
            "currency": "AUD"
          },
          "homeValue": {
            "amount": 0,
            "currency": "AUD"
          },
          "accountNumber": "string",
          "createdDate": "string",
          "interestPaidYTD": {
            "amount": 0,
            "currency": "AUD"
          },
          "providerAccountId": 0,
          "collateral": "string",
          "dataset": [
            {
              "lastUpdated": "string",
              "updateEligibility": "ALLOW_UPDATE",
              "additionalStatus": "LOGIN_IN_PROGRESS",
              "nextUpdateScheduled": "string",
              "name": "BASIC_AGG_DATA",
              "lastUpdateAttempt": "string"
            }
          ],
          "runningBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "sourceId": "string",
          "dueDate": "string",
          "frequency": "DAILY",
          "maturityAmount": {
            "amount": 0,
            "currency": "AUD"
          },
          "associatedProviderAccountId": [
            0
          ],
          "isAsset": true,
          "principalBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "totalCashLimit": {
            "amount": 0,
            "currency": "AUD"
          },
          "maturityDate": "string",
          "minimumAmountDue": {
            "amount": 0,
            "currency": "AUD"
          },
          "annualPercentageYield": 0,
          "accountType": "string",
          "originationDate": "string",
          "totalVestedBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "rewardBalance": [
            {
              "expiryDate": "string",
              "balanceToReward": "string",
              "balanceType": "EXPIRING_BALANCE",
              "balance": 0,
              "description": "string",
              "balanceToLevel": "string",
              "units": "string"
            }
          ],
          "sourceAccountStatus": "IN_REPAYMENT",
          "derivedApr": 0,
          "policyEffectiveDate": "string",
          "totalUnvestedBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "annuityBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "accountName": "string",
          "totalCreditLimit": {
            "amount": 0,
            "currency": "AUD"
          },
          "policyStatus": "ACTIVE",
          "shortBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "lender": "string",
          "lastEmployeeContributionAmount": {
            "amount": 0,
            "currency": "AUD"
          },
          "providerId": "string",
          "lastPaymentDate": "string",
          "primaryRewardUnit": "string",
          "lastPaymentAmount": {
            "amount": 0,
            "currency": "AUD"
          },
          "remainingBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "userClassification": "BUSINESS",
          "bankTransferCode": [
            {
              "id": "string",
              "type": "BSB"
            }
          ],
          "expirationDate": "string",
          "coverage": [
            {
              "amount": [
                {
                  "cover": {},
                  "unitType": "PER_FAMILY",
                  "type": "DEDUCTIBLE",
                  "limitType": "IN_NETWORK",
                  "met": {}
                }
              ],
              "planType": "PPO",
              "endDate": "string",
              "type": "VISION",
              "startDate": "string"
            }
          ],
          "cashApr": 0,
          "oauthMigrationStatus": "IN_PROGRESS",
          "displayedName": "string",
          "amountDue": {
            "amount": 0,
            "currency": "AUD"
          },
          "currentLevel": "string",
          "originalLoanAmount": {
            "amount": 0,
            "currency": "AUD"
          },
          "policyToDate": "string",
          "loanPayoffDetails": {
            "payByDate": "string",
            "payoffAmount": {
              "amount": 0,
              "currency": "AUD"
            },
            "outstandingBalance": {
              "amount": 0,
              "currency": "AUD"
            }
          },
          "CONTAINER": "bank",
          "lastEmployeeContributionDate": "string",
          "lastPayment": {
            "amount": 0,
            "currency": "AUD"
          },
          "recurringPayment": {
            "amount": 0,
            "currency": "AUD"
          }
        }
      ],
      "transaction": [
        {
          "date": "string",
          "sourceId": "string",
          "symbol": "string",
          "cusipNumber": "string",
          "highLevelCategoryId": 0,
          "detailCategoryId": 0,
          "description": {
            "security": "string",
            "original": "string",
            "simple": "string",
            "consumer": "string"
          },
          "memo": "string",
          "settleDate": "string",
          "type": "string",
          "baseType": "CREDIT",
          "categorySource": "SYSTEM",
          "principal": {
            "amount": 0,
            "currency": "AUD"
          },
          "lastUpdated": "string",
          "isDeleted": true,
          "interest": {
            "amount": 0,
            "currency": "AUD"
          },
          "price": {
            "amount": 0,
            "currency": "AUD"
          },
          "commission": {
            "amount": 0,
            "currency": "AUD"
          },
          "id": 0,
          "amount": {
            "amount": 0,
            "currency": "AUD"
          },
          "checkNumber": "string",
          "quantity": 0,
          "valoren": "string",
          "isManual": true,
          "merchant": {
            "website": "string",
            "address": {
              "zip": "string",
              "country": "string",
              "address3": "string",
              "address2": "string",
              "city": "string",
              "sourceType": "string",
              "address1": "string",
              "street": "string",
              "state": "string",
              "type": "HOME"
            },
            "contact": {
              "phone": "string",
              "email": "string"
            },
            "categoryLabel": [
              "string"
            ],
            "coordinates": {
              "latitude": 0,
              "longitude": 0
            },
            "name": "string",
            "id": "string",
            "source": "YODLEE"
          },
          "sedol": "string",
          "transactionDate": "string",
          "categoryType": "TRANSFER",
          "accountId": 0,
          "createdDate": "string",
          "sourceType": "AGGREGATED",
          "CONTAINER": "bank",
          "postDate": "string",
          "parentCategoryId": 0,
          "subType": "AUTH_HOLD",
          "category": "string",
          "runningBalance": {
            "amount": 0,
            "currency": "AUD"
          },
          "categoryId": 0,
          "holdingDescription": "string",
          "isin": "string",
          "status": "POSTED"
        }
      ],
      "providerAccount": [
        {
          "lastUpdated": "string",
          "createdDate": "string",
          "aggregationSource": "SYSTEM",
          "isDeleted": true,
          "oauthMigrationStatus": "IN_PROGRESS",
          "providerId": 0,
          "requestId": "string",
          "isManual": true,
          "id": 0,
          "dataset": [
            {
              "lastUpdated": "string",
              "updateEligibility": "ALLOW_UPDATE",
              "additionalStatus": "LOGIN_IN_PROGRESS",
              "nextUpdateScheduled": "string",
              "name": "BASIC_AGG_DATA",
              "lastUpdateAttempt": "string"
            }
          ],
          "status": "LOGIN_IN_PROGRESS"
        }
      ]
    }
  ]
}

Get Events

Endpoint: GET /dataExtracts/events

The get extracts events service is used to learn about occurrences of data extract related events. This service currently supports only the DATA_UPDATES event.

Passing the event name as DATA_UPDATES provides information about users for whom data has been modified in the system for the specified time range.

To learn more, please refer to the dataExtracts page.

You can retrieve data in increments of no more than 60 minutes over the period of the last 7 days from today's date.

This service is only invoked with either admin access token or a cobrand session.

Parameters

For the Request

NameLocationTypeIs Required ?Description
eventName
Query Parameters
String
Yes
Event Name
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
fromDate
Query Parameters
String
Yes
From DateTime (YYYY-MM-DDThh:mm:ssZ)
toDate
Query Parameters
String
Yes
To DateTime (YYYY-MM-DDThh:mm:ssZ)

Example Request

curl -X GET /dataExtracts/events \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Example Response

{
  "event": {
    "data": {
      "fromDate": "string",
      "userData": [
        {
          "links": [
            {
              "methodType": "string",
              "rel": "string",
              "href": "string"
            }
          ],
          "user": {
            "loginName": "string"
          }
        }
      ],
      "userCount": 0,
      "toDate": "string"
    },
    "info": "string"
  }
}

Documents

Get Documents

Endpoint: GET /documents

The get documents service allows customers to search or retrieve metadata related to documents.

The API returns the document as per the input parameters passed. If no date range is provided then all downloaded documents will be retrieved. Details of deleted documents or documents associated to closed providerAccount will not be returned.

This API is a premium service which requires subscription in advance to use. Please contact Yodlee Client Services for more information.

Parameters

For the Request

NameLocationTypeIs Required ?Description
accountId
Query Parameters
String
No
The unique identifier of an account. Retrieve documents for a given accountId.
Keyword
Query Parameters
String
No
The string used to search a document by its name.
toDate
Query Parameters
String
No
The date to which documents have to be retrieved.
fromDate
Query Parameters
String
No
The date from which documents have to be retrieved.
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.
docType
Query Parameters
String
No
Accepts only one of the following valid document types: STMT, TAX, and EBILL.

Example Request

curl -X GET /documents \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Example Response

{
  "document": [
    {
      "accountID": 0,
      "lastUpdated": "string",
      "formType": "string",
      "docType": "STMT",
      "name": "string",
      "id": "string",
      "source": "string",
      "status": "string"
    }
  ]
}

Download a Document

Endpoint: GET /documents/:documentId

The get document details service allows consumers to download a document. The document is provided in base64.

This API is a premium service which requires subscription in advance to use. Please contact Yodlee Client Services for more information.

Parameters

For the Request

NameLocationDescription
access_token
Headers
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X GET /documents/:documentId \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Example Response

{
  "document": [
    {
      "docContent": "string",
      "id": "string"
    }
  ]
}

Delete User

Endpoint: DELETE /documents/:documentId

The delete document service allows the consumer to delete a document. The deleted document will not be returned in the get documents API. The HTTP response code is 204 (success without content).

Documents can be deleted only if the document related dataset attributes are subscribed.

Parameters

For the Request

NameLocationData TypeIs Required ?Description
access_token
Headers
String
Yes
Like Yodlee, LinkMoney API enables placing the access_token in either the body or the header of requests. The access_token should be user-specific to retrieve information for a single individual.

Example Request

curl -X DELETE /documents/:documentId \
  -H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Example Response

The HTTP response code is 204 (Success without content).

Yodlee Account Verification

Get Verified Accounts

Endpoint: GET /verification/verifiedAccounts

The Verified Accounts API v1.1 provides information about the bank and investment accounts that the user has selected for verification during the Account Verification flow on FastLink 4. By default, the API only returns information of the accounts that were selected and have been successfully verified.

Parameters

For the Request

NameLocationDescriptionIs Required ?Data Type
accessToken
Request BodyHeaders
access token for accessing Yodlee’s API ( created via /auth/token )
Yes
String
providerAccountId
Query Params
providerAccountId
Yes
String
verificationStatus
Query Params
Comma separated verificationStatus. Allowed values are SUCCESS, FAILEDNote:  If no value is passed, the implicit default value is SUCCESS.
No
String
isSelected
Query Params
Comma separated isSelected. Allowed values are true, falseNote:  If no value is passed, the implicit default value is true.
No
String
accountId
Query Params
Comma separated accountIds.
No
String

Example Request

curl -X GET /verification/verifiedAccounts \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}" 

Response

{
  "requestId": "string",
  "requestDate": "string",
  "state": "COMPLETED",
  "verifiedAccount": [
    {
      "accountName": "string",
      "verificationStatus": "SUCCESS",
      "accountType": "string",
      "currentBalance": {
        "amount": 0,
        "currency": "USD"
      },
      "displayedName": "string",
      "holder": [
        {
          "identifier": [
            {
              "type": "NIE",
              "value": "string"
            }
          ],
          "gender": "string",
          "ownership": "PRIMARY",
          "name": {
            "middle": "string",
            "last": "string",
            "fullName": "string",
            "first": "string"
          }
        }
      ],
      "accountNumber": "string",
      "classification": "OTHER",
      "availableBalance": {
        "amount": 0,
        "currency": "USD"
      },
      "fullAccountNumberList": {
        "paymentAccountNumber": "string",
        "unmaskedAccountNumber": "string"
      },
      "accountId": 0,
      "balance": {
        "amount": 0,
        "currency": "USD"
      },
      "providerId": "string",
      "providerAccountId": 0,
      "CONTAINER": "bank",
      "isSelected": true,
      "cash": {
        "amount": 0,
        "currency": "USD"
      },
      "bankTransferCode": [
        {
          "id": "string",
          "type": "BSB"
        }
      ],
      "providerName": "string",
      "failedReason": "REQUIRED_DATA_NOT_AVAILABLE"
    }
  ],
  "failedReason": "ACCOUNT_LOCKED"
}

Get Verification Status

Endpoint: GET /verification

The get verification status service is used to retrieve the verification status of all accounts for which the CDV process has been initiated. For the CDV process, the account details object returns the user provided account information.

Parameters

For the Request (2)

NameLocationDescriptionIs Required ?Data Type
accessToken
Request BodyHeaders
access token for accessing Yodlee’s API ( created via /auth/token )
Yes
String
accountId
Query Params
Comma separated accountIds.
No
String
providerAccountId
Query Params
providerAccountId
No
String
verificationType
Query Params
verificationType
No
String

Example Request

curl -X GET /verification \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Response

{
  "verification": [
    {
      "accountId": 0,
      "reason": "DATA_NOT_AVAILABLE",
      "verificationStatus": "INITIATED",
      "providerAccountId": 0,
      "verificationType": "MATCHING",
      "account": {
        "accountName": "string",
        "accountType": "SAVINGS",
        "accountNumber": "string",
        "bankTransferCode": {
          "id": "string",
          "type": "BSB"
        }
      },
      "remainingAttempts": 0,
      "verificationDate": "string",
      "verificationId": 0
    }
  ]
}

Get All Providers

Endpoint: GET /providers

Removes a specific item. Note that if the user has accounts with other financial institutions, these will not be removed.

The get provider service is used to get all the providers that are enabled, search a provider service by name or routing number and get popular sites of a region.Searching for a provider using a routing number is applicable only to the USA and Canada regions.The valid values for priority are:

  1. cobrand: Returns providers enabled for the cobrand. (Default priority)
  2. popular: Returns providers popular among users of the customer.

Parameters

For the Request

NameLocationDescription
accessToken
Request BodyHeaders
access token for accessing Yodlee’s API ( created via /auth/token )

Example Request

curl -X GET /providers \
	-H 'Content-Type: application/json' \
	-H "Authorization: Bearer {access_token}"

Response

{
  "provider": [
    {
      "languageISOCode": "string",
      "forgetPasswordUrl": "string",
      "favicon": "string",
      "accountType": [
        "CURRENT"
      ],
      "countryISOCode": "string",
      "isAddedByUser": "string",
      "PRIORITY": "POPULAR",
      "associatedProviderIds": [
        0
      ],
      "loginHelp": "string",
      "primaryLanguageISOCode": "string",
      "help": "string",
      "baseUrl": "string",
      "capability": [
        {
          "container": [
            "bank"
          ],
          "name": "string"
        }
      ],
      "isConsentRequired": true,
      "loginUrl": "string",
      "isAutoRefreshEnabled": true,
      "name": "string",
      "logo": "string",
      "id": 0,
      "lastModified": "string",
      "authParameter": [
        "authorizationCode"
      ],
      "authType": "OAUTH",
      "dataset": [
        {
          "name": "BASIC_AGG_DATA",
          "attribute": [
            {
              "container": [
                "bank"
              ],
              "fromDate": "string",
              "toFinYear": "string",
              "fromFinYear": "string",
              "containerAttributes": {
                "BANK": {
                  "fullAccountNumberFields": [
                    null
                  ],
                  "numberOfTransactionDays": 0
                },
                "LOAN": {
                  "fullAccountNumberFields": [
                    null
                  ],
                  "numberOfTransactionDays": 0
                },
                "CREDITCARD": {
                  "fullAccountNumberFields": [
                    null
                  ],
                  "numberOfTransactionDays": 0
                },
                "INVESTMENT": {
                  "fullAccountNumberFields": [
                    null
                  ],
                  "numberOfTransactionDays": 0
                },
                "INSURANCE": {
                  "fullAccountNumberFields": [
                    null
                  ],
                  "numberOfTransactionDays": 0
                }
              },
              "toDate": "string",
              "name": "BASIC_ACCOUNT_INFO"
            }
          ]
        }
      ],
      "status": "Supported"
    }
  ]
}

Endpoints

EndpointRequest MethodDescription
/holdings/assetClassificationList
GET
The get asset classifications list service is used to get the supported asset classifications.
/transactions/categories/rules
POST
/user
GET
The get user details service is used to get the user profile information and the application preferences set at the time of user registration.
/providerAccounts
GET
The get provider accounts service is used to return all the provider accounts added by the user.
/transactions/categories/rules/:transactionCategoryRuleId
PUT
The update transaction categorization rule service is used to update a categorization rule for both system-defined category as well as user-defined category.
/transactions
GET
The Transaction service is used to get a list of transactions for a user.
/transactions/categories/:categoryId
DELETE
The delete transaction categories service is used to delete the given user-defined category.
/derived/holdingSummary
GET
The get holding summary service is used to get the summary of asset classifications for the user.
/holdings/securities
GET
The get security details service is used to get all the security information for the holdings
/providerAccounts/:providerAccountId
GET
The get provider account details service is used to learn the status of adding accounts and updating accounts.
/statements
GET
The statements service is used to get the list of statement related information.
/transactions/categories
PUT
The update transaction categories service is used to update the transaction category name for a high level category, a system-defined category and a user-defined category.
/documents/:documentId
DELETE
The delete document service allows the consumer to delete a document.
/accounts
POST
The add account service is used to add manual accounts.
/accounts
GET
The get accounts service provides information about accounts added by the user.
/transactions/categories
POST
The create transaction categories service is used to create user-defined categories for a system-defined category.
/transactions/:transactionId
PUT
The update transaction service is used to update the category,consumer description, memo for a transaction.
/providers/:providerId
GET
The get provider detail service is used to get detailed information including the login form for a provider.
/transactions/count
GET
The count service provides the total number of transactions for a specific user.
/user/register
POST
The register user service is used to register a user in Yodlee.
/user/unregister
DELETE
The delete user service is used to delete or unregister a user from Yodlee.
/holdings
GET
The get holdings service is used to get the list of holdings of a user.
/providerAccounts/:providerAccountId
DELETE
The delete provider account service is used to delete a provider account from the Yodlee system.
/user
PUT
The update user details service is used to update user details like name, address, currency preference, etc.
/derived/transactionSummary
GET
The transaction summary service provides the summary values of transactions for the given date range by category type, high-level categories, or system-defined categories.
/dataExtracts/userData
GET
The get user data service is used to get a user's modified data for a particular period of time for accounts, transactions, holdings, and provider account information.
/documents/:documentId
GET
The get document details service allows consumers to download a document.
/accounts/historicalBalances
GET
The historical balances service is used to retrieve the historical balances for an account or a user.
/providerAccounts/:providerAccountId/preferences
PUT
This endpoint is used to update preferences like data extracts and auto refreshes without triggering refresh for the providerAccount.
/providers
GET
The get provider service is used to get all the providers that are enabled.
/providers/count
GET
The count service provides the total number of providers that get returned in the GET /providers depending on the input parameters passed.
/holdings/holdingTypeList
GET
The get holding types list service is used to get the supported holding types.
/transactions/categories/rules/:transactionCategoryRuleId
POST
The run transaction categorization rule service is used to run a rule on transactions, to categorize the transactions.
/transactions/categories
GET
The categories service returns the list of available transaction categories.
/accounts/:accountId
DELETE
The delete account service allows an account to be deleted.
/transactions/categories/rules/:transactionCategoryRuleId
DELETE
Deletes a transaction categorization rule
/providerAccounts
PUT
Read API docs as it updates a variety of things.
/accounts/:accountId
GET
The get account details service provides detailed information of an account.
/derived/networth
GET
The get networth service is used to get the networth for the user.
/dataExtracts/events
GET
The get extracts events service is used to learn about occurrences of data extract related events.
/transactions/categories/rules
POST
The Create or Run Transaction Categorization Rule endpoint is used to: Create transaction categorization rules for both system and user-defined categories. Run all the transaction categorization rules to categorize transactions by calling the endpoint with action=run as the query parameter.
/transactions/categories/rules
GET
The categories service returns the list of available transaction categories.
/accounts/:accountId
PUT
The update account service is used to update manual and aggregated accounts.
/documents
GET
The get documents service allows customers to search or retrieve metadata related to documents.

Yodlee Webhooks

Link Money API uses webhooks to send updates to developers that lets developer applications know about data changes for new transactions, account balance updates, new account connections, and anything else worth sending a real-time update. This functionality also lets developers who use it skip having to pull data from the Link Money API on regular intervals to keep their applications abreast of the freshest user data.

Different aggregators have different webhook methodologies, schemas, and approaches. Link Money API offers webhooks in a variety of formats to make migrating from another aggregator's webhook system.

With Yodlee webhooks, developers don't have to poll an API every second to know the status of an async process. Instead, Yodlee will keep customers informed about the relevant stages the process has reached.

In Details

🚩
Webhook APIs
🚩
Webhooks Supported Events

Webhooks APIs

Customers can use the following webhooks services under the configs\notifications\events endpoint:

Webhooks Supported Events

Yodlee supports webhooks for the following events:

Event Payload Information

The payload sent to the customer-provided URL has a common structure; the data attribute within the structure varies for every notification event.

The following JSON payload gets posted to the callback URL and the content type will be application/json:

"event":{  
   "info":"REFRESH.PROCESS_COMPLETED",
   "data":{  
      <"Data varies from event to event">
   }
}

Note: loginName is an optional field and is available only for REFRESH webhooks event.

💡
Best Practices
  • Customers should ensure that they whitelist the Yodlee IP addresses from which the notifications are sent.
  • Customers should ensure that the URL has the default port (HTTPS–443, HTTP–80).

Frequently Asked Questions

  1. Is webhooks support available for the legacy SOAP and REST APIs? No. Webhooks support is available only for the new RESTful Yodlee APIs.
  2. Is Yodlee webhooks the same as alerts? No. Yodlee webhooks are not alerts. Webhooks are the notifications sent to customers and not to users. Customers are expected to take relevant actions as needed.

🛠️
Developer Notes

Yodlee Schema

Accounts
type: object
properties: 
  account_number: 
    type: string 
    description: "The account number associated with the account. This will typically be a masked or partial account number."
    example: "5366"
  apr: 
    type: float
    description: The annual percentage rate associated with the account. 
    example: null 
  apy: 
    type: float
    description: "The annual percentage yield associated with the account."
    example: null 
  available_balance: 
    type: float
    description: "The balance currently available for use in the account. The available balance will normally be a positive value for all account types. The value's sign is determined in the same way as the balance field."
    example: null
  available_credit: 
    type: float
    description: "The amount of credit currently available for use in the account."
    example: 347.01
  balance: 
    type: float
    description: "The balance associated with the account. The balance will normally be a positive value for all account types. For instance, asset-type accounts (CHECKING, SAVINGS, INVESTMENT) may have a negative balance if they are in overdraft. Debt-type accounts (CREDIT_CARD, LOAN, LINE_OF_CREDIT, MORTGAGE) may have a negative balance if they are overpaid."
    example: 1872.99
  cash_balance: 
    type: float
    description: The cash balance of the account.
    example: null
  cash_surrender_value: 
    type: float 
    description: "The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs."
    example: null
  created_at: 
    type: string 
    description: The date and time at which the account was created on the MX Platform. 
    example: "2020-08-04T21:27:47Z"
  credit_limit:
    type: float
    description: "The credit limit associated with the account."
    example: null
  currency_code: 
    type: string 
    description: "The three-character ISO 4217 currency code."
    example: "USD"
  day_payment_is_due: 
    type: string
    description: "The day of the month the payment is due. For example, the 14th is passed as 14."
    example: null
  death_benefit: 
    type: integer 
    description: "The amount paid to the beneficiary of the account upon death of the account owner."
    example: null
  guid: 
    type: string 
    description: "The unique identifier for the account. Defined by MX."
    example: "ACT-82a93692-f756-534f-9b2e-ad10a0f38462"
  holdings_value: 
    type: float  
    description: "The value of the holdings associated with the account."
    example: null
  id: 
    type: string 
    description: "The unique partner-defined identifier for the account."
    example: "1040434698"
  institution_code: 
    type: string 
    description: "A unique identifier for the institution associated with this account. Defined by MX."
    example: "chase"
  insured_name: 
    type: string 
    description: "The name of the insured individual."
    example: null
  interest_rate: 
    type: float
    description: "The interest rate associated with the account."
    example: null
  is_closed: 
    type: boolean 
    description: "This indicates whether an account has been closed."
    example: false 
  is_hidden: 
    type: boolean
    description: "This indicates whether the account is hidden. Defaults to false."
    example: false
  last_payment_at: 
    type: string 
    description: "The date and time of the most recent payment on the account."
    example: null
  last_payment: 
    type: float 
    description: "The amount of the most recent payment on the account."
    example: null
  loan_amount: 
    type: float 
    description: "The amount of the loan associated with the account."
    example: null
  matures_on: 
    type: string 
    description: "The date on which the account matures."
    example: null
  member_guid: 
    type: string 
    description: "The unique identifier for the member to which the account belongs, assigned by MX."
    example: "MBR-0b2121f5-bf4f-4244-a697-cac69160020f"
  minimum_balance: 
    type: float  
    description: "The minimum balance associated with the account."
    example: null
  minimum_payment: 
    type: float 
    description: "The minimum payment required for an account. This can apply to any debt account. Max length is 10,2."
    example: null
  name: 
    type: string 
    description: "The human-readable name for the account."
    example: "CREDIT CARD"
  original_balance:
    type: float 
    description: "The original balance associated with the account. This will always be positive."
    example: null 
  pay_out_amount: 
    type: string
    description: "The amount paid out to the insured individual or beneficiary under the conditions of the insurance policy."
    example: null
  payment_due_at: 
    type: string 
    description: "The date and time at which the next payment is due on the account."
    example: null
  payoff_balance: 
    type: float  
    description: "The payoff balance for a debt account. This will normally be a positive number."
    example: null
  premium_amount:
    type: float 
    description: "The insurance policy's premium amount."
    example: null
  started_on: 
    type: string 
    description: "The date on which a debt account was started."
    example: null
  subtype:
    type: string 
    description: "The account’s subtype, e.g., PLAN_401_K, MONEY_MARKET, or HOME_EQUITY."
    example: "NONE"
  total_account_value: 
    type: float 
    description: The total value of the account. Max length is 14,2.
    example: null
  type: 
    type: string 
    description: "The general or parent type of the account."
    example: "CREDIT_CARD"
  updated_at: 
    type: string 
    description: "The date and time at which the account was most recently updated."
    example: "2021-01-15T17:09:09Z"
  user_guid: 
    type: string 
    description: "The unique identifier for the user to which the account belongs."
    example: "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
FinSight
type: object
properties:
  account_guid:
    type: string
    description: "The unique identifier for the account associated with the transaction. Defined by MX."
    example: "ACT-5ab76520-e0f8-434f-aedf-4f41b8b3ac6f"
  amount: 
    type: number
    description: "The monetary amount of the transaction."
    example: 4.99
  category: 
    type: string
    description: The category of the transaction. 
    example: Shopping
  check_number_string: 
    type: string
    description: The check number for the transaction.
    example: "12345"
  created_at: 
    type: string
    description: The date and time the transaction was created.
    example: "2021-03-03T16:55:23Z"
  currency_code: 
    type: string
    description: The three-character ISO 4217 currency code.
    example: "USD"
  date: 
    type: string
    description: The date the transaction was created, given in ISO 8601 format without a timestamp.
    example: "2021-03-03"
  description: 
    type: string
    description: A human-readable version of the original_description field described below. This is provided by the MX platform.
    example: "Sam's Club"
  guid: 
    type: string
    description: The unique identifier for the transaction. Described by MX.
    example: "TRN-bb65493f-326c-4364-b79d-50829bd8277b"
  id: 
    type: string
    description: The unique partner-defined identifier for the transaction. This field is only returned with partner-managed transactions.
    example: "12345"
  is_bill_pay: 
    type: boolean
    description: This indicates whether the transaction represents a bill pay.
    example: false
  is_direct_deposit: 
    type: boolean
    description: This indicates whether the transaction represents a direct deposit.
    example: false
  is_expense: 
    type: boolean
    description: This indicates whether the transaction represents an expense.
    example: true
  is_fee: 
    type: boolean
    description: This indicates whether the transaction represents a fee.
    example: false
  is_income: 
    type: boolean
    description: This indicates whether the transaction represents income.
    example: false
  is_international:
    type: boolean
    description: If the transaction is international as defined by the data provider, this field will be true. If the data provider determines it is not international then it will be false. It will be null if the data provider does not have this information.
    example: null
  is_overdraft_fee:
    type: boolean
    description: This indicates whether the transaction represents an overdraft fee.
    example: false
  is_payroll_advance:
    type: boolean
    description: This indicates whether the transaction represents a payroll advance.
    example: false
  latitude: 
    type: number
    description: The latitude of the location where the transaction occurred. The number is a signed decimal.
    example: 35.689488
  localized_description: 
    type: string
    description: A human-readable description of the transaction, provided in a local language.
    example: "Sam's Club"
  localized_memo:
    type: string
    description: Additional descriptive information about the transaction, provided in a local language.
    example: "Purchase at Sam's club"
  longitude:
    type: number
    description: The longitude of the location where the transaction occurred. The number is a signed decimal.
    example: 139.691706
  member_guid: 
    type: string
    description: The unique identifier for the member associated with the transaction Defined by MX.
    example: "MBR-0b2121f5-bf4f-4244-a697-cac69160020f"
  memo: 
    type: string
    description: This field contains additional descriptive information about the transaction.
    example: "Purchase at Sam's Club"
  merchant_category_code: 
    type: number
    description: The ISO 18245 category code for the transaction.
    example: 0780
  merchant_guid:
    type: string
    description: The unique identifier for the merchant associated with this transaction. Defined by MX.
    example: "MCH-f07fcd23-1a18-a1a5-b49b-41d2b1076a69"
  original_description: 
    type: string
    description: The original description of the transaction as provided by our data feed. See description above for more information.
    example: "XXXX0437 PURCHASE SAM'S CLUB ROCH NY 0029"
  posted_at:
    type: string
    description: The date and time the transaction was posted.
    example: "2021-03-03T16:55:23Z"
  status: 
    type: string
    description: The status of the transaction. This will be either POSTED or PENDING.
    example: POSTED
  top_level_category:
    type: string
    description: The parent category assigned to this transaction's category.
    example: Shopping
  transacted_at:
    type: string
    description: The date and time the transaction took place.
    example: "2021-03-03T16:55:23Z"
  type: 
    type: string
    description: The type of transaction. This will be either CREDIT or DEBIT.
    example: DEBIT
  updated_at: 
    type: string
    description: The date and time the transaction was last updated.
    example: "2021-03-03T16:55:23Z"
  user_guid: 
    type: string
    description: The unique identifier for the user associated with this transaction. Defined by MX.
    example: "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
  insight_text:
    type: string
    description: A short, descriptive test field describing the advice or deal that a fingineer has discovered for this transaction.
  insight_ctaurl:
    type: string
    description: The call to action URL for the advice. Sends the end user to a web page for actionable information to follow the advice. 
  finsight_image:
    type: string 
    description: A url for a relevant image associated with the advice. Generally, this will be a logo for the merchant FinGoal recommends. 
  recommendation:
    type: string
    description: A short title for the Finsight. Generally this will be the name of the merchant that FinGoal recommends.
  amountFound:
    type: float
    description: The amount of "found money" the fingineer estimates this advice will save the end user if it is followed.
Transaction
type: object
properties:
  account_guid:
    type: string
    description: "The unique identifier for the account associated with the transaction. Defined by MX."
    example: "ACT-5ab76520-e0f8-434f-aedf-4f41b8b3ac6f"
  amount: 
    type: number
    description: "The monetary amount of the transaction."
    example: 4.99
  category: 
    type: string
    description: The category of the transaction. 
    example: Shopping
  check_number_string: 
    type: string
    description: The check number for the transaction.
    example: "12345"
  created_at: 
    type: string
    description: The date and time the transaction was created.
    example: "2021-03-03T16:55:23Z"
  currency_code: 
    type: string
    description: The three-character ISO 4217 currency code.
    example: "USD"
  date: 
    type: string
    description: The date the transaction was created, given in ISO 8601 format without a timestamp.
    example: "2021-03-03"
  description: 
    type: string
    description: A human-readable version of the original_description field described below. This is provided by the MX platform.
    example: "Sam's Club"
  guid: 
    type: string
    description: The unique identifier for the transaction. Described by MX.
    example: "TRN-bb65493f-326c-4364-b79d-50829bd8277b"
  id: 
    type: string
    description: The unique partner-defined identifier for the transaction. This field is only returned with partner-managed transactions.
    example: "12345"
  is_bill_pay: 
    type: boolean
    description: This indicates whether the transaction represents a bill pay.
    example: false
  is_direct_deposit: 
    type: boolean
    description: This indicates whether the transaction represents a direct deposit.
    example: false
  is_expense: 
    type: boolean
    description: This indicates whether the transaction represents an expense.
    example: true
  is_fee: 
    type: boolean
    description: This indicates whether the transaction represents a fee.
    example: false
  is_income: 
    type: boolean
    description: This indicates whether the transaction represents income.
    example: false
  is_international:
    type: boolean
    description: If the transaction is international as defined by the data provider, this field will be true. If the data provider determines it is not international then it will be false. It will be null if the data provider does not have this information.
    example: null
  is_overdraft_fee:
    type: boolean
    description: This indicates whether the transaction represents an overdraft fee.
    example: false
  is_payroll_advance:
    type: boolean
    description: This indicates whether the transaction represents a payroll advance.
    example: false
  latitude: 
    type: number
    description: The latitude of the location where the transaction occurred. The number is a signed decimal.
    example: 35.689488
  localized_description: 
    type: string
    description: A human-readable description of the transaction, provided in a local language.
    example: "Sam's Club"
  localized_memo:
    type: string
    description: Additional descriptive information about the transaction, provided in a local language.
    example: "Purchase at Sam's club"
  longitude:
    type: number
    description: The longitude of the location where the transaction occurred. The number is a signed decimal.
    example: 139.691706
  member_guid: 
    type: string
    description: The unique identifier for the member associated with the transaction Defined by MX.
    example: "MBR-0b2121f5-bf4f-4244-a697-cac69160020f"
  memo: 
    type: string
    description: This field contains additional descriptive information about the transaction.
    example: "Purchase at Sam's Club"
  merchant_category_code: 
    type: number
    description: The ISO 18245 category code for the transaction.
    example: 0780
  merchant_guid:
    type: string
    description: The unique identifier for the merchant associated with this transaction. Defined by MX.
    example: "MCH-f07fcd23-1a18-a1a5-b49b-41d2b1076a69"
  original_description: 
    type: string
    description: The original description of the transaction as provided by our data feed. See description above for more information.
    example: "XXXX0437 PURCHASE SAM'S CLUB ROCH NY 0029"
  posted_at:
    type: string
    description: The date and time the transaction was posted.
    example: "2021-03-03T16:55:23Z"
  status: 
    type: string
    description: The status of the transaction. This will be either POSTED or PENDING.
    example: POSTED
  top_level_category:
    type: string
    description: The parent category assigned to this transaction's category.
    example: Shopping
  transacted_at:
    type: string
    description: The date and time the transaction took place.
    example: "2021-03-03T16:55:23Z"
  type: 
    type: string
    description: The type of transaction. This will be either CREDIT or DEBIT.
    example: DEBIT
  updated_at: 
    type: string
    description: The date and time the transaction was last updated.
    example: "2021-03-03T16:55:23Z"
  user_guid: 
    type: string
    description: The unique identifier for the user associated with this transaction. Defined by MX.
    example: "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
User
type: object
properties: 
  email: 
    type: string
    description: The end user's email address.  
    example: "testuser@gmail.com"
  guid: 
    type: string
    description: The unique identifier for the user. Defined by MX. 
    example: "USR-1114024-90b3-1bce-cac9-c06ced52ab"
  id: 
    type: string
    description: A unique, partner-defined, enforced identifier for the user.
    example: "12345"
  is_disabled:
    type: boolean
    description: This indicates whether the user has been disabled. Defaults to false. 
    example: false 
  metadata: 
    type: string 
    description: Additional information you can store about this user. MX recommends using JSON-structured data. 
    example: null

Error Response

These are the error responses in case of error code 400

Parameters

NameData Type
errorMessage
String
errorCode
String
referenceCode
String