API Overview
The inbound API, in which the partner services realtime and periodic Plaid events, has two distinct modes — authorization and aggregation. Authorization extends the partner’s authentication frontier to the entire universe of Plaid applications. Aggregation allows the partner to act as a complete source of truth to all Plaid applications where users have connected their accounts.
The API also provides partners methods to enumerate Plaid applications connected to user accounts, and to drive UIs which empower users to manage those connections. Lastly, the API provides mechanisms whereby both Plaid and the partner can notify each other of key events, such as new connected applications, or new transactions available to fetch.
Item lifecycle
In order to understand the core concepts behind the PX API, it’s necessary to introduce the Item Lifecycle. This core concept underlies Plaid’s data access request pattern, and neatly connects all of the various methods and messages described in this API spec. At Item has three core phases, and the transitions into and out of these phases is what governs the API requests that Plaid will send to a partner’s PX API implementation. The three phases are created, idle, and updating.
Item created
When a user successfully authenticates their account and connects their Item to a Plaid developer application, an Item comes into existence but has no financial account data associated with it yet. During this time, Plaid only has authentication tokens representing its authority to connect to the API and request such account data, which is what happens during this phase. Plaid will do an initial data fetch, retrieving account names, classifications, balances and other details for the permissioned accounts, as well as transaction history if the connecting use case requires it. Until this data fetch is complete, Plaid may return errors to the developer if they attempt to request account data for the Item. When this phase is complete, the developer will receive a webhook notifying them that the Item is ready.
Item idle
This is the phase a healthy Item spends most of its life in. The Item is fully populated with the account and transaction data required to serve the use case. As time since the most recent update increases, the data may no longer be current, which leads to the need for a Plaid initiated update cycle.
Item updating
Once an Item update is triggered, the Plaid backend will call out to the partner’s API implementation to request account summary and transaction updates for all authorized application use cases. These updates will be requested across the entire Item, i.e. all accounts, even when only one account has new activity. The updates will be merged into Plaid’s Item and will be reflected when the Item returns to an idle state.