Obtain a Salesforce access token and Pardot Business Unit ID as described in the Pardot auth pattern.
To retrieve all lists: GET https://pi.pardot.com/api/v5/objects/lists with required headers; note the list IDs for the lists you need to manage.
To add a prospect to a list, POST https://pi.pardot.com/api/v5/objects/list-memberships with a JSON body containing 'listId' and 'prospectId'.
To remove a prospect from a list, DELETE https://pi.pardot.com/api/v5/objects/list-memberships/{listMembershipId}.
To look up an existing membership before creating one, GET https://pi.pardot.com/api/v5/objects/list-memberships?listId={id}&prospectId={id}.
Batch membership changes using separate API calls per membership — v5 does not provide a bulk list-membership endpoint; plan for rate limit backoff on large lists.
Known gotchas
Pardot rate limits are separate from Salesforce API limits; excessive membership calls can trigger a 429 that blocks all Pardot API calls for the business unit for a cooldown period.
Deleting a list membership does not remove the prospect from Pardot — it only removes their association with that specific list; the prospect record remains.
Suppression lists and CRM-synced lists may prevent membership changes via API; always check the list type before attempting modifications.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp