canonical: https://jentic.com/apis/envestnet.com/envestnet

# Envestnet API

Envestnet, through its Yodlee aggregation platform, provides account aggregation, transaction enrichment, and wealth-management data APIs used by financial advisors, fintechs, and large institutions. The published surface covers user registration, account aggregation, transaction retrieval and categorisation, provider browsing, holdings, and statements. With 24 endpoints, it forms a working base for personal financial management, advisor dashboards, and account-based onboarding flows where the customer needs to link external bank, brokerage, or credit accounts.

## For AI agents

Aggregate bank, brokerage, and credit accounts, retrieve categorised transactions, and read holdings and statements through the Envestnet Yodlee platform.

## Scope

Does not handle payment initiation, lending decisions, or trade execution - use for account aggregation, transaction retrieval, holdings, and statements only.

## Capabilities

- Register a new end user against the Envestnet platform via POST /user/register
- Read, update, or delete the authenticated user via /user
- List a user's aggregated accounts and update or remove individual account links
- Retrieve categorised transactions and the available transaction categories
- Update a transaction (for example to recategorise or annotate it)
- Browse supported financial institutions via /providers and /providerAccounts
- Pull holdings, derived data, and statements for wealth-management dashboards

## Use cases

### Personal Financial Management Dashboard

Build a PFM app that lets users link external bank, credit card, and brokerage accounts via /providerAccounts, then displays categorised transactions retrieved from /transactions. The category list from /transactions/categories powers spending breakdowns and budgets. A typical PFM build uses these endpoints as the backbone for the data layer.

Example prompt: Call GET /transactions for the user with date range last 90 days and group results by the category field for a spending view.

### Advisor Holdings View

Wealth advisors use the holdings endpoint to consolidate a client's brokerage positions across linked institutions, then surface them alongside performance data in an advisor dashboard. Statements retrieved from the API support compliance and reporting workflows. Pairs naturally with portfolio analytics tooling.

Example prompt: Read holdings for the authenticated user and group by accountId to show consolidated positions across linked brokerage accounts.

### Account Onboarding and Linking

Onboard a new end user with POST /user/register, then walk them through linking a financial institution by browsing GET /providers and creating a provider account via the providerAccounts flow. The integration handles refresh state and errors so the consumer experience is consistent across thousands of supported institutions.

Example prompt: Submit POST /user/register for a new end user, then list providers via GET /providers to surface the institution picker.

### AI Agent Financial Assistant Through Jentic

An AI financial assistant uses Jentic to discover Envestnet operations by intent and answers user questions like 'how much did I spend on groceries last month?' by chaining account list, transaction retrieval, and category data. The Envestnet bearer and cobrand credentials stay in your Jentic One instance and never enter the agent's prompt context.

Example prompt: Search Jentic for 'list user transactions', load GET /transactions, and execute it for the linked user with date range last 30 days.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /user/register | Register a new end user |
| GET | /user | Read the authenticated user |
| GET | /accounts | List the user's aggregated accounts |
| GET | /transactions | Retrieve transactions for the user |
| GET | /transactions/categories | List available transaction categories |
| PUT | /transactions/{transactionId} | Update a transaction (e.g. recategorise) |
| GET | /providers | Browse supported financial providers |
| GET | /providerAccounts | List provider account links and refresh state |

## Key resources

- **Users** — Register, read, update, and delete end users on the platform.
- **Accounts** — List, read, update, and delete the user's aggregated accounts.
- **Transactions** — Retrieve transactions, transaction counts, available categories, and update individual transactions.
- **Providers** — Browse supported financial providers and provider accounts.
- **Holdings, Derived Data, and Statements** — Pull positions, derived metrics, and statements for wealth-management views.

## Why Jentic

- **Setup:** Wiring Envestnet by hand means combining its bearer-token auth with the separate API-version header cobrand key, choosing between the Yodlee and Envestnet hosts, and building your own retries. Through Jentic you install once, import the Envestnet API from the API Directory, store the bearer token and version key once, and your agent calls it.
- **Permission scoping:** Scope the agent to the operations it needs, such as GET /accounts or GET /transactions, so it reads aggregated data without reaching write calls. You pick that allowed set, so an operation like PUT /transactions/{transactionId} is only reachable if you include it.
- **Credential handling:** Your Envestnet bearer token and cobrand version key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list a user's transactions' or 'get linked accounts', and Jentic returns the matching Envestnet operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Plaid** — Account aggregation and open banking API with strong U.S. and EU coverage
- **MX** — Aggregation and data enrichment API focused on financial institutions
- **Xero Accounting** — Push categorised transactions into a small-business accounting ledger

## FAQ

### What authentication does the Envestnet API use?

The Envestnet API uses HTTP bearer tokens for the user-bound session and a cobrand API key passed in the API-Version header. Both credentials must be present on each request. Through Jentic, both are stored encrypted in your Jentic One instance and never enter the agent context.

### Can I aggregate bank accounts with the Envestnet API?

Yes. The /providers and /providerAccounts endpoints support linking and managing aggregated bank, credit, and brokerage accounts via the Yodlee aggregation backbone. /accounts then exposes the resulting account records for the user.

### How do I retrieve categorised transactions?

Call GET /transactions with the desired filters; each transaction includes a category field. GET /transactions/categories returns the available category taxonomy if you need it for filtering or display, and PUT /transactions/{transactionId} lets you recategorise a transaction.

### What are the rate limits for the Envestnet API?

The OpenAPI spec does not publish numeric rate limits. Envestnet applies plan-based limits at the cobrand level and across data partner endpoints - contact your Envestnet account manager for the limits attached to your environment.

### How do I list a user's accounts through Jentic?

Search Jentic for 'list aggregated accounts for a user', load GET /accounts, and execute it with the user's bearer token. Get started with Jentic One, the self-hosted execution layer.

### Does the Envestnet API support holdings and statements?

Yes. The Holdings, Derived Data, and Statements tags expose endpoints used by advisor and wealth-management apps to consolidate brokerage positions and pull statements alongside the standard banking transaction surface.

### Can I limit what my agent is allowed to do with the Envestnet API?

Yes. Because you run Jentic One yourself, you decide which Envestnet operations the agent may call, so you can allow read-only calls like GET /accounts and GET /transactions while withholding everything else. A write operation such as PUT /transactions/{transactionId} is only reachable if you explicitly include it in the allowed set. The bearer token and cobrand version key stay in your own instance and are injected only for the operations you have permitted.
