Skip to main content
Relationship-intelligence CRM API for reading and updating lists, organizations, persons, and opportunities that a team tracks in Affinity. Use when an agent needs to pull deal pipelines, account data, field values, or interaction history from a team’s Affinity workspace. Unlike enrichment APIs (Apollo, People Data Labs), Affinity returns data the customer has already curated — their own pipeline state, not public records. 12 example endpoints available through Lava’s AI Gateway. See the Affinity API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://api.affinity.co is supported. Any Affinity v1 API endpoint. Construct URL as https://api.affinity.co/{path}. Common roots: lists, list-entries, persons, organizations, opportunities, fields, field-values, field-value-changes, notes, interactions. See https://api-docs.affinity.co/ for full reference. The endpoints below are curated examples.

Endpoints

List all lists in the Affinity workspace

GET https://api.affinity.co/lists — Free
const data = await lava.gateway('https://api.affinity.co/lists', { method: 'GET' });

Get entries in a specific list (paginated)

GET https://api.affinity.co/lists/{list_id}/list-entries — Free
const data = await lava.gateway('https://api.affinity.co/lists/{list_id}/list-entries', { method: 'GET' });

Search organizations by name or domain

GET https://api.affinity.co/organizations?term=acme — Free
const data = await lava.gateway('https://api.affinity.co/organizations?term=acme', { method: 'GET' });

Retrieve a single organization by id

GET https://api.affinity.co/organizations/{organization_id} — Free
const data = await lava.gateway('https://api.affinity.co/organizations/{organization_id}', { method: 'GET' });

Search persons by name or email

GET https://api.affinity.co/persons?term=jane — Free
const data = await lava.gateway('https://api.affinity.co/persons?term=jane', { method: 'GET' });

Retrieve a single person by id

GET https://api.affinity.co/persons/{person_id} — Free
const data = await lava.gateway('https://api.affinity.co/persons/{person_id}', { method: 'GET' });

Search opportunities (deals)

GET https://api.affinity.co/opportunities?term=series+a — Free
const data = await lava.gateway('https://api.affinity.co/opportunities?term=series+a', { method: 'GET' });

List fields, optionally scoped to a list

GET https://api.affinity.co/fields?list_id={list_id} — Free
const data = await lava.gateway('https://api.affinity.co/fields?list_id={list_id}', { method: 'GET' });

Get field values for a person, organization, opportunity, or list entry

GET https://api.affinity.co/field-values?person_id={person_id} — Free
const data = await lava.gateway('https://api.affinity.co/field-values?person_id={person_id}', { method: 'GET' });

Create a note attached to persons, organizations, or opportunities

POST https://api.affinity.co/notes — Free
const data = await lava.gateway('https://api.affinity.co/notes', {
  body: {
"person_ids": [
  12345
],
"content": "Kicked off intro call — follow up next week."
},
});

Update an existing field value by id

PUT https://api.affinity.co/field-values/{field_value_id} — Free
const data = await lava.gateway('https://api.affinity.co/field-values/{field_value_id}', { method: 'PUT', body: {"value":"Series A"} });

Delete a note by id

DELETE https://api.affinity.co/notes/{note_id} — Free
const data = await lava.gateway('https://api.affinity.co/notes/{note_id}', { method: 'DELETE' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests