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

ConceptWhat it isWhy it matters
EntityAny node in the financial graph: person, account, security, trust, fund, groupEvery API operation references entities by ID. They are the building blocks.
PositionAn ownership relationship between two entities (e.g., account holds 100 shares of AAPL)Positions carry quantity, price, and value. They connect the graph.
Ownership pathThe chain from a top-level owner down to a positionDifferent paths to the same position can have different ownership weights (e.g., 50/50 joint ownership).
Portfolio typeThe 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.
AttributeA 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.
ViewA 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:

  1. Columns define what to calculate (e.g., value, time_weighted_return). Each column accepts arguments that change the calculation (currency, time period, accrual method).
  2. Groupings define how to organize results (e.g., asset_class, ownership). Nested groupings produce nested children in the response tree.
  3. 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.
  4. Dates set the observation window. Column arguments can override this per-column.
  5. 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

SurfaceUse whenAccess
REST APIsReal-time reads/writes, CRUD operations, transactional integrationsAPI key (Basic Auth) or OAuth 2.0. Public.
ADXBulk analytics, cross-portfolio queries, custom reporting, data scienceFirm-enabled. Contact your account team.
MCPAI agent workflows with scoped financial data access and audit trailsBeta. 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


What’s Next

Time to set yourself up for success:

Did this page help you?