AssetMark
AssetMark is a bidirectional data sync integration that imports client data and sends product subscription data back to AssetMark for billing.
Overview
Section titled “Overview”| Attribute | Value |
|---|---|
| Integration Type | Data Sync (Bidirectional) |
| Authentication | OAuth 2.0 (Client Credentials, no refresh token) |
| Data Flow | Bidirectional (accounts in, subscriptions out) |
| Owner | Qianwei Hao |
Data Model
Section titled “Data Model”Client (clientId, firstName, lastName) └── Account (accountId, registeredName, accountTypeId) └── Holding (cusipno, symbol, assetTypeId, units, marketValue)Special Features
Section titled “Special Features”- Bulk Fetch: Supports fetching multiple households in one API call (chunked by 10)
- No Household Listing: Must be imported by reference (UUID)
- SSO Only: Integrations cannot be created manually
Account Type Mapping
Section titled “Account Type Mapping”| Type ID | Account Type | RC Subtype |
|---|---|---|
| 3-6, 9-14 | Individual, Joint, Corporate | TAXABLE |
| 7, 8, 17 | Trust, Foundation | TRUST |
| 18, 30, 38 | Traditional IRA, Rollover IRA | TRADITIONAL_IRA |
| 19 | Roth IRA | ROTH_IRA |
| 21 | SEP-IRA | SEP_IRA |
| 23, 24 | 401(k), 403(b) | 401K |
API Endpoints
Section titled “API Endpoints”| Purpose | Endpoint | Method |
|---|---|---|
| Get Client | Clients/{clientId} | GET |
| Bulk Get Clients | users/bulkaccounts | POST |
| Send Subscription | productsubscription | POST |
Code Locations
Section titled “Code Locations”| Component | Path |
|---|---|
| Connector | retail-api/app/Integrations/AssetMark/Connector.php |
| Integrator | retail-api/app/Integrations/AssetMark/Integrator.php |
| Models | retail-api/app/Integrations/AssetMark/Models/ |
Common Issues
Section titled “Common Issues”401 with Service Message
Section titled “401 with Service Message”Symptom: 401 response with “unable to complete request”
Cause: Temporary service issue (not auth error)
Solution: Treated as ServiceUnavailableException - retry later