Addepar 101
Addepar is a wealth management platform. Firms use it to track portfolios, manage entities (clients, accounts, securities, legal structures), run analytics, generate reports, and administer users. As a developer, you interact with the platform through REST APIs, the ADX analytical lakehouse, or MCP for AI agents.
This page explains the concepts you need before writing code.
The financial graph
Addepar models wealth as an ownership graph. A client (person node) owns holding accounts, which hold positions in securities. Legal entities, trusts, funds, and managed partnerships create intermediate ownership layers. The graph can be 15 levels deep.
A concrete example. Jane Smith (a person node) owns a revocable trust, which owns a brokerage account at Schwab, which holds 500 shares of AAPL. That is four levels: person, trust, account, position. Jane also owns a separate IRA holding 200 shares of AAPL. A FIRM-level query includes both paths and reports 700 shares total. An entity-level query scoped to the trust sees only the 500 shares in the brokerage account. Same security, same underlying data, different results because the ownership interpretation changed.
This matters because a portfolio query walks this graph from a starting point (the portfolio perspective), traversing ownership paths and computing values at every node. The same security held through two different accounts in the same household appears once or twice depending on the interpretation you choose.
Key concepts
| Concept | What it is | Why it matters |
|---|---|---|
| Entity | Any node in the financial graph: person, account, security, trust, fund, group | Every API operation references entities by ID. They are the building blocks. |
| Position | An ownership relationship between two entities (e.g., account holds 100 shares of AAPL) | Positions carry quantity, price, and value. They connect the graph. |
| Ownership path | The chain from a top-level owner down to a position | Different paths to the same position can have different ownership weights (e.g., 50/50 joint ownership). |
| Portfolio type | The ownership interpretation for a query (FIRM, entity, group, and 8 others) | Changes what the calculation engine includes. Excluding private equity changes every weight's denominator. |
| Attribute | A property of an entity (built-in or custom). Examples: asset_class, currency, custodian. | Attributes serve triple duty: entity metadata, query columns, and filter criteria. The usage array declares where each is valid. |
| View | A saved portfolio query configuration (columns, groupings, filters, date range) | The most common integration contract. Execute views via the Jobs API for async results. |
How the calculation engine works
The Portfolio Query API (POST /v1/portfolio/query) is the most important and least intuitive endpoint. It is a declarative computation request with five components:
- Columns define what to calculate (e.g.,
value,time_weighted_return). Each column accepts arguments that change the calculation (currency, time period, accrual method). - Groupings define how to organize results (e.g.,
asset_class,ownership). Nested groupings produce nested children in the response tree. - Portfolio type sets which ownership interpretation to use. The 11 enum values fundamentally change what the engine computes because they change which paths are traversed.
- Dates set the observation window. Column arguments can override this per-column.
- Filters apply pre-computation row filtering with 14 operators including compound and/or logic.
The response is a hierarchical tree. For queries covering 100+ entities or exceeding the 30-second timeout, use the Jobs API to submit asynchronously.
Three ways to access data
| Surface | Use when | Access |
|---|---|---|
| REST APIs | Real-time reads/writes, CRUD operations, transactional integrations | API key (Basic Auth) or OAuth 2.0. Public. |
| ADX | Bulk analytics, cross-portfolio queries, custom reporting, data science | Firm-enabled. Contact your account team. |
| MCP | AI agent workflows with scoped financial data access and audit trails | Beta. Contact your Addepar rep. |
REST APIs serve individual operations. ADX serves analytical workloads over the same data. MCP connects AI agents to financial data with permission-scoped, audited access. They are complementary, and for many integrations, the choice comes down to latency vs. breadth. See ADX for the analytical lakehouse and Agents and MCP for AI integration.
Where to start
External resources
- Addepar product overview: commercial product information
- Integration Center: pre-built connectors and partner integrations
- ADX product page: data lakehouse product information
Updated 18 days ago