Skip to content

SDK v1.11.0

Choose a tag to compare

@github-actions github-actions released this 19 Apr 15:39
· 51 commits to main since this release

Highlights

xaffinity person field --set "Phone Number" "..." and similar enriched-field writes now work. The SDK and CLI accept the field name or its field ID and handle the rest — including disambiguating names that exist under multiple enrichment providers (e.g. company "Industry" exists for both the built-in enricher and Dealroom), which now raises AmbiguousFieldError with a candidate table instead of silently picking one. Truly derived fields like "Current Organization" raise the new EnrichedFieldNotWritableError instead of failing with an opaque message.

What's New

  • EnrichedFieldNotWritableError exception (subclass of UnsupportedOperationError) — raised when an enriched field is derived-only and cannot be written
  • FieldService.list(skip_cache=True) / AsyncFieldService.list(skip_cache=True) — bypass the field-metadata cache for fresh post-write reads
  • FieldResolver.to_v1_numeric(client, field_id, entity_type) on the CLI resolver — resolves field IDs to the numeric form the write path needs, handling enriched IDs transparently

Bug Fixes

  • person field --set / person field --unset / company field --set / company field --unset now correctly handle enriched field IDs in addition to field names and numeric IDs
  • Ambiguous enriched field names (e.g. company "Industry") are now disambiguated by enrichment provider instead of silently picking one of the matching fields

Quick Install

SDK only:

pip install affinity-sdk

SDK + CLI:

pipx install "affinity-sdk[cli]"

MCP Server for Claude Desktop (easiest - MCPB bundle):

  1. Install CLI: pipx install "affinity-sdk[cli]"
  2. (Optional) Pre-configure API key: xaffinity config setup-key
    • If skipped, Claude Desktop will prompt for your API key during install
  3. Install xaffinity MCP in Claude Desktop (download and double-click)

Other MCP clients (Cursor, Windsurf, VS Code, etc.) require manual configuration - see MCP docs.

Full documentation | MCP Server docs