For Agents
Manage Affinity relationship-intelligence CRM lists, persons, organizations, opportunities, and interactions across 42 REST endpoints.
Get started with Affinity CRM API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"find an organization in affinity by name"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Affinity CRM API API.
Create and manage custom Lists and add entries for persons, organizations, or opportunities
Define custom Fields and write FieldValues against any list entry
Read and update Persons, Organizations, and Opportunities in the CRM
Pull the Interactions graph — emails, meetings, and other touchpoints — for any record
GET STARTED
Use for: Create a new Affinity list for active fundraising deals, Add an organization as an entry on an existing list, Search for a person in Affinity by email, Update the stage field on an opportunity
Not supported: Does not handle email sending, calendar scheduling, or document signing — use for relationship-intelligence CRM data only.
Jentic publishes the only available OpenAPI specification for Affinity CRM API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Affinity CRM API, keeping it validated and agent-ready. Affinity is a relationship-intelligence CRM used heavily by venture capital, private equity, and investment-banking teams to track deal pipelines and the relationship graph behind them. The API exposes 42 endpoints covering Lists and ListEntries, custom Fields and FieldValues, Persons, Organizations, Opportunities, Notes, Interactions, Webhook subscriptions, and the /whoami and /rate-limit utility endpoints. Authentication uses HTTP basic auth with the API key as the password and an empty username.
Manage Notes attached to people, companies, and opportunities
Subscribe to webhook notifications for changes across the workspace
Check rate-limit status via /rate-limit and identify the calling user via /whoami
Patterns agents use Affinity CRM API API for, with concrete tasks.
★ Deal Pipeline Sync for Investment Teams
Keep an Affinity deal list in sync with an external data source — a portfolio system, BI dashboard, or signal feed. POST /lists/{list_id}/list-entries adds organizations to a pipeline list and POST /field-values writes custom field values such as stage, owner, or check size. The rich /opportunities, /persons, and /organizations endpoints back this with full CRUD on the underlying records.
Call POST /lists/{list_id}/list-entries with an organization_id, then POST /field-values to set the stage field to 'Term Sheet'
Relationship Intelligence Lookup
Surface who-knows-whom data for outreach. GET /interactions returns the email, calendar, and meeting touchpoints Affinity has captured, /persons/{person_id} returns the full profile, and /organizations/{organization_id} returns the firmographic context. Agents and BD teams can answer 'who on my team has the strongest relationship with this fund?' before reaching out.
Call GET /organizations to find the org id for Acme Capital, then GET /interactions?organization_id={id} and rank colleagues by recent interaction count
Bidirectional Sync with External Tools
Hook Affinity into other systems via /webhook-subscriptions. POST /webhook-subscriptions registers a callback URL for events on opportunities, list entries, or notes; consumers can then update a data warehouse or trigger a Slack notification when a deal moves stages. Combine with /notes to write back commentary from external tools.
Call POST /webhook-subscriptions with a callback URL and event types ['list_entry.created','list_entry.updated'] to receive pipeline change events
AI Agent Deal Research Assistant
Let an AI agent answer 'tell me about this deal' or 'who introduced us to this fund' in chat. Through Jentic, the agent searches by intent, loads the matching Affinity schema, and executes with the basic-auth credentials isolated in the vault. Useful for analysts and partners who want CRM context without leaving Slack or a notebook.
Search Jentic for 'find an organization in affinity', load /organizations schema, and execute with name='Acme Capital' to return the matching record
42 endpoints — jentic publishes the only available openapi specification for affinity crm api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/lists
List all custom lists in the workspace
/lists/{list_id}/list-entries
Add a person, organization, or opportunity to a list
/field-values
Write a custom field value on a list entry
/organizations
List or search organizations
/persons
List or search persons
/opportunities
List or search opportunities
/interactions
Read the interaction graph for persons or organizations
/webhook-subscriptions
Subscribe to event notifications
/lists
List all custom lists in the workspace
/lists/{list_id}/list-entries
Add a person, organization, or opportunity to a list
/field-values
Write a custom field value on a list entry
/organizations
List or search organizations
/persons
List or search persons
Three things that make agents converge on Jentic-routed access.
Credential isolation
Your Affinity API key is stored encrypted in the Jentic vault and applied as basic-auth credentials at execution time. Agents receive scoped execution rights and the raw key never enters their context.
Intent-based discovery
Agents search by intent (e.g. 'find an organization in affinity') and Jentic returns the matching CRM operation with its query parameters or body schema, so the agent calls /organizations or /opportunities correctly.
Time to first call
Direct Affinity integration: 1-3 days to wire basic auth, list-entry semantics, custom field discovery, and webhooks. Through Jentic: under an hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Salesforce
Enterprise CRM with the broadest customisation surface
Choose Salesforce for general-purpose enterprise CRM; choose Affinity when relationship intelligence and VC/PE-style deal lists are core to the workflow
Attio
Modern relationship CRM with flexible data modelling
Pick Attio for a lighter, more configurable CRM; pick Affinity when the team specifically wants the auto-captured interaction graph
Copper
Google Workspace native CRM
Pick Copper if the team lives inside Gmail and Calendar; pick Affinity if the deal pipeline depends on cross-firm relationship signal
HubSpot Deals API
Marketing-and-sales CRM that pairs with Affinity for inbound flows
Use HubSpot Deals for marketing-driven lead pipelines and sync to Affinity for relationship-led deal management
Specific to using Affinity CRM API API through Jentic.
Why is there no official OpenAPI spec for the Affinity CRM API?
Affinity publishes Markdown reference docs but does not distribute an OpenAPI 3 specification. Jentic generates and maintains this spec so that AI agents and developers can call Affinity CRM API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Affinity CRM API use?
Affinity uses HTTP basic authentication with an empty username and the API key as the password, base64-encoded in the Authorization header. Through Jentic the key is stored in the vault and injected at execution time.
Can I add an organization to an Affinity list through the API?
Yes. Call GET /lists to find the target list, then POST /lists/{list_id}/list-entries with the organization_id (or person_id, or opportunity_id) to add it as an entry. Custom field values can then be set with POST /field-values.
How do I read the interaction history for an organization?
Call GET /interactions with the organization_id query parameter and Affinity returns the email, meeting, and other touchpoints captured for that organization, including which colleagues were involved. Use this to identify the strongest internal relationship before outreach.
What are the rate limits for the Affinity CRM API?
Affinity exposes the current limit and remaining calls via GET /rate-limit. Specific allowances depend on plan tier; HTTP 429 responses indicate the limit has been reached and Jentic surfaces them verbatim.
How do I subscribe a webhook through Jentic?
Run pip install jentic, search Jentic with 'subscribe to affinity changes', load the /webhook-subscriptions schema, and execute with the callback URL and event types. Jentic injects the basic-auth credentials at execution time.
/opportunities
List or search opportunities
/interactions
Read the interaction graph for persons or organizations
/webhook-subscriptions
Subscribe to event notifications