NOTE: This is not the authoritative/original source for the finicity gem available on rubygems.org. While the commits here are based on an unbundling of the gem, there are no other sources available.
A gem to communicate easily with Finicity's API
gem install finicity
or
add gem 'finicity'
to your project's Gemfile
You can configure the finicity gem with the following initializer
Finicity::V1.configure do |config|
config.base_url = "https://api.finicity.com/aggregation/"
config.partner_id = 1
config.partner_secret = "1234"
config.app_key = "5678"
end
or within a Rails project
add a file named config/finicity.yml
with the keys of the same name, and this will be loaded automatically via railtie
In order to connect with Finicity you must first create a session. This is done by a partner_authentication POST request, and if successful the response will contain a token that is valid for a limited time.
Creating a session can be done by making a new client and then authenticating
client = Finicity::Client.new
client.authenticate!
If you have an existing session, you can re-open your existing session
client = Finicity::Client.new("token-123")
If you have an existing session, and also need to re-open a mfa session, you can pass both tokens into the client when you create it
client = Finicity::Client.new("token-123", "mfa_session-123")
Once you have established a session, you can begin to issue commands to the API using your finicity client
client.get_institutions("Chase")
TODO: link to docs to list all API commands we support