Tool reference
All 34 tools the WealthAtlas MCP server exposes to AI assistants. Every tool is available to anyone whose account has MCP access. This page is generated from the live server, so it always matches deployed behavior.
Server endpoint: https://mcp.wealthatlas.com
Account & Access
get_access_info
Explain whether the user has WealthAtlas MCP access and, if not, how to get it. Call it when the user asks why tools are missing or how to get set up.
Example responses (2)
Your team has MCP seats, but none is assigned to you. Ask a WealthAtlas team admin to assign you one under Team Members on the My Profile page, or contact team@wealthatlas.com. Once you have a seat, reconnect this connector.
## Your WealthAtlas access You have WealthAtlas MCP access, so every tool is available: prospect research (lookup, profiles, giving, contact info, search, lists, networks, share links); team info; live research and imports; exports.
get_my_account
Get the user's WealthAtlas account, team and role. Use it to confirm which account and team the other tools act on.
Example response (1)
## Jordan Ellis - Email: jordan@example.org - Team: Acme Philanthropy Advisors - Plan: Enterprise - Role on team: Admin
whoami
Show who this connector is signed in as and whether it has WealthAtlas MCP access.
Example response (1)
## MCP identity - Subject: `auth0|000000000000000000000000` - Client: `https://claude.ai/oauth/mcp-oauth-client-metadata` - MCP access: yes - Token expires: 2026-08-15 03:45 UTC (epoch 1786669516)
For CIMD clients (Claude), the client is the client's metadata URL.
Prospect Research
check_lookup
Check on a live research job started by lookup_person or research_person. Pass the job_id the tool returned — and for a research_person job, the person_id it returned too. While a job runs you get its progress. When it finishes you get the profile. That can be a different profile from the one research started on (a better or merged match): use the returned profile's ID from then on. Poll every ~30 seconds, or about once a minute for wealth research.
| Parameter | Type | Required | Default |
|---|---|---|---|
| job_id | string | yes | |
| person_id | string | no |
Example responses (6)
Status: still researching (62% done, Analyzing wealth signals). Check again in ~30 seconds with `check_lookup(job_id="job_a81f42c7")`.
Status: research complete. ## [Jane Doe](https://app.wealthatlas.com/donor/da_5w8y2e6r) Portland, OR · age 54 …full basic profile…
Status: research finished without a confident match. The person may have little public presence; try lookup_person again with any additional details you have.
Status: still researching (40% done, Researching wealth). Check again in about a minute with `check_lookup(job_id="job_c27e90d4", person_id="da_7f3k2m9x")`.
A research_person job, polled with the person_id its reply carried.
Status: research complete. ## [Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x) Chicago, IL · age 67 · spouse: Margaret Smith …summary profile… ## Wealth — Robert Smith **Net worth:** $9B–$14B (est. $11B) …wealth details…
Profile research returns the summary profile, wealth research the wealth details, and research of both returns both. The profile is the one the research resolved to, which can be a better or merged profile than the person_id passed; the person_id is used when the job doesn't name one. Delivering it counts as one profile view.
`job_5d1e8b20` isn't a live research job's ID: this tool can only track jobs lookup_person and research_person started. If you are doing an import, use get_list and list_lists to track progress.
import_people hands out no job to check; its reply links the list it fills.
get_board_memberships
Nonprofit board service for a person.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Board service — 5 organizations - Art Institute of Chicago — Trustee (2015–2025) - Field Museum — Director (2012–2023) - Northwestern University — Trustee (2018–2024)
Rows are grouped by organization — ten years on one board is one line, not ten.
get_contact_info
Get a person's contact information. Request only the channels the user's task needs. The first request for a person starts a reveal and returns a reveal_job_id. A reveal takes about a minute: then call this tool again with that reveal_job_id to collect the result. Calling without it would start and charge a second reveal. Each newly revealed person counts against the monthly contact credits allowance for the user's plan. People already revealed come back instantly at no cost. Don't start a reveal the user didn't ask for.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| reveal_job_id | string | no | |
| include_work_email | boolean | no | true |
| include_personal_email | boolean | no | true |
| include_mobile_phone | boolean | no | false |
Example responses (4)
Nothing was on file in the requested channels, so a reveal has started. It takes about a minute: then call get_contact_info again with `reveal_job_id: job_8k2m4p` to collect the result. Don't call without the reveal_job_id — that would start and charge a second reveal. This reveal counts as one against the user's contact-reveal limit whatever it finds, and against the monthly contact credits if this person is new this month.
Contact info is reveal-based on WealthAtlas: the first request starts an asynchronous reveal scoped to the include flags, and the model polls with the returned reveal_job_id.
The reveal finished. Everything the user has revealed for this person, in every channel: ## Contact information - Personal email: r.smith@vistapoint.com (verified) - Mobile phone: (312) 555-0148 (verified)
Polling with the reveal_job_id returns everything the user has revealed for the person, whatever channels the reveal was started for — a person already revealed this month returns their pieces instantly at no extra cost.
The user is out of contact reveals for this month — the monthly allowance resets on the first. Tell the user; nothing was revealed.
The team has used all its contact credits for this billing period. They renew on November 3, 2026. Tell the user; nothing was revealed, and the other tools still work.
get_giving_history
Itemized charitable (nonprofit) giving for a person.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Charitable giving — Robert Smith **Art Institute of Chicago** — $5M–$8M across 9 gifts - 2025 — $1M–$2.5M - 2023 — $500K–$1M - 2021 — $2.5M **Northwestern University** — $4M–$6M across 7 gifts - 2024 — $500K–$1M - 2022 — amount undisclosed … *Page 1 of 2 (19 organizations total).*
Grouped per organization: the deduplicated total first, then each gift's year and amount.
get_person_profile
Get a person's profile by their WealthAtlas person ID. By default, this gives back a summary — demographics, bio, wealth, giving snapshot, etc. Set full=true for the whole profile (including connections, full bio, complete work and education history, etc). When telling the user about a person, share the WealthAtlas profile link from the markdown, never a raw ID.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| full | boolean | no | false |
Example response (1)
## [Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x) Chicago, IL · age 67 · spouse: Margaret Smith Founder and chairman of Vista Point Capital… **Wealth:** net worth $9B–$14B (est. $11B); liquidity $1B–$2B **Giving:** predicted annual giving $4.2M; 48 public gifts across 19 organizations totalling $22M–$31M; largest gift $2.5M; average gift $550K **Political:** 112 donations, avg $8.4K **Family foundations:** Smith Family Foundation `npo_smithfdn` **Interests:** Arts, Higher Education, Healthcare **Current boards:** Art Institute of Chicago `npo_art`, Field Museum `npo_field` **Current role:** Chairman at Vista Point Capital `com_vista` **Education:** Harvard Business School `sch_hbs`, MBA, 1985 --- *2 team notes · on 3 donor lists · 4 strong connections to your network — set full=true to see them.* *More detail: get_person_profile — this summary; full=true for the whole profile; get_giving_history — all 73 charitable gifts, itemized; get_political_giving — itemized state and local political donations; get_board_memberships — all 22 board records; get_wealth_details — 12 researched assets, income, real estate; get_contact_info — emails and phones (revealing someone new uses one of the plan's monthly contact credits).* *Last updated 2026-08-02.*
The one-screen summary: every itemized section appears as a count + pointer to its drill-down tool, organizations carry their IDs for get_entity_profile, and full=true adds every section with numbered citations.
get_political_giving
Itemized state and local political donations for a person.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Political giving — 112 donations, $940K total - 2026-03-14 — $50K → Growth PAC (REP), IL - 2025-11-02 — $6.6K → Friends of J. Alvarez (DEM), IL … *Page 1 of 3 (112 rows in all).*
get_wealth_details
A person's full wealth details — net worth, liquidity, income, assets, real estate, etc.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes |
Example response (1)
## Wealth — Robert Smith **Net worth:** $9B–$14B (est. $11B) **Key takeaway:** Primary driver is his ~35% stake in Vista Point Capital… **Liquidity:** $1B–$2B Fund distributions and carry are largely cash… **Published estimates:** forbes.com $10B–$12B [6] ### Income (4) - **Fund Carry** — Vista Point Capital — $80M–$120M a year (2014–present) [3] Carry on Funds V–VII… ### Non-cash assets (12) - **Private Equity** — Vista Point Capital — $7B–$10B [2] Retains control after the 2019 recapitalization… - **Public Equity** — MDW Holdings — $400M–$600M [5] ### Real estate (4 properties) - 1200 N Lake Shore Dr, Chicago, IL 60610 — owned; value $4.2M, equity $3.1M, mortgage remaining $1.1M (taken out 2004) - 55 W Elm St, Chicago, IL 60610 — sold 2004-03-15 for $1.2M ## Sources [1] LinkedIn — LinkedIn Profile — https://www.linkedin.com/in/… [2] Chicago Business News — News — https://…
lookup_person
Find a specific person in WealthAtlas and get their profile — use this instead of search_people when the user wants one particular person. Provide every identifying detail you know to increase match confidence. Locations, employers, occupations, schools, and nonprofit affiliations all accept multiple values; locations can be strings ('Chicago, IL', '330 7th Ave, New York') or structured {street_address, city, state, zip_code}. Returns the profile directly on a confident match; a shortlist of candidates when several people fit (pick one, or retry with more detail); or starts live research (a 1–2 minute background job) when nobody matches. Set force_enrich=true *only* when a returned shortlist contained none of the right people: it skips matching and researches the person fresh, and with full identifying details the research lands on the right person. Don't use this tool to research someone who already has a profile — use the research_person tool instead.
| Parameter | Type | Required | Default |
|---|---|---|---|
| first_name | string | yes | |
| last_name | string | yes | |
| middle_name | string | no | |
| locations | array | no | |
| employers | array | no | |
| occupations | array | no | |
| schools | array | no | |
| affiliated_nonprofits | array | no | |
| spouse_first | string | no | |
| spouse_last | string | no | |
| nicknames | array | no | |
| string | no | ||
| force_enrich | boolean | no | false |
Example responses (4)
## [Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x) Chicago, IL · age 67 · spouse: Margaret Smith Founder and chairman of Vista Point Capital… **Wealth:** net worth $9B–$14B (est. $11B); liquidity $1B–$2B **Giving:** predicted annual giving $4.2M; 48 public gifts across 19 organizations totalling $22M–$31M; largest gift $2.5M; average gift $550K **Political:** 112 donations, avg $8.4K **Family foundations:** Smith Family Foundation **Interests:** arts_culture, higher_education, health **Current boards:** Art Institute of Chicago, Field Museum **Current role:** Chairman at Vista Point Capital **Education:** Harvard Business School, MBA, 1985 --- *More detail: get_person_profile — this summary; get_giving_history — all 73 charitable gifts, itemized; get_political_giving — all 112 political donations; get_board_memberships — all 22 board records; get_wealth_details — 12 researched assets, income, real estate; get_contact_info — emails and phones (revealing someone new uses one of the plan's monthly contact credits).* *Profile last updated: 2026-08-02*
Exactly one person matched the details — the basic profile comes back immediately.
Found 3 possible matches: - **[Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — age 67 — spouse: Margaret Smith — Chairman at Vista Point Capital - **[Robert A. Smith](https://app.wealthatlas.com/donor/da_2b8n4q1z)** — Evanston, IL — age 81 — Retired orthodontist - **[Rob Smith](https://app.wealthatlas.com/donor/da_9c5r7t3v)** — Chicago, IL — age 44 — spouse: Dana Smith — Partner at Baker & Daniels LLP Open the right person with get_person_profile (their ID is at the end of their profile link). If none of them is the person, call lookup_person again with more identifying details, or with force_enrich=true to research them fresh.
Slim rows on purpose — enough to tell people apart (name, location, age, spouse, current role); each carries the profile-link ID to pass to get_person_profile.
WealthAtlas is researching Jane Doe live. This typically takes 1–2 minutes. Tell the user research is underway, then check with `check_lookup(job_id="job_a81f42c7")` (wait ~30 seconds between checks). *Usage note — tell the user: WealthAtlas MCP live research jobs: 50 of 100 used today (50%), 50 left; resets at midnight UTC.*
Nobody matched (or force_enrich=true) — live research starts in the background, limited per user per day and per month. This run happened to be the day's 50th, so it carries the note that asks the agent to tell the user.
No matching person was found in WealthAtlas, and live research can't start. The user has reached WealthAtlas's MCP limit of 100 live research jobs per day. It resets at midnight UTC. Profiles already in WealthAtlas can still be read, and lookup_person still finds people who have one. Other tools still work. For bulk use, contact team@wealthatlas.com. Tell the user.
Live Research
research_person
Research a person who already has a WealthAtlas profile. `kind` says what to research: `profile` builds or refreshes their profile (use it when a profile is unenhanced or may be out of date); `wealth` researches their wealth in depth on a profile that has been researched; `profile_and_wealth` does both in one job. A profile takes 1–2 minutes, wealth research 2–5 minutes. Tell the user it's underway, then poll check_lookup with both the job_id and the person_id from the reply. To find someone who isn't in WealthAtlas yet, use lookup_person instead.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| kind | string | yes |
Example responses (3)
WealthAtlas is researching their profile and wealth live. This typically takes 2–5 minutes. Tell the user research is underway, then check with `check_lookup(job_id="job_c27e90d4", person_id="da_7f3k2m9x")` (wait about a minute between checks).
One research job, one unit of the user's research limits, whatever the kind.
Research on this person is already underway, so nothing new was started or charged. Tell the user, then check with `check_lookup(job_id="job_b41f03aa", person_id="da_7f3k2m9x")` (wait ~30 seconds between checks).
Nothing was started or charged: this person's profile hasn't been researched yet, and wealth research needs one. Call research_person with kind=profile_and_wealth instead.
kind=wealth on a profile that was never researched.
Organizations
get_entity_profile
Get an organization's WealthAtlas profile — a nonprofit, company or school — by its ID (`npo_…`, `com_…`, `sch_…`), exactly as a profile, search result or other organization's profile printed it.
| Parameter | Type | Required | Default |
|---|---|---|---|
| entity_id | string | yes |
Example responses (2)
## [Lakeside Arts Alliance](https://app.wealthatlas.com/nonprofit/npo_lakeside)
`entity_id: npo_lakeside`
Nonprofit · Chicago, IL · https://www.lakesidearts.org · EIN 36-2167048 · founded 1961 · NTEE A20
**Key issues:** Arts, Arts Education
**Mission:** Bringing the arts to every Chicago neighborhood.
**Latest revenue:** $4.2M
### About
Lakeside Arts Alliance runs galleries and youth programs across Chicago. [1][2]
### Board members (14)
**Most recently reported board**
- [Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x) `da_7f3k2m9x` — Chair, 2020–2024, Chicago, IL [2]
- [Ann Ito](https://app.wealthatlas.com/donor/da_2p9q4r1s) `da_2p9q4r1s` — Trustee, 2021–2024, Evanston, IL (IRS filing, 2023)
…
### People
Groups this large aren't listed. Each comes as a `search_people` schema: run it unchanged, or add filters to its `target_person_description` to narrow it (location, net worth, interests, etc.).
**Donors** (1,840)
```json
{"target_person_description": {"type": "donor", "nonprofit_donation": {"recipient": {"type": "nonprofit", "entity_id": "npo_lakeside", "name": {"type": "name", "value": "Lakeside Arts Alliance", "is_quoted": false}}, "type": "nonprofit_donation"}}, "schema_version": 3}
```
**Volunteers** (about 230)
```json
…
```
### Other affiliations (12)
By affiliation: Committee members (12)
No search covers these, so they're listed here:
- [Lee Park](https://app.wealthatlas.com/donor/da_5w8y2e6r) `da_5w8y2e6r` — “Benefit Committee”, Chicago, IL
…
### IRS filings (11)
| Tax year | Form | Revenue | Contributions & grants | … | Net assets |
| [2023](https://app.wealthatlas.com/nonprofit/npo_lakeside?filingYear=2023&filingForm=990) | 990 | $4.2M | $3.1M | … | $8.8M |
…
### Grants made (38)
By year: 2023: 14 grants, $620K · 2022: 12 grants, $540K · …
Largest:
- [Evanston Youth Theater](https://app.wealthatlas.com/nonprofit/npo_youth) `npo_youth` — $50K, 2023, Evanston, IL — General support
…
### Similar organizations
- [Chicago Arts Fund](https://app.wealthatlas.com/nonprofit/npo_fund) `npo_fund` — Chicago, IL; shared issues: Arts
…
### Sources and links
Website: https://www.lakesidearts.org
**General**
- [1] https://www.lakesidearts.org/
**Board members**
- [2] https://lakesidearts.org/about (18 records)Abridged (…). The board is listed by name; larger groups come as search_people schemas pinned to the organization by entity_id, with the count the page shows. Grant recipients and similar organizations carry IDs for another get_entity_profile call.
## [Harvard Business School](https://app.wealthatlas.com/school/sch_hbs)
`entity_id: sch_hbs`
School · Boston, MA
**Students:** 2,000 · **Founded:** 1908
**Part of:** [Harvard University](https://app.wealthatlas.com/school/Q13371) `Q13371`
### About
The graduate business school of Harvard University. [1]
### Sources and links
- https://www.hbs.edu
- [1] https://en.wikipedia.org/wiki/Harvard_Business_School
### Alumni (48,210)
Groups this large aren't listed. …
```json
{"target_person_description": {"type": "donor", "attended_school": {"entity_id": "sch_hbs", "name": {"type": "name", "value": "Harvard Business School", "is_quoted": false}, "type": "school"}}, "schema_version": 3}
```Companies read the same way: summary, links, and employees as a pinned search.
Prospecting Search
get_search_schema
The search schema reference for search_people. Call this once per conversation, before your first search: the schema is the only search language, and it can express much more than the obvious filters (wealth, giving, boards, interests, property, family, people connected to a network, OR/AND combinations, etc).
Example response (1)
# WealthAtlas search schema
`search_people`'s `schema` parameter is the dict described here. Read this once per conversation, then build searches directly.
## Top level (every key optional)
`target_person_description`, `scope_list_ids`, `network_ids` with `only_in_network` / `only_connections`, `sort_fields`, …
## target_person_description
- `age`: `{"type":"age","value":<number range>}`
- `residence`: `{"type":"residence","location":<place>,"tense":"current"|"ever"}`
- combinators: `{"type":"or","children":[…]}` …Returns markdown documentation (truncated here): every filter, its exact shape, and the exact strings each enum accepts. Call once per conversation before the first search.
search_people
Search WealthAtlas for people who match criteria. To find one specific person, use lookup_person instead. Use get_person_profile for detail on a result, and share the WealthAtlas search link with the user. page_size sets how much each row shows: 0 = the match count and search link (plus any notes and suggested searches); up to 25 = full rows; 26-99 = name and ID; 100-500 = IDs only, for building lists or networks. 10-20 is a good start for browsing.
| Parameter | Type | Required | Default |
|---|---|---|---|
| schema | object | yes | |
| page | integer | no | 1 |
| page_size | integer | no | 10 |
Example response (1)
**1,847 people match** (page 1, 10 shown): - **[Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — PE founder — net worth $9B–$14B — giving capacity $50M - **[Maria Delgado](https://app.wealthatlas.com/donor/da_4h6j8l0p)** — Chicago, IL — Hospital system trustee — net worth $40M–$80M … [Open this search in WealthAtlas](https://app.wealthatlas.com/search/1?schema=eyJ0YXJnZXRf…) — include this link in your reply.
Compact rows by design — get_person_profile is the drill-down. page_size tiers: up to 25 full rows, 26-99 name+ID, 100-500 IDs only.
Team
get_team_info
Get the user's WealthAtlas team: plan, remaining export and import credits, and members.
Example response (1)
## Acme Philanthropy Advisors (`team_8f2c41`) Plan: Enterprise · Exports remaining: 4,120/5,000 · Imports remaining: 880/1,000 **Members:** - Admin: Jordan Ellis - User: Dana Cho, Luis Ortega
Lists
add_to_list
Add people to a list: pass person_ids, or search_schema (a schema exactly as you'd pass it to search_people) to add everyone that search matches — one, not both. Max 50K results will be added from a search_schema.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| person_ids | array | no | |
| search_schema | object | no |
Example responses (2)
Added 5 people to [Galas › 2024 Gala Attendees](https://app.wealthatlas.com/lists/lst_2024gala/1).
Adding to [Major Prospects Q3](https://app.wealthatlas.com/lists/lst_majorpros/1). It's filling in the background with the 214 people the search matches, which can take a minute or two. `list_id: lst_majorpros` · job `job_5d2e8b14`. Don't repeat this call; get_list shows the donor list as it fills. [Open the donor list in WealthAtlas](https://app.wealthatlas.com/lists/lst_majorpros/1) — include this link in your reply.
Counts as one search however many people it adds.
create_list
Create a list, optionally filled with people: pass person_ids, or search_schema (a schema exactly as you'd pass it to search_people, max 50K results) to save everyone that search matches. Folders live in a list's name, separated by `//`: `Galas//2026//Spring Gala` is the list "Spring Gala" in the folder "Galas › 2026". Show paths to the user with ›, not the raw `//`. To make an empty folder, create a list named `Folder//.` (a placeholder that holds nobody) with no people.
| Parameter | Type | Required | Default |
|---|---|---|---|
| name | string | yes | |
| person_ids | array | no | |
| search_schema | object | no |
Example responses (3)
Created donor list **[Gala Trend Prospects](https://app.wealthatlas.com/lists/lst_9k2m4x7q/1)** `list_id: lst_9k2m4x7q` with 5 people. [Open the donor list in WealthAtlas](https://app.wealthatlas.com/lists/lst_9k2m4x7q/1) — include this link in your reply.
Fails with a clear error if the name is already taken.
Created donor list **[Galas › Chicago Philanthropists](https://app.wealthatlas.com/lists/lst_4m8q2w6e/1)**. It's filling in the background with the 1,284 people the search matches, which can take a minute or two. `list_id: lst_4m8q2w6e` · job `job_a71c09f3`. Don't repeat this call; get_list shows the donor list as it fills. [Open the donor list in WealthAtlas](https://app.wealthatlas.com/lists/lst_4m8q2w6e/1) — include this link in your reply.
search_schema takes the same schema as search_people and saves every match (up to 50,000). The whole call counts as one search.
Created the empty folder **Galas › 2027** (its placeholder is `list_id: lst_f0ld3r27`). To put donor lists in it, create or rename them with its path.
delete_list
Delete a list permanently. Confirm with the user first. Deleting an empty folder's placeholder removes the folder.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes |
Example response (1)
Deleted donor list `lst_9k2m4x7q`.
get_list
Get a list's members, a page at a time, including the two built-in lists list_lists shows (everyone saved, everyone viewed). page_size: up to 25 = full rows; 26-100 = name, link and ID only.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| page | integer | no | 1 |
| page_size | integer | no | 20 |
Example response (1)
## [Donor list: Galas › 2024 Gala Attendees](https://app.wealthatlas.com/lists/lst_2024gala/1) `list_id: lst_2024gala` **312 people match** (page 1, 20 shown): - **[Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — … … [Open this donor list in WealthAtlas](https://app.wealthatlas.com/lists/lst_2024gala/1) — include this link in your reply.
Members come back 20 at a time by default; page_size goes up to 100, with rows trimmed to name, link and ID above 25. Each page counts as one search.
list_lists
List the team's lists as a folder tree. Folders live in a list's name, separated by `//`: `Galas//2026//Spring Gala` is the list "Spring Gala" in the folder "Galas › 2026". Show paths to the user with ›, not the raw `//`. An empty folder is kept by a placeholder list, shown with its id; rename or delete the placeholder to move or remove the folder.
Example response (1)
## Donor lists (5) - **[All Saved Donors](https://app.wealthatlas.com/lists/all-saved-donors/1)** `list_id: all-saved-donors` — 412 people — created 2024-01-09 by WealthAtlas — read-only - **[Major Prospects Q3](https://app.wealthatlas.com/lists/lst_majorpros/1)** `list_id: lst_majorpros` — 58 people — created 2025-07-01 by Jordan Ellis **Galas** - **[2024 Gala Attendees](https://app.wealthatlas.com/lists/lst_2024gala/1)** `list_id: lst_2024gala` — 312 people — created 2024-03-14 by Dana Cho - **[2026 Spring Gala](https://app.wealthatlas.com/lists/lst_spring26/1)** `list_id: lst_spring26` — still filling in the background (1,180 people so far) — created 2026-10-13 by Jordan Ellis **Galas › 2027** (empty folder) `list_id: lst_f0ld3r27`
Lists are grouped by folder. A folder is part of each list's name (`Galas//2024 Gala Attendees`); an empty folder is kept by a placeholder named `Galas//2027//.`, shown here with its id so it can be renamed or deleted.
remove_from_list
Remove people from a list by person ID.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| person_ids | array of string | yes |
Example response (1)
The people you passed are no longer on [the donor list](https://app.wealthatlas.com/lists/lst_2024gala/1).
rename_list
Rename a list, or move it to another folder by renaming it with its new full path. Folders live in a list's name, separated by `//`: `Galas//2026//Spring Gala` is the list "Spring Gala" in the folder "Galas › 2026". Show paths to the user with ›, not the raw `//`. A folder has no name of its own: to rename or move one, rename every list in it, including its empty-folder placeholder (`Old//.` to `New//.`).
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| new_name | string | yes |
Example response (1)
Renamed [the donor list](https://app.wealthatlas.com/lists/lst_9k2m4x7q/1) to **Galas › 2026 › Gala Prospects**.
Renaming with a new `//` path moves the list between folders.
Notes
add_note
Add a note to a person's profile, visible to everyone on the team. To read notes, use get_person_profile with full=true.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| text | string | yes |
Example response (1)
Added a note to [this person's profile](https://app.wealthatlas.com/donor/da_7f3k2m9x) `note_id: 5b0c2e7a-91d4-4f3e-8a26-0d4c7e1b9f52`.
delete_note
Permanently delete a note, by its note_id from the full profile. Confirm with the user first: it may be a teammate's, and it can't be restored.
| Parameter | Type | Required | Default |
|---|---|---|---|
| note_id | string | yes |
Example response (1)
Deleted note `5b0c2e7a-91d4-4f3e-8a26-0d4c7e1b9f52`.
Confirm with the user first; a deleted note can't be restored.
edit_note
Replace a note's text, by its note_id from the full profile. Check who wrote it before changing a teammate's note.
| Parameter | Type | Required | Default |
|---|---|---|---|
| note_id | string | yes | |
| text | string | yes |
Example response (1)
Updated note `5b0c2e7a-91d4-4f3e-8a26-0d4c7e1b9f52` on [this person's profile](https://app.wealthatlas.com/donor/da_7f3k2m9x).
Any teammate's note can be edited; the full profile shows who wrote each one.
Imports
import_people
Import a spreadsheet of people into a new list: each row is matched to a prospect profile, or researched when there is none. Use it when the user hands you a set of people to research or keep together. Pass the file as `csv` text with its header row first, and `column_mapping` from the fields below to the header's column names, spelled exactly as in the header; unmapped columns are ignored. Fields: FULL_NAME; FIRST_NAME; MIDDLE_NAME; LAST_NAME; SUFFIX (Jr., Sr., III); NICKNAME (other first names the person goes by, list); EMPLOYER (employer, list); OCCUPATION (job title, list); SCHOOL (school attended, list); NONPROFIT_AFFILIATION (a nonprofit this person is connected to, list); ADDRESS1 (street address); ADDRESS1_LINE_2 (second address line); CITY1 (city); STATE1 (state); ZIP_CODE1 (zip code); ADDRESS2 (a second address's street); ADDRESS2_LINE_2; CITY2; STATE2; ZIP_CODE2; LINKEDIN (LinkedIn profile URL). Fields marked list take a list of column names, even for one column; the rest take one column name. A mapping needs FULL_NAME, or FIRST_NAME and LAST_NAME, plus at least one more identifying field (NICKNAME, SUFFIX and MIDDLE_NAME don't count). `name` is the new list's name; `//` puts it in folders (`Galas//2026//Spring Gala`). Set to_network=true to add the people to the team's network instead; `name` is then not needed. A file over 10,000 rows with a connection-date column (LinkedIn's Connected On) imports only its 10,000 most recent rows. Any other file over 10,000 rows is imported by hand by the WealthAtlas team within about a day, and can't go to the network. For a large file, or one the user already has as a spreadsheet, consider suggesting they import it in the WealthAtlas app, where they can review the mapping. Matching runs in the background: get_list shows the people as they arrive, and list_lists marks the list as still filling until the import is done. For a network import, get_network shows them.
| Parameter | Type | Required | Default |
|---|---|---|---|
| csv | string | yes | |
| column_mapping | object | yes | |
| name | string | no | |
| to_network | boolean | no | false |
Example responses (3)
Importing 412 people into [your network](https://app.wealthatlas.com/network/t_8k2m_default), one import credit each. They appear as they are matched or researched, which takes a while for a large file: get_network shows them. [Open your network in WealthAtlas](https://app.wealthatlas.com/network/t_8k2m_default) — include this link in your reply.
Called with to_network=true and no name, mapping a LinkedIn connections export: {"FIRST_NAME": "First Name", "LAST_NAME": "Last Name", "LINKEDIN": "URL", "EMPLOYER": ["Company"], "OCCUPATION": ["Position"]}. Without to_network the people land in a new list named by `name`, which may use // folders.
Nothing was imported: Field EMPLOYER is mapped to a single column, but it should be mapped to a list.
Nothing is created or charged; fix the mapping and call again.
Nothing was imported: the file has 1,200 rows, one import credit each, and the team has only 300 import credits left. Import 300 rows or fewer. For more import credits, ask a team admin or contact team@wealthatlas.com.
Networks
add_to_network
Add people to the team's network: pass person_ids, or from_list_id with no person_ids to add everyone on a list.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_ids | array | no | |
| from_list_id | string | no |
Example responses (2)
Added 3 people to [the network](https://app.wealthatlas.com/network/net_5t7y9u1i).
Adding 40 people to [the network](https://app.wealthatlas.com/network/net_5t7y9u1i) in the background; their connections appear over the next few minutes. Background jobs: `job_c92d51e8`, `job_d03e62f9`
Above ~5 people the backend chunks the add into background jobs; connection discovery lands over the following minutes.
get_network
Get the members of the team's network, a page at a time. The reply gives the network's id for a search schema's `network_ids`. page_size: up to 25 = full rows; 26-100 = name, link and ID only.
| Parameter | Type | Required | Default |
|---|---|---|---|
| page | integer | no | 1 |
| page_size | integer | no | 20 |
Example response (1)
## [Your network](https://app.wealthatlas.com/network/TEAM8F2C_default) `network_id: TEAM8F2C_default` — pass it in a search schema's `network_ids` to search the network's members or the people connected to them. **74 people match** (page 1, 20 shown): - **[Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — … [Open this network in WealthAtlas](https://app.wealthatlas.com/network/TEAM8F2C_default) — include this link in your reply.
A WealthAtlas team has one network, so get_network, add_to_network and remove_from_network take no network_id. page_size goes up to 100, with rows trimmed to name, link and ID above 25; each page counts as one search.
remove_from_network
Remove people from the team's network.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_ids | array of string | yes |
Example response (1)
Started removing 3 people from [the network](https://app.wealthatlas.com/network/net_5t7y9u1i). It runs in the background for a few minutes, and get_network may still show them until it finishes.
Exports
export_people
Export people to CSV or XLSX. Pass list_id (a whole list) or person_ids (up to 100 people; for more, put them on a list and export that) — one, not both. Omitting fields exports the default columns; any other column, including a list's own uploaded ones, is opt-in by name in fields. Exports don't include contact info: use get_contact_info per person. Run with check_only=true first to see the credit cost and every column name fields accepts. Large exports run in the background: poll get_export_status for the download link.
| Parameter | Type | Required | Default |
|---|---|---|---|
| name | string | yes | |
| list_id | string | no | |
| person_ids | array | no | |
| file_format | string | no | "csv" |
| fields | array | no | |
| check_only | boolean | no | false |
Example responses (2)
This export needs 44 export credits; the team has enough. Default columns: WealthAtlas URL, Title, First, Middle, Last, Suffix, Mailing Address, City, State, Zipcode, Bio, Net Worth (Min), Net Worth (Max), Liquidity (Min), Liquidity (Max). WealthAtlas URL is always included: first, unless fields puts it elsewhere. Opt-in columns (request by name): Sex, Age, Religion, Interests, Political Giving Capacity, Total Political Giving, Nonprofit Largest Gift (Max), Nonprofit Largest Gift (Min), Nonprofit Average Gift, Nonprofit Years Active, Predicted Annual Giving, Most Recent School, All Schools, Most Recent Employer, All Employers, Nonprofit Boards, Research Links, LinkedIn, Notes, Private Foundations, Spouse, Parents, Children Columns uploaded with this list (opt-in): Relationship Manager, Ask Amount
check_only=true — nothing is charged. Pass list_id for a whole list (which also offers the list's uploaded columns) or person_ids for up to 100 people. Omitting fields exports the default columns. WealthAtlas exports never include contact info; use get_contact_info per person instead.
Status: ready — [download it here](https://exports.wealthatlas.com/…(presigned)) (link valid 30 minutes; get_export_status gives one valid 7 days). `export_id: exp_3f5g7h9j`
get_export_status
Check an export and get its download link once it's ready.
| Parameter | Type | Required | Default |
|---|---|---|---|
| export_id | string | yes |
Example responses (2)
Status: still processing — check again shortly with `export_id: exp_3f5g7h9j`.
Status: ready — [download it here](https://exports.wealthatlas.com/…(presigned)) (link valid 7 days).
list_exports
List the team's past exports, newest first, with each one's status. For a download link, call get_export_status with its export_id.
| Parameter | Type | Required | Default |
|---|---|---|---|
| page | integer | no | 1 |
| page_size | integer | no | 20 |
Example response (1)
## Exports (23) - **Gala prospects** — 2026-10-12 by Jordan Ellis — 312 people — XLSX — ready `export_id: exp_3f5g7h9j` - **Board candidates** — 2026-10-09 by Dana Cho — 40 people — CSV — processing `export_id: exp_8a1b2c3d` - **Q3 outreach** — 2026-09-30 by Dana Cho — 1,200 people — CSV — failed: Not enough export credits. `export_id: exp_0z9y8x7w` *Page 1 of 8 (23 rows in all).* Call get_export_status with an `export_id` for its download link.
Newest first, 20 per page by default (up to 100). No download links: get_export_status mints one.