Affinity

Affinity is the CRM private capital firms run on — venture capital, private equity, private credit, investment banking, and family offices. It captures every email and calendar event across the firm automatically, turns that history into scored relationships, and organizes deals as rows on Lists whose columns each firm defines for itself.

Why Affinity?

  • Relationship intelligence, not just records: Every pair of people carries an interaction score derived from real communication, so "who here can introduce me" is a query rather than a Slack thread.
  • No manual entry: Emails, meetings, calls, and chat messages are captured and attributed on their own. The API reads that history as first-class objects.
  • Lists are the data model: A deal lives as a row on a List, and the List's columns are the fields the firm actually tracks. Field IDs are discoverable at runtime, so a workflow adapts to a firm's schema instead of hardcoding it.
  • A change feed built for sync: Field value changes are exposed as an ordered, cursor-paged stream, which is what makes an incremental mirror possible without re-reading the whole workspace.

Using Affinity in Sim

Sim's Affinity integration covers the v2 API end to end with an API key — 70 operations across companies, people, opportunities, lists, list entries, saved views, fields, notes, reminders, merges, interactions, transcripts, and users. Field values are readable and writable one at a time or a hundred per request, and the discovery operations (List Field Metadata, List List Fields, and the dropdown-option operations) exist so an agent can learn a workspace's schema before it writes to it.

Key benefits of using Affinity in Sim:

  • Pipeline reporting: Page a List or a Saved View with exactly the columns a report needs, then summarize what moved, what stalled, and what is closing.
  • Writing back: Move a deal's stage, fill an enriched field, or update a hundred columns on one row in a single call — with the dropdown option resolved by name first, so nothing is written blind.
  • Warm introductions: Combine relationship scores with the inferred-connection operations, which surface paths through shared employment history and through investors who backed a company a target once led.
  • Meeting capture: Read a transcript fragment by fragment and write the summary back as a note anchored to that meeting, attached to the companies and people it concerns.
  • Natural-language sourcing: Semantic Search takes an investment thesis in plain language and returns scored companies; Search Notes and Search Files answer diligence questions from what the firm already wrote down.
  • Incremental sync: Follow the field-value change feed from a stored cursor to keep a table or warehouse in step without a full reload.

Before you start

Generate an API key from the Manage Apps page in your Affinity settings; it authenticates as a bearer token. Two things gate what you will actually see:

  • License. The Affinity APIs are only available on select license types. Monthly call limits follow the plan tier — 100k on Scale and Advanced, unlimited on Enterprise — alongside a per-user limit of 900 calls per minute shared with the v1 API. Exceeding either returns a 429.
  • Permissions. The API respects in-product sharing, so it never returns a list, note, or interaction the key's user cannot already see. Several operations additionally require a role-based permission an Affinity admin grants: Export All Organizations directory for listing and searching companies, Export All People directory for listing and searching people, Export data from Lists for opportunities and for reading or writing list entries, Manage duplicates plus an admin role for merges, and Manage Users for user email addresses and roles.

Some Affinity endpoints are still marked BETA — company, person, and list-entry search, the per-entity field-value reads, the inferred-connection operations, and the user operations. Affinity may change those without notice or versioning.

Usage Instructions

Integrates the Affinity v2 API into the workflow. Read and search companies, people, and opportunities, page the rows of any list or saved view, read and write field values one at a time or a hundred at once, write and reply to notes, create reminders, follow logged calls, emails, meetings, and transcripts, find warm introductions through shared work and investment history, search notes and files by keyword, find companies from a description in plain language, and follow the field-value change feed for delta sync. What each operation can reach depends on the permissions granted to the API key.

Actions

Affinity Batch Update Entity Fields

Write up to 100 non-list field values on one company or person in a single request.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to write the fields on: companies or persons
entityIdstringYesID of that company or person
updatesjsonYesUp to 100 field updates as [{"id":"<fieldId>","value":{"type":"…","data":…}}], using the same value shapes as a single field update

Output

ParameterTypeDescription
operationstringThe batch operation Affinity performed

Affinity Batch Update List Entry Fields

Write up to 100 field values on one list row in a single request. Requires the "Export data from Lists" permission.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
listEntryIdstringYesThe list entry ID
updatesjsonYesUp to 100 field updates as [{"id":"<fieldId>","value":{"type":"…","data":…}}], using the same value shapes as a single field update

Output

ParameterTypeDescription
operationstringThe batch operation Affinity performed

Affinity Create List

Create a list. Its type fixes which entities it can hold, and the API key holder becomes its creator and owner.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
namestringYesName of the new list
typestringYesEntity kind the list holds: company, opportunity, or person
isPublicbooleanNoWhether everyone in the organization can see the list

Output

ParameterTypeDescription
idnumberThe list's unique identifier
namestringThe list name
creatorIdnumberUser who created the list
ownerIdnumberUser who owns the list
isPublicbooleanWhether the list is visible to the organization
createdAtstringWhen the list was created
typestringcompany, opportunity, or person — the entity kind the list holds

Affinity Create List Field Dropdown Option

Add a selectable option to a dropdown field on a list. A ranked or status option also needs a rank and a color.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
fieldIdstringYesThe dropdown field ID on that list
typestringYesKind of option to create, matching the field. dropdown takes only a label; ranked-dropdown also requires rank and color; status-dropdown additionally requires a status category. Sending a field the kind does not accept is rejected
textstringYesThe option label
ranknumberNoSort order. Required on a ranked-dropdown or status-dropdown option
colorstringNoOption color: white, gray, blue, green, purple, orange, or red. Required on a ranked-dropdown or status-dropdown option
statusCategorystringNoPipeline meaning of the option: open, won, lost, or on-hold. Status-dropdown options only
winRatenumberNoExpected win rate of the status. Status-dropdown options only

Output

ParameterTypeDescription
idnumberThe dropdown option's unique identifier
textstringThe option label
typestringdropdown, ranked-dropdown, or status-dropdown
ranknumberSort order, on ranked and status options
colorstringwhite, gray, blue, green, purple, orange, or red
statusCategorystringopen, won, lost, or on-hold, on status options
winRatenumberWin rate of a status option

Affinity Create Merge

Fold a duplicate company or person into the record you are keeping. The merge runs asynchronously — poll the returned task to see it finish. Requires the "Manage duplicates" permission and an admin role.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhat to merge: companies or persons
primaryIdstringYesID of the record to keep
duplicateIdstringYesID of the duplicate record to fold in

Output

ParameterTypeDescription
taskUrlstringURL of the merge task to poll for completion

Affinity Create Note

Write a note — attached to companies, persons, and opportunities, anchored to a meeting, call, or chat message, or posted as a reply to an existing note.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
typestringYesNote shape: entities to attach it to records, interaction to anchor it to a meeting, call, or chat message, or user-reply to reply to a note
htmlstringYesThe note body as HTML
companyIdsjsonNoCompanies to attach the note to, e.g. [1, 2]. Not used on a reply
personIdsjsonNoPersons to attach the note to, e.g. [1, 2]. Not used on a reply
opportunityIdsjsonNoOpportunities to attach the note to, e.g. [1, 2]. Not used on a reply
interactionIdstringNoThe interaction to anchor the note to. Required for an interaction note
interactionTypestringNoKind of the anchoring interaction: meeting, call, or chat-message. Required for an interaction note
parentIdstringNoThe note being replied to. Required for a user-reply note
creatorIdstringNoAttribute the note to another internal person. Defaults to the API key holder
createdAtstringNoBackdate the note to this ISO 8601 timestamp

Output

ParameterTypeDescription
idnumberThe note's unique identifier
typestringentities, interaction, ai-notetaker, user-reply, or ai-notetaker-reply
contentjsonThe note body as {html}
creatorobjectPerson who authored the note
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
mentionsarrayPersons mentioned in the note body
createdAtstringWhen the note was created
updatedAtstringWhen the note was last updated
repliesCountnumberNumber of replies, on root notes only
parentjsonThe note being replied to, on reply notes only
interactionjsonThe meeting, call, chat message, or email the note is anchored to
transcriptIdnumberTranscript behind an AI Notetaker note
personsPreviewjsonAttached persons, with a count
companiesPreviewjsonAttached companies, with a count
opportunitiesPreviewjsonAttached opportunities, with a count

Affinity Create Reminder

Create a reminder on one company, person, or opportunity. A recurring reminder resets whenever the chosen signal happens instead of firing once.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
typestringYesone-time to fire once, or recurring to reset on a signal
entityTypestringYesWhat the reminder is about: company, person, or opportunity
entityIdstringYesID of that company, person, or opportunity
dueDatestringNoWhen the reminder is due, as an ISO 8601 timestamp. Required for a one-time reminder; on a recurring one Affinity computes it from the period when omitted
contentstringNoWhat the reminder says
ownerIdstringYesUser the reminder is assigned to. Must be an internal user. The API key holder is recorded as the creator, which is a separate field
resetTriggerstringNoWhat restarts a recurring reminder: interaction, email, or event. Required when the type is recurring
periodDaysnumberNoDays between firings of a recurring reminder. Required when the type is recurring

Output

ParameterTypeDescription
idnumberThe reminder's unique identifier
typestringone-time or recurring
statusstringactive, overdue, or completed
contentstringThe reminder text
dueDatestringWhen the reminder is due
creatorjsonUser who created the reminder, as {id}
ownerjsonUser the reminder is assigned to, as {id}
completerjsonUser who completed it, as {id}
companyjsonTagged company, as {id}
personjsonTagged person, as {id}
opportunityjsonTagged opportunity, as {id}
completedAtstringWhen the reminder was completed
recurrencejsonRecurrence as {resetTrigger, periodDays}, null on a one-time reminder
createdAtstringWhen the reminder was created
updatedAtstringWhen the reminder was last updated

Affinity Delete List Field Dropdown Option

Permanently delete a dropdown option on a list field. Every list entry currently set to it is cleared, and those values cannot be recovered.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
fieldIdstringYesThe dropdown field ID on that list
dropdownOptionIdstringYesThe dropdown option ID to delete

Output

ParameterTypeDescription
successbooleanWhether Affinity accepted the change
idstringIdentifier of the resource that was changed

Affinity Delete Note

Delete a note you created. Deleting a root note also deletes its replies; deleting a reply removes only that reply.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID to delete

Output

ParameterTypeDescription
successbooleanWhether Affinity accepted the change
idstringIdentifier of the resource that was changed

Affinity Get Company

Look up one company by ID. Field data is returned only for the Field IDs or Field Types asked for.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
companyIdstringYesThe company ID
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, or relationship-intelligence. Mutually exclusive with Field IDs

Output

ParameterTypeDescription
idnumberThe company's unique identifier
namestringThe company name
domainstringThe primary domain
domainsarrayEvery domain associated with the company
isGlobalbooleanWhether this is an Affinity Data global company profile
fieldsarrayRequested field values. Absent unless Field IDs or Field Types was supplied
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null

Affinity Get Current User

Verify an Affinity API key and return the tenant, the user behind the key, and the scopes the grant carries.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token

Output

ParameterTypeDescription
tenantobjectThe Affinity organization the key belongs to
idnumberThe tenant's unique identifier
namestringThe organization name
subdomainstringThe subdomain under affinity.co
userobjectThe user the key authenticates as
idnumberThe user's unique identifier
firstNamestringThe user's first name
lastNamestringThe user's last name
emailAddressstringThe user's email address
grantobjectHow the request is authenticated and what it may reach
typestringapi-key or access-token
scopesarrayScopes available to the grant
createdAtstringWhen the grant was created

Affinity Get Entity Field Value

Read one non-list field value from a company or person.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to read the field from: companies or persons
entityIdstringYesID of that company or person
fieldIdstringYesThe field ID to read

Output

ParameterTypeDescription
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null

Affinity Get List

Read one list — its name, type, owner, and privacy setting.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID

Output

ParameterTypeDescription
idnumberThe list's unique identifier
namestringThe list name
creatorIdnumberUser who created the list
ownerIdnumberUser who owns the list
isPublicbooleanWhether the list is visible to the organization
createdAtstringWhen the list was created
typestringcompany, opportunity, or person — the entity kind the list holds

Affinity Get List Entry

Read one row of a list with its entity. Field data is returned only for the Field IDs or Field Types asked for.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
listEntryIdstringYesThe list entry ID
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, list, or relationship-intelligence. Mutually exclusive with Field IDs

Output

ParameterTypeDescription
idnumberThe list entry's unique identifier
typestringcompany, person, or opportunity
listIdnumberThe list the entry belongs to
createdAtstringWhen the entity was added to the list
creatorIdnumberUser who added the entity
entityjsonThe company, person, or opportunity on the row, including its field values

Affinity Get List Entry Field

Read one field value on a list row.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
listEntryIdstringYesThe list entry ID
fieldIdstringYesThe field ID to read

Output

ParameterTypeDescription
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null

Affinity Get List Field Dropdown Option

Read one dropdown option on a list field.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
fieldIdstringYesThe dropdown field ID on that list
dropdownOptionIdstringYesThe dropdown option ID

Output

ParameterTypeDescription
idnumberThe dropdown option's unique identifier
textstringThe option label
typestringdropdown, ranked-dropdown, or status-dropdown
ranknumberSort order, on ranked and status options
colorstringwhite, gray, blue, green, purple, orange, or red
statusCategorystringopen, won, lost, or on-hold, on status options
winRatenumberWin rate of a status option

Affinity Get Merge

Read the status of one company or person merge, including why it failed if it did.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich merge to read: companies or persons
mergeIdstringYesThe merge ID

Output

ParameterTypeDescription
idnumberThe merge's unique identifier
statusstringin-progress, success, or failed
taskIdstringTask that groups this merge with its siblings
startedAtstringWhen the merge started
completedAtstringWhen the merge finished
errorMessagestringWhy the merge failed
primaryCompanyIdnumberCompany kept by a company merge
duplicateCompanyIdnumberCompany folded in by a company merge
primaryPersonIdnumberPerson kept by a person merge
duplicatePersonIdnumberPerson folded in by a person merge

Affinity Get Merge Task

Read one merge task and how its merges are progressing. Poll this after starting a merge.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich merge task to read: companies or persons
taskIdstringYesThe merge task ID

Output

ParameterTypeDescription
idstringThe task's unique identifier
statusstringin-progress, success, or failed
resultsSummaryjsonCounts of the grouped merges as {total, inProgress, success, failed}

Affinity Get Note

Read one note with its body, author, mentions, and attached records.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID
includesjsonNoExtra properties to return, e.g. ["repliesCount","personsPreview","companiesPreview","opportunitiesPreview"]. Those four fields are omitted unless requested here

Output

ParameterTypeDescription
idnumberThe note's unique identifier
typestringentities, interaction, ai-notetaker, user-reply, or ai-notetaker-reply
contentjsonThe note body as {html}
creatorobjectPerson who authored the note
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
mentionsarrayPersons mentioned in the note body
createdAtstringWhen the note was created
updatedAtstringWhen the note was last updated
repliesCountnumberNumber of replies, on root notes only
parentjsonThe note being replied to, on reply notes only
interactionjsonThe meeting, call, chat message, or email the note is anchored to
transcriptIdnumberTranscript behind an AI Notetaker note
personsPreviewjsonAttached persons, with a count
companiesPreviewjsonAttached companies, with a count
opportunitiesPreviewjsonAttached opportunities, with a count

Affinity Get Opportunity

Read one opportunity and the list it belongs to. Its field data lives on the list entry.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
opportunityIdstringYesThe opportunity ID

Output

ParameterTypeDescription
idnumberThe opportunity's unique identifier
namestringThe opportunity name
listIdnumberThe list the opportunity belongs to
listNamestringName of that list
isRestrictedbooleanWhether list permissions restrict access to the opportunity
isRedactedbooleanWhether the opportunity fields were redacted

Affinity Get Person

Look up one person by ID. Field data is returned only for the Field IDs or Field Types asked for.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
personIdstringYesThe person ID
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, or relationship-intelligence. Mutually exclusive with Field IDs

Output

ParameterTypeDescription
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
emailAddressesarrayEvery email address on the person
typestringWhether the person is internal or external
fieldsarrayRequested field values. Absent unless Field IDs or Field Types was supplied
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null

Affinity Get Saved View

Read one saved view — its name, kind, and creation date.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
viewIdstringYesThe saved view ID

Output

ParameterTypeDescription
idnumberThe saved view's unique identifier
namestringThe saved view name
typestringsheet, board, or dashboard
createdAtstringWhen the saved view was created

Affinity Get Transcript

Read one transcript with its first 100 fragments. Page the fragments endpoint for a longer meeting.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
transcriptIdstringYesThe transcript ID

Output

ParameterTypeDescription
idnumberThe transcript's unique identifier
notejsonThe AI Notetaker note the transcript belongs to
createdAtstringWhen the transcript was created
languageCodestringLanguage the meeting was held in
fragmentsPreviewjsonThe first 100 fragments, with a total count

Affinity Get User

Read one internal user. A user and their person record share the same numeric ID, so a person ID works here.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
userIdstringYesThe user ID, which is also their person ID

Output

ParameterTypeDescription
idnumberThe user's unique identifier, shared with their person ID
firstNamestringThe user's first name
lastNamestringThe user's last name
primaryEmailAddressstringThe user's primary email address
emailAddressesarrayEvery email address, for callers with the Manage Users permission
photoUrlstringURL of the user's photo
statusstringactive, invited, or deactivated
rolestringAccount role, for callers with the Manage Users permission

Affinity List Calls

Page through logged calls and their participants. Only calls the API key holder can see are returned.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
callsarrayLogged calls, newest page first
idnumberThe call's unique identifier
loggingTypestringHow the call was logged
titlestringThe call title
startTimestringWhen the call started
endTimestringWhen the call ended
allDaybooleanWhether the call spans the whole day
creatorjsonWho logged the call
createdAtstringWhen the record was created
updatedAtstringWhen the record was last updated
attendeesPreviewjsonAttendees, with a total count
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Chat Messages

Page through logged chat messages and their participants. Only messages the API key holder can see are returned.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
chatMessagesarrayLogged chat messages
idnumberThe chat message's unique identifier
sentAtstringWhen the message was sent
loggingTypestringHow the message was logged
directionstringsent or received
creatorobjectPerson who sent the message
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
createdAtstringWhen the record was created
updatedAtstringWhen the record was last updated
participantsPreviewjsonParticipants, with a total count
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Companies

Page through companies. Companies come back without field data unless Field IDs or Field Types asks for it.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
idsjsonNoRestrict the page to these company IDs, e.g. [1, 2, 3]
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, or relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
companiesarrayCompanies with any requested field values
idnumberThe company's unique identifier
namestringThe company name
domainstringThe primary domain
domainsarrayEvery domain associated with the company
isGlobalbooleanWhether this is an Affinity Data global company profile
fieldsarrayRequested field values. Absent unless Field IDs or Field Types was supplied
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Coworker Connections

Find warm paths into a company through shared work history: who in your Affinity data once worked alongside the people you want to reach. Grouped by target, strongest first.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringYesRequired scope. The only supported filter is target.currentCompany.id, e.g. "target.currentCompany.id=123"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of targets to return per page, 1-50. Defaults to 20
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
connectionsarrayTargets and the coworkers who might introduce you
targetjsonThe person to reach, as {fullName, title, linkedinUrl, currentCompany}
connectionsarrayPeople in your Affinity data who might know the target, each with the inference that links them
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Emails

Page through email metadata — subject, participants, and timestamps. Affinity never exposes email bodies through the API.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
emailsarrayEmail metadata. Subjects are omitted when the caller lacks permission to see them
idnumberThe email's unique identifier
sentAtstringWhen the email was sent
loggingTypestringHow the email was logged
directionstringsent or received
subjectstringThe subject line
createdAtstringWhen the record was created
updatedAtstringWhen the record was last updated
fromjsonSender, as {emailAddress, person}
toParticipantsPreviewjsonTo recipients, with a total count
ccParticipantsPreviewjsonCc recipients, with a total count
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Entity Field Values

Page through a company's or person's non-list field values. List fields are not returned here — read those through the list entry.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to read field values from: companies or persons
entityIdstringYesID of that company or person
idsjsonNoRestrict to these field IDs. Mutually exclusive with Field Types
typesjsonNoRestrict to these field categories: enriched, global, relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 20

Output

ParameterTypeDescription
fieldsarrayField values on the entity
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Entity List Entries

Page through a company's or person's rows across every list, each carrying that list's field values and when the entity was added.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to look up the rows of: companies or persons
entityIdstringYesID of that company or person
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
listEntriesarrayList rows holding the entity, one per list it appears on
idnumberThe list entry's unique identifier
listIdnumberThe list the entry belongs to
listNamestringName of that list
createdAtstringWhen the entity was added to the list
creatorIdnumberUser who added the entity
fieldsarrayField values on the row, including list-specific fields
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Entity Lists

List every list a company or person appears on that the caller can view.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to look up the lists of: companies or persons
entityIdstringYesID of that company or person
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
listsarrayLists the entity appears on
idnumberThe list's unique identifier
namestringThe list name
creatorIdnumberUser who created the list
ownerIdnumberUser who owns the list
isPublicbooleanWhether the list is visible to the organization
createdAtstringWhen the list was created
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Entity Notes

List the notes relevant to one company, person, or opportunity — directly attached notes plus notes reaching it through its people and meetings.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity the notes hang off: companies, persons, or opportunities
entityIdstringYesID of that company, person, or opportunity
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
notesarrayNotes relevant to the entity
idnumberThe note's unique identifier
typestringentities, interaction, ai-notetaker, user-reply, or ai-notetaker-reply
contentjsonThe note body as {html}
creatorobjectPerson who authored the note
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
mentionsarrayPersons mentioned in the note body
createdAtstringWhen the note was created
updatedAtstringWhen the note was last updated
repliesCountnumberNumber of replies, on root notes only
parentjsonThe note being replied to, on reply notes only
interactionjsonThe meeting, call, chat message, or email the note is anchored to
transcriptIdnumberTranscript behind an AI Notetaker note
personsPreviewjsonAttached persons, with a count
companiesPreviewjsonAttached companies, with a count
opportunitiesPreviewjsonAttached opportunities, with a count
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Entity Relationships

List who knows a company or person, scored 0.0 to 1.0 by how much the two actually interact. Strongest first by default.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to look up relationships for: companies or persons
entityIdstringYesID of that company or person
filterstringNoAffinity Filtering Language expression. This endpoint filters on interactionScore only, e.g. "interactionScore>=0.5"
orderByjsonNoSort order: ["interactionScore"] for weakest first, ["-interactionScore"] for strongest first (the default)
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
relationshipsarrayScored relationships involving the entity
person1objectOne side of the relationship
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
person2objectThe other side of the relationship
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
interactionScorenumberStrength of the relationship, between 0.0 and 1.0
linkedInjsonWhen the two connected on LinkedIn, as {connectedOn}
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Field Dropdown Options

List the selectable options on a dropdown or ranked-dropdown company or person field. Writing such a field needs the option ID, not its text.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich field family the field belongs to: companies or persons
fieldIdstringYesThe dropdown or ranked-dropdown field ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
optionsarraySelectable options on the field
idnumberThe dropdown option's unique identifier
textstringThe option label
typestringdropdown, ranked-dropdown, or status-dropdown
ranknumberSort order, on ranked and status options
colorstringwhite, gray, blue, green, purple, orange, or red
statusCategorystringopen, won, lost, or on-hold, on status options
winRatenumberWin rate of a status option
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Field Metadata

List the non-list company or person fields, with the value type, filter operators, and sort support of each. Start here to find the Field IDs the read and write tools take.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich fields to describe: companies or persons
includesjsonNoExtra properties to return: ["filterability","sortability"]. Both are omitted unless requested here
filterstringNoAffinity Filtering Language expression. This endpoint filters on name only, e.g. "name=~Status"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
fieldsarrayField definitions available on the entity
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, or relationship-intelligence
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valueTypestringThe value shape: person, person-multi, company, company-multi, filterable-text, filterable-text-multi, number, number-multi, datetime, location, location-multi, text, ranked-dropdown, dropdown, dropdown-multi, formula-number, or interaction
createdAtstringWhen the field was created
filterabilityjsonSupported filter operators, or the attributes that can be filtered on. Only present when requested through Includes
sortabilityjsonWhether the field can be sorted on, and by which attributes. Only present when requested through Includes
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Field Value Changes

Page through field value changes across the whole workspace. Built for delta sync: follow nextCursor to the end of a run, then resume from the last cursor next time.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression over field.id, listEntry.id, changer.id, changedAt, or actionType. Resume a sync with e.g. "changedAt>2026-06-01T12:00:00Z"
orderByjsonNoSort order: ["changedAt"] for oldest first (the default), ["-changedAt"] for newest first
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
changesarrayField value changes across the workspace
idnumberThe change's unique identifier
typestringThe value type the change applies to
fieldjsonThe changed field as {id, entityType, name, type}
entityjsonThe entity whose field changed, as {id}
listEntryjsonThe list entry the change happened on, for list fields
changerjsonUser who made the change
changedAtstringWhen the change happened
actionTypestringadd, update, or delete
valuejsonThe value that was added, set, or removed
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Investor Executive Connections

Find warm paths into a company through investment history: which investors in your Affinity data backed a company the people you want to reach once led. Grouped by target, strongest first.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringYesRequired scope. The only supported filter is target.currentCompany.id, e.g. "target.currentCompany.id=123"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of targets to return per page, 1-50. Defaults to 20
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
connectionsarrayTargets and the investors who might introduce you
targetjsonThe person to reach, as {fullName, title, linkedinUrl, currentCompany}
connectionsarrayPeople in your Affinity data who might know the target, each with the inference that links them
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List List Entries

Page through the rows of a list. Rows come back without field data unless Field IDs or Field Types asks for it.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, list, or relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
listEntriesarrayRows on the list, each with its entity inlined
idnumberThe list entry's unique identifier
typestringcompany, person, or opportunity
listIdnumberThe list the entry belongs to
createdAtstringWhen the entity was added to the list
creatorIdnumberUser who added the entity
entityjsonThe company, person, or opportunity on the row, including its field values
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List List Entry Field Value Changes

Page through the history of one list row — who changed which field, when, and to what.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
listEntryIdstringYesThe list entry ID
filterstringNoAffinity Filtering Language expression over field.id, changer.id, changedAt, or actionType, e.g. "field.id=field-1234"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
changesarrayField value changes on the row
idnumberThe change's unique identifier
typestringThe value type the change applies to
fieldjsonThe changed field as {id, entityType, name, type}
entityjsonThe entity whose field changed, as {id}
listEntryjsonThe list entry the change happened on, for list fields
changerjsonUser who made the change
changedAtstringWhen the change happened
actionTypestringadd, update, or delete
valuejsonThe value that was added, set, or removed
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List List Entry Fields

Page through every field value on one list row, including the list-specific columns. All fields are returned unless narrowed.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
listEntryIdstringYesThe list entry ID
idsjsonNoRestrict to these field IDs. Mutually exclusive with Field Types
typesjsonNoRestrict to these field categories: enriched, global, list, relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 20

Output

ParameterTypeDescription
fieldsarrayField values on the list row
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List List Field Dropdown Options

List the selectable options on a dropdown, ranked-dropdown, or status-dropdown field of a list.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
fieldIdstringYesThe dropdown field ID on that list
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
optionsarraySelectable options on the list field
idnumberThe dropdown option's unique identifier
textstringThe option label
typestringdropdown, ranked-dropdown, or status-dropdown
ranknumberSort order, on ranked and status options
colorstringwhite, gray, blue, green, purple, orange, or red
statusCategorystringopen, won, lost, or on-hold, on status options
winRatenumberWin rate of a status option
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List List Fields

List the fields available on one list, including its list-specific columns. Use these Field IDs when reading or writing list entries.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
includesjsonNoExtra properties to return: ["filterability","sortability"]. Both are omitted unless requested here
filterstringNoAffinity Filtering Language expression. This endpoint filters on name only, e.g. "name=~Stage"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
fieldsarrayField definitions available on the list
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, or relationship-intelligence
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valueTypestringThe value shape: person, person-multi, company, company-multi, filterable-text, filterable-text-multi, number, number-multi, datetime, location, location-multi, text, ranked-dropdown, dropdown, dropdown-multi, formula-number, or interaction
createdAtstringWhen the field was created
filterabilityjsonSupported filter operators, or the attributes that can be filtered on. Only present when requested through Includes
sortabilityjsonWhether the field can be sorted on, and by which attributes. Only present when requested through Includes
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Lists

Page through the lists in the organization that the caller can view.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
termstringNoCase-insensitive substring match on the list name
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
listsarrayLists the caller can view
idnumberThe list's unique identifier
namestringThe list name
creatorIdnumberUser who created the list
ownerIdnumberUser who owns the list
isPublicbooleanWhether the list is visible to the organization
createdAtstringWhen the list was created
typestringcompany, opportunity, or person — the entity kind the list holds
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Meetings

Page through past and upcoming meetings with their organizer and attendees.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
meetingsarrayMeetings with their attendees
idnumberThe call's unique identifier
loggingTypestringautomated or manual
titlestringThe call title
startTimestringWhen the call started
endTimestringWhen the call ended
allDaybooleanWhether the call spans the whole day
creatorjsonWho logged the call
createdAtstringWhen the record was created
updatedAtstringWhen the record was last updated
attendeesPreviewjsonAttendees, with a total count
organizerjsonWho organized the meeting
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Merge Tasks

Page through merge tasks, each summarizing how many of its merges are in progress, succeeded, or failed.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich merge tasks to list: companies or persons
filterstringNoAffinity Filtering Language expression. This endpoint filters on status only, e.g. "status=in-progress"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
tasksarrayMerge tasks and their result summaries
idstringThe task's unique identifier
statusstringin-progress, success, or failed
resultsSummaryjsonCounts of the grouped merges as {total, inProgress, success, failed}
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Merges

Page through the company or person merges the organization has run, with the status and the records involved in each.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich merges to list: companies or persons
filterstringNoAffinity Filtering Language expression over status or taskId, e.g. "status=failed"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
mergesarrayMerges the organization has run
idnumberThe merge's unique identifier
statusstringin-progress, success, or failed
taskIdstringTask that groups this merge with its siblings
startedAtstringWhen the merge started
completedAtstringWhen the merge finished
errorMessagestringWhy the merge failed
primaryCompanyIdnumberCompany kept by a company merge
duplicateCompanyIdnumberCompany folded in by a company merge
primaryPersonIdnumberPerson kept by a person merge
duplicatePersonIdnumberPerson folded in by a person merge
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Note Attached Companies

List the companies directly attached to one note.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
companiesarrayCompanies attached to the note
idnumberThe company's unique identifier
namestringThe company name
domainstringThe company's primary domain
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Note Attached Opportunities

List the opportunities directly attached to one note.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
opportunitiesarrayOpportunities attached to the note
idnumberThe opportunity's unique identifier
namestringThe opportunity name
listIdnumberThe list the opportunity belongs to
listNamestringName of that list
isRestrictedbooleanWhether list permissions restrict access to the opportunity
isRedactedbooleanWhether the opportunity fields were redacted
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Note Attached Persons

List the persons directly attached to one note.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
personsarrayPersons attached to the note
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Note Replies

Page through the replies on one note, including AI Notetaker replies.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID whose replies to read
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
repliesarrayReplies to the note
idnumberThe note's unique identifier
typestringentities, interaction, ai-notetaker, user-reply, or ai-notetaker-reply
contentjsonThe note body as {html}
creatorobjectPerson who authored the note
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
mentionsarrayPersons mentioned in the note body
createdAtstringWhen the note was created
updatedAtstringWhen the note was last updated
repliesCountnumberNumber of replies, on root notes only
parentjsonThe note being replied to, on reply notes only
interactionjsonThe meeting, call, chat message, or email the note is anchored to
transcriptIdnumberTranscript behind an AI Notetaker note
personsPreviewjsonAttached persons, with a count
companiesPreviewjsonAttached companies, with a count
opportunitiesPreviewjsonAttached opportunities, with a count
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Notes

Page through every note the caller can see. Replies are excluded.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
includesjsonNoExtra properties to return, e.g. ["repliesCount","personsPreview","companiesPreview","opportunitiesPreview"]. Those four fields are omitted unless requested here
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
notesarrayRoot notes, excluding replies
idnumberThe note's unique identifier
typestringentities, interaction, ai-notetaker, user-reply, or ai-notetaker-reply
contentjsonThe note body as {html}
creatorobjectPerson who authored the note
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
typestringWhether the person is internal, a collaborator, or external
mentionsarrayPersons mentioned in the note body
createdAtstringWhen the note was created
updatedAtstringWhen the note was last updated
repliesCountnumberNumber of replies, on root notes only
parentjsonThe note being replied to, on reply notes only
interactionjsonThe meeting, call, chat message, or email the note is anchored to
transcriptIdnumberTranscript behind an AI Notetaker note
personsPreviewjsonAttached persons, with a count
companiesPreviewjsonAttached companies, with a count
opportunitiesPreviewjsonAttached opportunities, with a count
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Opportunities

Page through opportunities. Field data lives on the list entry, not here — read it through the list or saved view the opportunity belongs to.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
idsjsonNoRestrict the page to these opportunity IDs, e.g. [1, 2, 3]
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
opportunitiesarrayOpportunities the caller can view
idnumberThe opportunity's unique identifier
namestringThe opportunity name
listIdnumberThe list the opportunity belongs to
listNamestringName of that list
isRestrictedbooleanWhether list permissions restrict access to the opportunity
isRedactedbooleanWhether the opportunity fields were redacted
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Persons

Page through persons. Persons come back without field data unless Field IDs or Field Types asks for it.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
idsjsonNoRestrict the page to these person IDs, e.g. [1, 2, 3]
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, or relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
personsarrayPersons with any requested field values
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
emailAddressesarrayEvery email address on the person
typestringWhether the person is internal or external
fieldsarrayRequested field values. Absent unless Field IDs or Field Types was supplied
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Reminders

Page through the reminders the caller can see. Filter by status to surface what is overdue.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
remindersarrayReminders visible to the caller
idnumberThe reminder's unique identifier
typestringone-time or recurring
statusstringactive, overdue, or completed
contentstringThe reminder text
dueDatestringWhen the reminder is due
creatorjsonUser who created the reminder, as {id}
ownerjsonUser the reminder is assigned to, as {id}
completerjsonUser who completed it, as {id}
companyjsonTagged company, as {id}
personjsonTagged person, as {id}
opportunityjsonTagged opportunity, as {id}
completedAtstringWhen the reminder was completed
recurrencejsonRecurrence as {resetTrigger, periodDays}, null on a one-time reminder
createdAtstringWhen the reminder was created
updatedAtstringWhen the reminder was last updated
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Saved View Entries

Page through the rows of a saved view. The view's own filters and columns decide which rows and which field data come back.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
viewIdstringYesThe saved view ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
listEntriesarrayRows the saved view exposes
idnumberThe list entry's unique identifier
typestringcompany, person, or opportunity
listIdnumberThe list the entry belongs to
createdAtstringWhen the entity was added to the list
creatorIdnumberUser who added the entity
entityjsonThe company, person, or opportunity on the row, including its field values
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Saved Views

List the saved views on a list that the caller can view.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
savedViewsarraySaved views on the list
idnumberThe saved view's unique identifier
namestringThe saved view name
typestringsheet, board, or dashboard
createdAtstringWhen the saved view was created
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity List Transcript Fragments

Page through everything said in a meeting, segment by segment with the speaker.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
transcriptIdstringYesThe transcript ID
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
fragmentsarraySpoken segments in order
contentstringWhat was said
speakerstringWho said it
startTimestampstringWhen the segment starts
endTimestampstringWhen the segment ends
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Transcripts

Page through meeting transcript metadata. Read one transcript to get what was actually said.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filterstringNoAffinity Filtering Language expression, e.g. "createdAt>=2026-01-01"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
transcriptsarrayTranscript metadata, without the spoken content
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity List Users

Page through the internal users in the organization. Email addresses and roles are returned only to callers with the "Manage Users" permission.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
termstringNoCase-insensitive match across first name, last name, and primary email
filterstringNoAffinity Filtering Language expression over id or status, e.g. "status=active"
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100

Output

ParameterTypeDescription
usersarrayInternal users in the organization
idnumberThe user's unique identifier, shared with their person ID
firstNamestringThe user's first name
lastNamestringThe user's last name
primaryEmailAddressstringThe user's primary email address
emailAddressesarrayEvery email address, for callers with the Manage Users permission
photoUrlstringURL of the user's photo
statusstringactive, invited, or deactivated
rolestringAccount role, for callers with the Manage Users permission
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page

Affinity Search Companies

Search companies by filters, sorts, and a free-text term. Requires the "Export All Organizations directory" permission.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filtersjsonNoFilter group as {operator: "and"|"or", filters: [...]}, at most 50 leaves. Each leaf is {valueType, fieldId, operator, value}, and a leaf may itself be a nested group
searchTermstringNoFree-text term matched against the searchable fields. At least 3 characters
searchFieldIdsjsonNoField IDs the search term is matched against. Defaults to the searchable fields
sortsjsonNoSort order as [{fieldId, direction: "asc"|"desc", attributeId?}], up to 5, applied in order
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, or relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
companiesarrayMatching companies with any requested field values
idnumberThe company's unique identifier
namestringThe company name
domainstringThe primary domain
domainsarrayEvery domain associated with the company
isGlobalbooleanWhether this is an Affinity Data global company profile
fieldsarrayRequested field values. Absent unless Field IDs or Field Types was supplied
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity Search Files

Search files by keyword, ordered by relevance. Narrow to specific files or to one company, or leave both unset to search the whole account.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
promptstringYesWhat to search for. Between 3 and 500 characters
idsjsonNoRestrict the search to these file IDs. Cannot be combined with Company ID
companyIdstringNoRestrict the search to one company's files. Cannot be combined with file IDs
limitnumberNoMaximum number of files to return, 1-100. Defaults to 20

Output

ParameterTypeDescription
resultsarrayMatching files, most relevant first
filejsonThe matched file as {id, name}
pageNumbernumberPage the match was found on, for paginated documents
previewstringSnippet of the file around the match
countnumberNumber of matches returned

Affinity Search List Entries

Search the rows of one list by filters, sorts, and a free-text term. Requires the "Export data from Lists" permission.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID to search
filtersjsonNoFilter group as {operator: "and"|"or", filters: [...]}, at most 50 leaves. Each leaf is {valueType, fieldId, operator, value}, and a leaf may itself be a nested group
searchTermstringNoFree-text term matched against the searchable fields. At least 3 characters
searchFieldIdsjsonNoField IDs the search term is matched against. Defaults to the searchable fields
sortsjsonNoSort order as [{fieldId, direction: "asc"|"desc", attributeId?}], up to 5, applied in order
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, list, or relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
listEntriesarrayMatching rows on the list
idnumberThe list entry's unique identifier
typestringcompany, person, or opportunity
listIdnumberThe list the entry belongs to
createdAtstringWhen the entity was added to the list
creatorIdnumberUser who added the entity
entityjsonThe company, person, or opportunity on the row, including its field values
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Affinity Search Notes

Search notes by keyword, ordered by relevance. Narrow to specific notes or to one company, or leave both unset to search the whole account.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
promptstringYesWhat to search for. Between 3 and 500 characters
idsjsonNoRestrict the search to these note IDs. Cannot be combined with Company ID
companyIdstringNoRestrict the search to one company's notes. Cannot be combined with note IDs
limitnumberNoMaximum number of notes to return, 1-100. Defaults to 20

Output

ParameterTypeDescription
resultsarrayMatching notes, most relevant first
notejsonThe matched note as {id, kind}
previewstringSnippet of the note around the match
countnumberNumber of matches returned

Affinity Search Persons

Search persons by filters, sorts, and a free-text term. Requires the "Export All People directory" permission.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
filtersjsonNoFilter group as {operator: "and"|"or", filters: [...]}, at most 50 leaves. Each leaf is {valueType, fieldId, operator, value}, and a leaf may itself be a nested group
searchTermstringNoFree-text term matched against the searchable fields. At least 3 characters
searchFieldIdsjsonNoField IDs the search term is matched against. Defaults to the searchable fields
sortsjsonNoSort order as [{fieldId, direction: "asc"|"desc", attributeId?}], up to 5, applied in order
fieldIdsjsonNoField IDs to return values for, e.g. ["affinity-data-location"]. Mutually exclusive with Field Types
fieldTypesjsonNoField categories to return values for: enriched, global, or relationship-intelligence. Mutually exclusive with Field IDs
cursorstringNoCursor from a previous page, returned as nextCursor or prevCursor
limitnumberNoNumber of items to return per page, 1-100. Defaults to 100
totalCountbooleanNoInclude the total size of the collection. Costs an extra query

Output

ParameterTypeDescription
personsarrayMatching persons with any requested field values
idnumberThe person's unique identifier
firstNamestringThe person's first name
lastNamestringThe person's last name
primaryEmailAddressstringThe person's primary email address
emailAddressesarrayEvery email address on the person
typestringWhether the person is internal or external
fieldsarrayRequested field values. Absent unless Field IDs or Field Types was supplied
idstringThe field's unique identifier
namestringThe field name
typestringenriched, global, list, relationship-intelligence, or hidden
enrichmentSourcestringaffinity-data, dealroom, eventbrite, or mailchimp for an enriched field
valuejsonThe typed value as {type, data}, where type names the value type (person, company, dropdown, number, location, datetime, text, interaction, …) and data carries the value or null
countnumberNumber of rows on this page
nextCursorstringCursor for the next page, or null on the last page
prevCursorstringCursor for the previous page, or null on the first page
totalCountnumberTotal size of the collection, only when Total Count was requested

Find companies from a description in plain language — industry, technology, stage, or business model. Currently searches companies only.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
promptstringYesWhat to look for, in plain language, e.g. "climate tech companies in our pipeline". Up to 500 characters
listIdsjsonNoRestrict the search to companies on these lists, e.g. [1, 2]
limitnumberNoMaximum number of companies to return, 1-100. Defaults to 100

Output

ParameterTypeDescription
companiesarrayMatching companies, best match first
idnumberThe company's unique identifier
namestringThe company name
domainstringThe company's primary domain
domainsarrayEvery domain associated with the company
isGlobalbooleanWhether this is an Affinity Data global company profile
scorestringHow well the company matched the prompt
countnumberNumber of companies returned
entityTypestringThe entity kind that was searched
explanationstringHow the search read the prompt

Affinity Update Entity Field Value

Write one non-list field value on a company or person. The value type must match how the field is defined.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
entityTypestringYesWhich entity to write the field on: companies or persons
entityIdstringYesID of that company or person
fieldIdstringYesThe field ID to write
valuejsonYesThe new value as {type, data}, where type matches the field's value type. Examples: {"type":"text","data":"Series B"}, {"type":"number","data":42}, {"type":"dropdown","data":{"dropdownOptionId":7}}, {"type":"person","data":{"id":123}}, {"type":"person-multi","data":[{"id":123}]}. Pass data as null to clear the field

Output

ParameterTypeDescription
successbooleanWhether Affinity accepted the change
idstringIdentifier of the resource that was changed

Affinity Update List Entry Field

Write one field value on a list row. Requires the "Export data from Lists" permission.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
listEntryIdstringYesThe list entry ID
fieldIdstringYesThe field ID to write
valuejsonYesThe new value as {type, data}, where type matches the field's value type. Examples: {"type":"text","data":"Series B"}, {"type":"number","data":42}, {"type":"dropdown","data":{"dropdownOptionId":7}}, {"type":"person","data":{"id":123}}, {"type":"person-multi","data":[{"id":123}]}. Pass data as null to clear the field

Output

ParameterTypeDescription
successbooleanWhether Affinity accepted the change
idstringIdentifier of the resource that was changed

Affinity Update List Field Dropdown Option

Change a dropdown option on a list field. Every field is optional — supply only what should change, and only fields the option's kind actually has.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
listIdstringYesThe list ID
fieldIdstringYesThe dropdown field ID on that list
dropdownOptionIdstringYesThe dropdown option ID to update
textstringNoReplacement option label. Supply at least one field to change
ranknumberNoSort order. Required on a ranked-dropdown or status-dropdown option
colorstringNoOption color: white, gray, blue, green, purple, orange, or red. Required on a ranked-dropdown or status-dropdown option
statusCategorystringNoPipeline meaning of the option: open, won, lost, or on-hold. Status-dropdown options only
winRatenumberNoExpected win rate of the status. Status-dropdown options only

Output

ParameterTypeDescription
successbooleanWhether Affinity accepted the change
idstringIdentifier of the resource that was changed

Affinity Update Note

Rewrite a note's body or replace which records it is attached to. Each list of IDs replaces that association wholesale, an empty list clears it, and omitting one leaves it untouched. A note's type cannot be changed.

Input

ParameterTypeRequiredDescription
apiKeystringYesAffinity API key, sent as a bearer token
noteIdstringYesThe note ID to update
htmlstringNoReplacement note body as HTML
companyIdsjsonNoReplacement set of attached companies, e.g. [1, 2]. Send [] to detach every company; omit to leave them unchanged
personIdsjsonNoReplacement set of attached persons, e.g. [1, 2]. Send [] to detach every person; omit to leave them unchanged
opportunityIdsjsonNoReplacement set of attached opportunities, e.g. [1, 2]. Send [] to detach every opportunity; omit to leave them unchanged

Output

ParameterTypeDescription
successbooleanWhether Affinity accepted the change
idstringIdentifier of the resource that was changed

On this page

Usage Instructions
Actions
Affinity Batch Update Entity Fields
Input
Output
Affinity Batch Update List Entry Fields
Input
Output
Affinity Create List
Input
Output
Affinity Create List Field Dropdown Option
Input
Output
Affinity Create Merge
Input
Output
Affinity Create Note
Input
Output
Affinity Create Reminder
Input
Output
Affinity Delete List Field Dropdown Option
Input
Output
Affinity Delete Note
Input
Output
Affinity Get Company
Input
Output
Affinity Get Current User
Input
Output
Affinity Get Entity Field Value
Input
Output
Affinity Get List
Input
Output
Affinity Get List Entry
Input
Output
Affinity Get List Entry Field
Input
Output
Affinity Get List Field Dropdown Option
Input
Output
Affinity Get Merge
Input
Output
Affinity Get Merge Task
Input
Output
Affinity Get Note
Input
Output
Affinity Get Opportunity
Input
Output
Affinity Get Person
Input
Output
Affinity Get Saved View
Input
Output
Affinity Get Transcript
Input
Output
Affinity Get User
Input
Output
Affinity List Calls
Input
Output
Affinity List Chat Messages
Input
Output
Affinity List Companies
Input
Output
Affinity List Coworker Connections
Input
Output
Affinity List Emails
Input
Output
Affinity List Entity Field Values
Input
Output
Affinity List Entity List Entries
Input
Output
Affinity List Entity Lists
Input
Output
Affinity List Entity Notes
Input
Output
Affinity List Entity Relationships
Input
Output
Affinity List Field Dropdown Options
Input
Output
Affinity List Field Metadata
Input
Output
Affinity List Field Value Changes
Input
Output
Affinity List Investor Executive Connections
Input
Output
Affinity List List Entries
Input
Output
Affinity List List Entry Field Value Changes
Input
Output
Affinity List List Entry Fields
Input
Output
Affinity List List Field Dropdown Options
Input
Output
Affinity List List Fields
Input
Output
Affinity List Lists
Input
Output
Affinity List Meetings
Input
Output
Affinity List Merge Tasks
Input
Output
Affinity List Merges
Input
Output
Affinity List Note Attached Companies
Input
Output
Affinity List Note Attached Opportunities
Input
Output
Affinity List Note Attached Persons
Input
Output
Affinity List Note Replies
Input
Output
Affinity List Notes
Input
Output
Affinity List Opportunities
Input
Output
Affinity List Persons
Input
Output
Affinity List Reminders
Input
Output
Affinity List Saved View Entries
Input
Output
Affinity List Saved Views
Input
Output
Affinity List Transcript Fragments
Input
Output
Affinity List Transcripts
Input
Output
Affinity List Users
Input
Output
Affinity Search Companies
Input
Output
Affinity Search Files
Input
Output
Affinity Search List Entries
Input
Output
Affinity Search Notes
Input
Output
Affinity Search Persons
Input
Output
Affinity Semantic Search
Input
Output
Affinity Update Entity Field Value
Input
Output
Affinity Update List Entry Field
Input
Output
Affinity Update List Field Dropdown Option
Input
Output
Affinity Update Note
Input
Output