var searchIndex = {}; searchIndex["plaid"] = {"doc":"[Plaid][Plaid] is the technology layer for financial services.\nThis library makes it easy to interface with Plaid.","items":[[0,"api","plaid","The namespace that everything in this library falls under.",null,null],[0,"user","plaid::api","User-related data structures.",null,null],[3,"User","plaid::api::user","# User\nRepresents an authorized user for a given product.",null,null],[12,"access_token","","The access token for this user",0,null],[11,"fmt","","",0,null],[11,"decode","","",0,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[0,"client","plaid::api","Data structures and methods that interact with Plaid via HTTP.",null,null],[3,"Client","plaid::api::client","# Client",null,null],[12,"endpoint","","E.g `https://api.plaid.com`.",1,null],[12,"client_id","","Your application's `client_id`.",1,null],[12,"secret","","Your application's `secret`.",1,null],[12,"hyper","","The instance of `hyper::Client` to use.\n*In most cases* you simply need `hyper::Client::new()`.\nHowever this is a good place to configure things like\nproxies, timeouts etc.",1,null],[0,"payload","","Payload",null,null],[3,"AuthenticateOptions","plaid::api::client::payload","Options that can be passed along to any `Payload::Authenticate` request.",null,null],[3,"FetchDataOptions","","Options that can be passed along to any `Payload::FetchData` request.",null,null],[4,"Payload","","Use this enum to tell the client what you want to do\nwith the associated product.",null,null],[13,"Authenticate","","Authenticate a user.",2,null],[13,"Reauthenticate","","Re-euthenticate an existing user.",2,null],[13,"Upgrade","","Upgrade the user for access to the given product.",2,null],[13,"RemoveUser","","Delete a user from Plaid.",2,null],[13,"StepMFA","","Send multifactor authentication response.",2,null],[13,"FetchData","","Retrieve data from the product.",2,null],[4,"SelectedDevice","","The device that the user has chosen to use for mfa.",null,null],[13,"Mask","","The `mask` returned when authenticating with `AuthenticateOptions { list: true, .. }`,\ne.g "t..t@plaid.com",",3,null],[13,"Device","","The type of the device as defined under `mfa::Device`.",3,null],[11,"endpoint","","Returns the desired endpoint of the payload, given a `Product`",2,null],[11,"method","","Returns the `hyper::method::Method` to be used for the request",2,null],[11,"encode","","",2,null],[11,"fmt","","",3,null],[11,"encode","","",3,null],[11,"encode","","",4,null],[11,"fmt","","",4,null],[11,"default","","Generate a default `AuthenticateOptions` struct with every field unset.",4,{"inputs":[],"output":{"name":"authenticateoptions"}}],[11,"encode","","",5,null],[11,"fmt","","",5,null],[11,"default","","Generate a default `FetchDataOptions` struct with every field unset.",5,{"inputs":[],"output":{"name":"fetchdataoptions"}}],[0,"response","plaid::api::client","Response",null,null],[4,"Response","plaid::api::client::response","# Response",null,null],[13,"MFA","","Waiting on multifactor authentication code from the user",6,null],[13,"ProductNotEnabled","","Returned when a request is made for a `Product` that is not\ncurrently enabled for the given `User`.",6,null],[13,"ProductData","","We have sucessfully fetched the available data pertaining to the\ngiven `Product`.",6,null],[13,"Authenticated","","We have successfully authenticated the user, and have retrieved\nthe relevant `Product::Data` along with that authentication.",6,null],[13,"Unknown","","Nothing is known about the user and no requests have been made",6,null],[11,"fmt","","",6,null],[11,"clone","plaid::api::client","",1,null],[11,"request","","Make a request to the given [Product](../product/struct.Product.html), using a\n[Payload](./payload/struct.Payload.html) describing the intention of the operation.",1,null],[0,"error","plaid::api","Namespace for error definitions. Responses are only considered to\nbe errors if they fall outside of the expected user flow. By that\ndefinition, all non 2XX HTTP response codes are considered an error.",null,null],[4,"Error","plaid::api::error","# Error\nRepresents possible errors returned from the API.\n`P` represents the product that the error is scoped for.",null,null],[13,"UnsuccessfulResponse","","Represents bad HTTP status codes, or codes that we don't support.",7,null],[13,"InvalidResponse","","Represents errors forwarded from `rustc_serialize`, usually indicating\nthat the response returned something that could not be decoded.",7,null],[13,"HTTP","","Represents an error forwarded from `hyper`, which means it is most\nlikely HTTP (protocol, rather than status code) related.",7,null],[13,"IO","","Returned for errors that are forwarded from `std::io::Error`",7,null],[13,"InternalError","","This should happen very rarely, and indicates that something is most\nlikely wrong with `plaid::api` rather than the end user.",7,null],[11,"fmt","","",7,null],[11,"fmt","","",7,null],[11,"description","","",7,null],[11,"from","","",7,{"inputs":[{"name":"ioerror"}],"output":{"name":"error"}}],[11,"from","","",7,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",7,{"inputs":[{"name":"decodererror"}],"output":{"name":"error"}}],[11,"from","","",7,{"inputs":[{"name":"encodererror"}],"output":{"name":"error"}}],[0,"product","plaid::api","Product definitions that provide endpoint and response deserialization\ninformation.",null,null],[0,"connect","plaid::api::product","Connect is a product that Plaid offers. It allows you to retrieve account balance\nand transaction history data.",null,null],[3,"Connect","plaid::api::product::connect","`Connect` is the endpoint you need to fetch transaction for a `User`",null,null],[3,"ConnectData","","Representation of data that is retrieved from the `Connect` product.",null,null],[12,"accounts","","List of accounts associated with the user",8,null],[12,"transactions","","List of transactions associated with the user",8,null],[11,"fmt","","",9,null],[11,"decode","","",8,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",8,null],[11,"description","","",9,null],[11,"endpoint","","",9,null],[0,"auth","plaid::api::product","Auth is a product that allows you to authorize ACH transaction from the\nend-users account. It will return account data including account numbers\nand routing numbers if authorization is successful.",null,null],[3,"Auth","plaid::api::product::auth","`Auth` is the endpoint you need in order to check that the user owns their account.",null,null],[3,"AuthData","","Representation of data that is retrieved from the `Auth` product.",null,null],[12,"accounts","","List of accounts associated with the user",10,null],[11,"fmt","","",11,null],[11,"decode","","",10,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",10,null],[11,"description","","",11,null],[11,"endpoint","","",11,null],[0,"info","plaid::api::product","The Info endpoint allows you to retrieve various account holder\ninformation on file with the financial institution, including names, emails,\nphone numbers, and addresses.",null,null],[3,"Info","plaid::api::product::info","The definition of the Info Product.",null,null],[3,"InfoData","","Representation of data that is retrieved from the `Info` product.",null,null],[12,"accounts","","List of accounts associated with the user. When returned from the\nInfo endpoint it will also include account and routing numbers.",12,null],[12,"info","","Includes all user information that has been returned.",12,null],[3,"InfoInternalData","","Represents the *actual* info data from an info response.",null,null],[12,"emails","","Emails associated with the user.",13,null],[12,"addresses","","Addresses associated with the user.",13,null],[12,"phone_numbers","","Phone numbers associated with the user.",13,null],[3,"InfoAddress","","Representation of an address entry returned by info.",null,null],[12,"primary","","Whether or not this is the user's primary address",14,null],[12,"address","","The underlying address",14,null],[11,"fmt","","",15,null],[11,"decode","","",12,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",12,null],[11,"decode","","",13,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",13,null],[11,"fmt","","",14,null],[11,"decode","","",14,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"description","","",15,null],[11,"endpoint","","",15,null],[0,"balance","plaid::api::product","Balance is a product that allows users to query the account balance\nof a given user.",null,null],[3,"Balance","plaid::api::product::balance","`Balance` is the endpoint you need to fetch transaction for a `User`",null,null],[3,"BalanceData","","Representation of data that is retrieved from the `Balance` product.",null,null],[12,"accounts","","List of accounts associated with the user",16,null],[11,"fmt","","",17,null],[11,"decode","","",16,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",16,null],[11,"description","","",17,null],[11,"endpoint","","",17,null],[0,"income","plaid::api::product","The Income endpoint allows you to retrieve various information pertaining to a user's income.",null,null],[3,"Income","plaid::api::product::income","The Income endpoint.",null,null],[3,"IncomeData","","The underlying data representation of Income.",null,null],[12,"accounts","","A list of user accounts and their balances.",18,null],[12,"income","","Income data",18,null],[3,"IncomeInternalData","","Internal data representation of the income response",null,null],[12,"income_streams","","A list of income streams.",19,null],[12,"last_year_income","","The sum of user's income over the past 365 days.\nIf we have less than 365 days of data this will be less than a full year's income.",19,null],[12,"last_year_income_before_tax","","`last_year_income` interpolated to value before taxes.\nThis is the minimum pre-tax salary that assumes a filing status of\nsingle with zero dependents.",19,null],[12,"projected_yearly_income","","User's income extrapolated over a year based on current,\nactive income streams. Income streams become inactive if they have not\nrecurred for more than two cycles. For example, if a weekly paycheck hasn't\nbeen seen for the past two weeks, it is no longer active.",19,null],[12,"projected_yearly_income_before_tax","","`projected_yearly_income` interpolated to value before taxes.\nThis is the minimum pre-tax salary that assumes a filing status of\nsingle with zero dependents.",19,null],[12,"max_number_of_overlapping_income_streams","","Max number of income streams present at the same time over the past 365 days.",19,null],[12,"number_of_income_streams","","Total number of distinct income streams received over the past 365 days.",19,null],[3,"IncomeStream","","An income stream represents a stream of income that Plaid\nhas detected from their transactions.",null,null],[12,"monthly_income","","How much income per month in dollars.",20,null],[12,"confidence","","Plaid's confidence in this estimate.",20,null],[12,"days","","The number of days Plaid has seen this for.",20,null],[12,"name","","The name of the income stream.",20,null],[11,"fmt","","",21,null],[11,"decode","","",18,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",18,null],[11,"description","","",21,null],[11,"endpoint","","",21,null],[11,"decode","","",19,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",19,null],[11,"decode","","",20,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",20,null],[8,"Product","plaid::api::product","Anything that implements `Product` can be used as a product.",null,null],[16,"Data","","The response data that is associated with this product.",22,null],[10,"endpoint","","The endpoint of the product for the given payload.\nWith leading slash, e.g `/connect/get`",22,null],[10,"description","","A textual representation of the product, e.g `Connect`",22,null],[0,"mfa","plaid::api","Data structures and implementations related to multi-factor-authentication.",null,null],[4,"Challenge","plaid::api::mfa","Represents one of the different types of multi-factor-authentication\nchallenges Plaid supports.",null,null],[13,"Code","","A token-based authorization, this token will be sent to one of\nthe user's registered devices.",23,null],[13,"DeviceList","","A list of possible challenge devices, in which the user should\nchoose one and then pass along the selection using `api::client::payload::AuthenticateOptions`.\nIt is in the form of `(device_type, device_mask)`.",23,null],[13,"Questions","","A list of questions that need to be answered.",23,null],[13,"Selections","","A list of multi-choice selections",23,null],[4,"Response","","Represents a response to a previously given MFA challenge.",null,null],[13,"Code","","A response to a code challenge, providing the code\nthat was sent to the user's device.",24,null],[13,"Questions","","Responses to a previously given list of questions.",24,null],[13,"Selections","","Responses to a previously given list of selections.",24,null],[4,"Device","","Represents a device that can be used for multifactor authentication",null,null],[13,"Email","","Code sent to the user's email",25,null],[13,"Phone","","Code sent to the user's phone number via sms",25,null],[13,"Card","","Verify a credit card number",25,null],[11,"eq","","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"eq","","",24,null],[11,"ne","","",24,null],[11,"fmt","","",24,null],[11,"encode","","",24,null],[11,"decode","","",23,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"clone","","",25,null],[11,"eq","","",25,null],[11,"fmt","","",25,null],[11,"decode","","",25,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"encode","","",25,null],[0,"data","plaid::api","Types that define data structures that are returned from the API.",null,null],[0,"account","plaid::api::data","Representations of a user's bank account.",null,null],[3,"Account","plaid::api::data::account","# Account\nRepresents one account associated with the given `User`.",null,null],[12,"id","","The unique id of the account.",26,null],[12,"item_id","","An id unique to the accounts of a particular access token",26,null],[12,"current_balance","","The total amount of funds in the account",26,null],[12,"available_balance","","The Current Balance less any outstanding holds or debits that\nhave not yet posted to the account. May sometimes not be available.",26,null],[12,"institution","","The financial institution associated with the account.",26,null],[12,"account_type","","The classification of this account.\n[See here for more info](https://plaid.com/docs/api/#connect-account-types).",26,null],[12,"account_subtype","","A more detailed classification of the account.\nThis is not always available.\n[See here for a list of possible types][sub-types].\n[sub-types]: https://plaid.com/docs/api/#connect-account-subtypes",26,null],[12,"account_number","","The user's bank account number.\nOnly available when using `api::product::Auth`.",26,null],[12,"routing_number","","The user's routing number.\nOnly available when using `api::product::Auth`.",26,null],[12,"wire_routing_number","","The user's wire routing number.\nOnly available when using `api::product::Auth`.",26,null],[12,"meta","","Meta-data associated with this account",26,null],[3,"Meta","","Any meta-data associated with the account.",null,null],[12,"name","","Name of the account (e.g "Plaid credit card".)",27,null],[12,"number","","Number associated with the name.",27,null],[12,"limit","","Any limit associated with the account, if it's a credit card.",27,null],[11,"fmt","","",26,null],[11,"decode","","",27,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",27,null],[11,"decode","","",26,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[0,"transaction","plaid::api::data","Representations of banking transactions.",null,null],[3,"Transaction","plaid::api::data::transaction","Represents a single transaction associated with a given `Account`.",null,null],[12,"id","","The unique identifier of this transaction.",28,null],[12,"account_id","","The associated `Account`.",28,null],[12,"amount","","Dollar value as as float. It is positive to indicate money\nmoving out of the account, and negative to indicate that\nmoney is moving in.",28,null],[12,"category_id","","The category to which this account belongs.\n[A list can be found here](https://plaid.com/docs/api/#all-categories).",28,null],[12,"context","","The context in which the transaction occurred.",28,null],[12,"categories","","An hierarchical list of the categories in which\nthis transaction belongs to.",28,null],[12,"pending","","When `true`, then this transaction is cleared and immutable.\nWhen `false`, then it is posted and subject to change in the future.",28,null],[12,"date","","The date on which the transaction took place.\nPlaid standardizes using the ISO 8601 format.",28,null],[12,"meta","","Transaction meta data",28,null],[3,"Meta","","Represents meta data associated with the transaction",null,null],[12,"location","","The location in which the transaction most likely occured.",29,null],[4,"Context","","The context in which a transaction took place",null,null],[13,"Place","","A phyical place",30,null],[13,"Digital","","An online transaction",30,null],[13,"Special","","Usually banking transactions",30,null],[13,"Unresolved","","Could not be determined",30,null],[11,"fmt","","",28,null],[11,"fmt","","",29,null],[11,"decode","","",29,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"decode","","",28,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"fmt","","",30,null],[11,"decode","","",30,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[0,"address","plaid::api::data","Stores types that represent addresses",null,null],[3,"Address","plaid::api::data::address","A user's address, as returned by Plaid.",null,null],[12,"zip","","The address zip code part.",31,null],[12,"state","","The address state part.",31,null],[12,"city","","The address city part.",31,null],[12,"street","","The address street part.",31,null],[12,"longitude","","Longitude.",31,null],[12,"latitude","","Latitude.",31,null],[11,"fmt","","",31,null],[11,"decode","","",31,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[0,"phone_number","plaid::api::data","Types to encapsulate a phone number, as represented by\nthe Plaid API.",null,null],[3,"PhoneNumber","plaid::api::data::phone_number","A user's phone number, as returned by Plaid.",null,null],[12,"primary","","Whether or not the user has chosen this as their primary phone number.",32,null],[12,"phone_number_type","","The type of the phone number (e.g personal, home).",32,null],[12,"phone_number","","The actual phone number.",32,null],[11,"fmt","","",32,null],[11,"decode","","",32,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[0,"email","plaid::api::data","Strucutres to encapsulate an email as returned by the Plaid API",null,null],[3,"Email","plaid::api::data::email","A user's email, including meta data returned by Plaid.",null,null],[12,"primary","","Whether or not the user has chosen this as their primary email.",33,null],[12,"email_type","","The designated type for this email (e.g personal, home).",33,null],[12,"email","","The actual email address.",33,null],[11,"fmt","","",33,null],[11,"decode","","",33,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[6,"UID","plaid::api::data","Unique identifiers in Plaid are represented as a globally unique hash.",null,null],[6,"CategoryID","","Category identifiers are represented by an unsigned integer.",null,null],[6,"Amount","","All amounts are represented in a 64-bit floating-point type.\nThis is for legacy reasons and may change in the future.",null,null],[6,"Username","","A user's bank account username.",null,null],[6,"Name","","A user's real namee.",null,null],[6,"Password","","A user's bank account password.",null,null],[6,"MFACode","","A user's multi-factor authentication code.",null,null],[6,"AccessToken","","A user's secret access token",null,null],[6,"ClientID","","Your client id from the Plaid dashboard.",null,null],[6,"ClientSecret","","Your client secret from the Plaid dashboard.",null,null],[6,"Institution","","A user's institution. See [here for a list](https://plaid.com/docs/api/#institutions).",null,null],[6,"PIN","","A PIN number",null,null],[6,"Date","","Dates are simply stored as their original `String` representation.\nIt is up to you to parse it with your favorite date/time library.",null,null]],"paths":[[3,"User"],[3,"Client"],[4,"Payload"],[4,"SelectedDevice"],[3,"AuthenticateOptions"],[3,"FetchDataOptions"],[4,"Response"],[4,"Error"],[3,"ConnectData"],[3,"Connect"],[3,"AuthData"],[3,"Auth"],[3,"InfoData"],[3,"InfoInternalData"],[3,"InfoAddress"],[3,"Info"],[3,"BalanceData"],[3,"Balance"],[3,"IncomeData"],[3,"IncomeInternalData"],[3,"IncomeStream"],[3,"Income"],[8,"Product"],[4,"Challenge"],[4,"Response"],[4,"Device"],[3,"Account"],[3,"Meta"],[3,"Transaction"],[3,"Meta"],[4,"Context"],[3,"Address"],[3,"PhoneNumber"],[3,"Email"]]}; initSearch(searchIndex);