The Yodlee® FinApp Software Development Kit (SDK)
The Yodlee FinApp SDK consists of three parts:
- Application development platform based on Adobe® Flex® v3.5 or v4.0
- Authentication framework based on OAuth
- Set of REST APIs for working with Yodlee financial data
The Yodlee FinApp Development Platform
Yodlee FinApps must be developed and packaged using Adobe® Flex®. While Flex applications can be built using the free Adobe Flex SDK, Adobe also offers a development environment called Adobe Flash Builder™. Flash Builder provides a strong development environment for building rich and complex media applications and bundling those application into swf files for deployment onto the Yodlee platform.
The Yodlee SDK also includes a Flex library (swc) that must be included in your Flex application. The Yodlee Flex library handles the basic styles, errors and complexities of authenication and is written in native Flex. It provides:
- OAuth Support - No need to write OAuth code. Simply provide the REST APIs in your application calls and Yodlee library does the OAuth handshake with Yodlee to get your FinApp access.
- StyleSheet Support - Your application can be deployed in many of the Yodlee environments which all have different colors, fonts, etc. This framework dynamically applies the correct stylesheet depending on the environment the application runs in.
- Security Support - The Yodlee library provides applications for scrubbing external content, validating URLs and doing error handling making it easier to create applications that are safe for use in financial institutions.
- User Interface Consistency - The loader splash is contained in the framework so that all Yodlee FinApps have a consisent pause when loading Yodlee data.
OAuth Authentication Framework
After a user purchases a FinApp through the Yodlee FinApp store, the user must grant the FinApp approval to access his data. This access is granted using OAuth-an open protocol to allow secure API authorization in a simple and standard method.
As part of the Yodlee SDK, a library is given that includes methods written in Flex to wrap the REST calls in OAuth, removing the need for complex understanding of the protocol.
REST APIs
Yodlee now offers a set of APIs built on the REST methodology which allow external developers approved access into the Yodlee platform. REST stands for Representational State Transfer, it is not a tightly defined technology like SOAP, but more of an architectural style for defining APIs.
Applications built on the Yodlee SDK will use these REST APIs to read and update Yodlee platform information. This includes account summary information for banking accounts, investment account, credit cards, loans and more!
To get the complete API documentation, you'll need to become a developer, learn how by going to the how to section of this site. The information below provides examples of the calls and the data returned.
Listed here are summaries of the major REST APIs and some examples of the information returned.
- Account Details
- Bank Account Details
- Investment Account Details
- Real-estate Account Details
- Credit Card Account Details
- Loan Account Details
- Mortgage Account Details
- Bill Details
- Rewards Details (Frequent Flyer, Credit Card, Etc)
- Account Group Management
- Account Summary
- Add/Edit Manual Accounts
- Add/Edit Manual Transactions
- Alert Inbox
- Bill Reminders
- Bill Summary
- Budgeting
- Networth View
- Transaction Search
- Transaction Categorization
- User Profile
- User Locationlization Preferences
Examples
Account Summary
Provides a list of all of the accounts a user has added into the system. It will show the institution the account resides at, the name of the account, the type of account and the account balance.
<ns2:BankingItemAccountSummary>
<ns2:AccountName>Ally Bank - Interest Checking</ns2:AccountName>
<ns2:Balance><amount>41.1</amount><currencyCode>USD</currencyCode></ns2:Balance>
<ns2:LastUpdate><date>2010-09-21T20:14:26.000-07:00</date></ns2:LastUpdate>
<ns2:AccountType>Checking</ns2:AccountType>
</ns2:BankingItemAccountSummary>
<ns2:CCItemAccountSummary>
<ns2:AccountName>American Express - Blue Cash</ns2:AccountName>
<ns2:Balance><amount>1231.0</amount>;<currencyCode>USD</currencyCode></ns2:Balance>
<ns2:LastUpdate>;<date>2010-09-21T01:23:18.000-07:00</date></ns2:LastUpdate>
<ns2:AccountType>Credit Card</ns2:AccountType>
</ns2:CCItemAccountSummary>
Account Details
Provides detailed information for each account. Depending on the type of account different details will be shown, for example, loans will show the total loan amount and how much has been paid down on the principal, while an investment account will show balances for each of the holdings.
<ns2:InvestmentAccountDetail ItemAccountId="92812171" ItemId="92183270">
<ns2:AccountName>Merrill Lynch OnLine - CMA</ns2:AccountName>
<ns2:LastUpdate>2010-09-21T20:14:26.000-07:00</ns2:LastUpdate>
<ns2:AccountType AccountTypeId="7">moneyMarket</ns2:AccountType>
<ns2:AccountNumber>xxxx9K08</ns2:AccountNumber>
<ns2:TotalBalance><amount>38009.0</amount><currencyCode>USD</currencyCode></ns2:TotalBalance>
<ns2:Cash><amount>0.0</amount><currencyCode>USD</currencyCode></ns2:Cash>
<ns2:MoneyMarketBalance><amount>9093.0</amount><currencyCode>USD</currencyCode></ns2:MoneyMarketBalance>
<ns2:MarginBalance><amount>0.0</amount><currencyCode>USD</currencyCode></ns2:MarginBalance>
<ns2:Holdings>
<ns2:HoldingType HoldingTypeId="1">stock</ns2:HoldingType>
<ns2:TickerSymbol>ALU</ns2:TickerSymbol>
<ns2:Quantity>78.0</ns2:Quantity>
<ns2:Price><amount>2.82</amount><currencyCode>USD</currencyCode></ns2:Price>
<ns2:Value><amount>220.0</amount><currencyCode>USD</currencyCode></ns2:Value>
<ns2:Cusip>019782101</ns2:Cusip>
<ns2:Description>ALCATEL LUCENT SPD ADR</ns2:Description>
</ns2:Holdings>
<ns2:Holdings>
<ns2:HoldingType HoldingTypeId="1">stock</ns2:HoldingType>
<ns2:TickerSymbol>ADPT</ns2:TickerSymbol>
<ns2:Quantity>100.0</ns2:Quantity>
<ns2:Price><amount>3.03</amount><currencyCode>USD</currencyCode></ns2:Price>
<ns2:Value><amount>303.0</amount><currencyCode>USD</currencyCode></ns2:Value>
<ns2:Cusip>00651F108</ns2:Cusip>
<ns2:Description>ADAPTEC INC COM</ns2:Description>
</ns2:Holdings>
</ns2:InvestmentAccountDetail>
<ns2:CCItemAccountDetail ItemAccountId="49321258" ItemId="94839102">
<ns2:AccountName>Chase Credit Cards - Amazon.com</ns2:AccountName>
<ns2:LastUpdate>2010-09-21T20:14:26.000-07:00</ns2:LastUpdate>
<ns2:AccountType AccountTypeId="1">unknown</ns2:AccountType>
<ns2:AccountNumber>xxxxxxxxxxxx0000</ns2:AccountNumber>
<ns2:RunnningBalance><amount>2777.01</amount><currencyCode>USD</currencyCode></ns2:RunnningBalance>
<ns2:NewCharges><amount>649.51</amount><currencyCode>USD</currencyCode></ns2:NewCharges>
<ns2:TotalCreditLimit><amount>20200.0</amount><currencyCode>USD</currencyCode></ns2:TotalCreditLimit>
<ns2:AvailableCredit><amount>4040.0</amount><currencyCode>USD</currencyCode></ns2:AvailableCredit>
<ns2:TotalCashLimit><amount>4040.0</amount><currencyCode>USD</currencyCode></ns2:TotalCashLimit>
<ns2:AvailableCash><amount>4040.0</amount><currencyCode>USD</currencyCode></ns2:AvailableCash>
<ns2:APR>13.24</ns2:APR>
<ns2:DueDate><date>2010-07-07T00:00:00.000-07:00</date></ns2:DueDate>
<ns2:MinPayment><amount>42.0</amount><currencyCode>USD</currencyCode></ns2:MinPayment>
<ns2:LastPayment><amount>300.96</amount><currencyCode>USD</currencyCode></ns2:LastPayment>
<ns2:LastPaymentDate><date>2010-06-07T00:00:00.000-07:00</date></ns2:LastPaymentDate>
</ns2:CCItemAccountDetail>
Transaction Search
Transaction Search is used to search through a user's financial transactions. The searches can be limited to specific date ranges, amount ranges, search strings, or transaction category.
<overallTransactionTotal><amount>-630.51</amount><cobCurrencyCode>USD</cobCurrencyCode></overallTransactionTotal>
<transactionData>
<accountName>Chase Credit Cards - Amazon.com</accountName>
<amount><amount>-2.17</amount><currencyCode>USD</currencyCode></amount>
<transactionCategory>
<category>Restaurants/Dining</category>
</transactionCategory>
<container>credits</container>
<date>2010-06-16T00:00:00-07:00</date>
<transactionBaseType>debit</transactionBaseType>
<transactionDetail>
<businessExpense>false</businessExpense>
<container>credits</container>
<description>CALTAINMENT MEDIA INC.</description>
<keyword>dining</keyword>
<medicalExpense>false</medicalExpense>
<memo></memo>
<reimbursable>false</reimbursable>
<sharedTransaction>false</sharedTransaction>
<taxDeductible>false</taxDeductible>
<transactionId>10224231</transactionId>
<userDescription></userDescription>
</transactionDetail>
<transactionStatus><status>posted</status></transactionStatus>
</transactionData>
<transactionData>
<accountName>American Express - Blue Cash</accountName>
<amount><amount>-302.0</amount><currencyCode>USD</currencyCode></amount>
<transactionCategory>
<category>Insurance</category>
</transactionCategory>
<container>credits</container>
<date>2010-06-16T00:00:00-07:00</date>
<transactionBaseType>debit</transactionBaseType>
<transactionDetail>
<businessExpense>false</businessExpense>
<container>credits</container>
<description>WEDSAFE/EVENT INSURANCE</description>
<keyword>insurance</keyword>
<medicalExpense>false</medicalExpense>
<memo></memo>
<reimbursable>false</reimbursable>
<sharedTransaction>false</sharedTransaction>
<taxDeductible>false</taxDeductible>
<transactionId>10224230</transactionId>
<userDescription>Wedding Insurance</userDescription>
</transactionDetail>
<transactionStatus><status>posted</status></transactionStatus>
</transactionData>
Networth
Shows details about a consumers assets and liabilities to give a picture of the consumer's total financial life. This same information can be calculated using the account summary APIs, but this provides a simplified view.
Bill Reminders
Shows details about up coming bills the consumer has including the day the bill is due and the amount that is due.
Add/Edit Manual Accounts/Transaction
These write APIs allow a Yodlee FinApp to create an account in the system and transactions under the account. It can be used to allow an application to manage an account that Yodlee is not able to bring in using our platform such as a physical asset like a car or jewelry or to help manage a user's cash spending.
User Profile
The User Profile API gives returns information about the consumer using the Yodlee FinApp. This information includes name, mailing address, email address, etc. It can be used to personalize the service including showing information relavant to where the consumer lives.