Caddi connects to Addepar with an API key and secret generated by a firm administrator inside your own Addepar tenant. This is not an OAuth connection — there is no sign-in step, so https://app.trycaddi.com/oauth-callback is not used.
Addepar must enable API access for your account before the API Access Key page is usable. If you don't see it, contact your Addepar representative — this is a vendor-side switch, not a permissions problem you can solve yourself.
Before you start
You'll need:
API access enabled on your Addepar account by Addepar (see above)
A firm administrator account — only firm administrators can create API keys
Create, edit, and delete under API Access on your Permissions tab
Owner or Admin access to your Caddi organization
Step 1: Generate the API key in Addepar
Sign in to Addepar and open Firm Administration → Firm Settings → API Access Key from the left menu.
Click the plus button at the right end of the table header.
Enter a description naming the integration —
Caddi— so the key is identifiable later.Click Submit.
Record the Key and Secret now and store them in a password manager. Addepar's guidance is to record them at creation; assume the secret cannot be retrieved afterwards.
Addepar recommends one key per integration. Keeping Caddi on its own key means you can revoke it without affecting anything else, and the last used on column tells you at a glance whether it's active.
Step 2: Find your Firm ID
Your Firm ID is a short numeric identifier, not your subdomain.
Open the Analysis tool in Addepar.
Choose Export → Generate API URL.
Read the firm ID out of the generated URL.
Step 3: Configure Addepar in Caddi
This step must be completed by a Caddi organization owner or admin.
In Caddi, open Integrations in the left sidebar, then click the Integration Setup tab at the top of the page. This tab is only visible to organization owners and admins.
Find Addepar in the list and click Configure.
Enter the following values:
API Key — the Key value from Step 1. Caddi sends this as the Basic auth username.
Secret — the Secret value from Step 1, sent as the Basic auth password.
Firm ID — the numeric firm ID from Step 2. Caddi sends it on every request as the
Addepar-Firmheader.
Click Save Configuration. Caddi validates the credentials immediately — if something is wrong you'll see an error right away, and nothing is stored until validation passes.
How the connection behaves
One shared identity. Everyone in your Caddi organization who uses Addepar in a loop acts through this API key. Addepar-side access reflects the permissions the key was created under.
Access is controlled by Addepar's own permissions model — groups, views, and portfolio access — not by scopes. To narrow what Caddi can reach, adjust those permissions in Addepar.
Keys do not appear to expire. Rotation means creating a new key, updating Caddi, then deleting the old one.
Revoking access. Delete the API key in Addepar. Access stops immediately.
Rate limits are not published but can be raised on request to your Addepar contact. If a large loop is being throttled, that's the conversation to have.
Troubleshooting
The API Access Key page isn't in Firm Settings
Addepar hasn't enabled API access for your account, or your user lacks the API Access permission. Check the Permissions tab first, then contact your Addepar representative.
Authentication fails on save
Confirm the Key and Secret were copied without leading or trailing spaces, and that the Firm ID is the numeric identifier from the generated API URL rather than your Addepar subdomain.
Caddi authenticates but returns no portfolio data
The permissions attached to the key don't include the portfolios or views the loop needs. Adjust them in Addepar's permissions model.
Large data pulls are throttled
Ask your Addepar contact about raising the rate limit for your firm.
Still stuck? Contact Caddi support with the exact error message you're seeing and the time it occurred.
Automation ideas
RIAs
Quarterly close → client reporting pack
Caddi pulls performance and holdings from Addepar, assembles each client's report, and files it to the client folder ready for advisor review.
Portfolio drift → rebalance review
Caddi checks allocations against targets on a schedule and creates a review task for any account that has drifted past your threshold.
Client meeting prep → briefing sheet
Ahead of a review meeting, Caddi assembles the account's current positions, performance, and recent activity into a one-page brief for the advisor.
New account → data reconciliation
When an account is onboarded, Caddi cross-checks the Addepar record against the CRM and custodian data and flags mismatches before they reach a client statement.
