Get Field Value Changes
affinity_get_field_value_changesTrack field value changes with a complete audit trail: who changed, when, and what value changed. Filter by action, person, or organization for targeted analysis.
Instructions
Retrieve change history for a specific field, showing who changed what and when.
This is a V1 API endpoint - field value changes GET is NOT available in V2.
Returns complete audit trail for field modifications including:
Who made the change (name, email)
When the change occurred (timestamp)
What changed (new value, previous value for updates)
Type of change (create, update, delete)
CRITICAL: Not All Fields Support Change Tracking
The API only supports change tracking for SOME fields. Common patterns:
✅ Status fields (Ranked Dropdown - type 7): SUPPORTED
✅ Owners fields (Person - type 0): SUPPORTED
✅ Number fields (type 3): SUPPORTED
❌ Some Text fields (type 6): NOT SUPPORTED
❌ Some Dropdown fields (type 2): NOT SUPPORTED
If a field doesn't support tracking, the API returns 422 error: "Tracking changes for this entity attribute is not yet supported"
Use Cases:
Track deal progression: "Show me how this deal moved through pipeline stages"
Accountability: "Who changed the deal amount and when?"
Audit trail: "What changes were made to this field in the last week?"
Team activity: "Which team members are most active in updating deals?"
Data quality: "What values were deleted and when?"
Required Parameter:
field_id: The specific field to track changes for (REQUIRED)
Optional Filters:
action_type: Filter by change type (0=Create, 1=Update, 2=Delete)
person_id: Show changes only for this person
organization_id: Show changes only for this organization
list_entry_id: Show changes only for this list entry
page_size: Number of results (default 100, max 500)
Action Type Enum (INTEGER values):
0 = Create: Field value was created/added
1 = Update: Field value was modified in place
2 = Delete: Field value was removed/deleted
Returns (JSON): { "changes": [ { "id": number, // Change record ID "field_id": number, // Field that changed "field_value_id": number|null, // Field value record "changer": { "id": number, "first_name": string, "last_name": string, "primary_email": string|null }, "changed_at": string, // ISO timestamp "action_type": number, // 0, 1, or 2 "action_type_name": string, // "Create", "Update", "Delete" "value": any, // New value "previous_value": any // Old value (if update) } ], "count": number, "field_id": number, "action_type_distribution": { // Summary stats "create": number, "update": number, "delete": number }, "unique_changers": number, "summary": string }
Example Use Cases:
Track Status field changes: { "field_id": 4494246 } Returns: Complete history of stage movements
Filter by action type (deletes only): { "field_id": 4494246, "action_type": 2 } Returns: Only deleted/removed values
Track who changed Owners field: { "field_id": 4494247 } Returns: History of ownership changes with user details
Important Notes:
field_id is REQUIRED
action_type must be integer (0, 1, or 2), not string
API may return ALL results regardless of page_size
Use affinity_get_list_fields to find field IDs for a list
Try Status fields first (most likely to have change tracking)
Error Handling:
422 + "not yet supported": Field doesn't support change tracking
422 + "valid id for model": Invalid field_id
Empty array: Field exists and supports tracking, but no changes yet
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Field ID to track changes for (REQUIRED). Use affinity_get_list_fields to discover field IDs. | |
| action_type | No | Filter by action type: 0=Create, 1=Update, 2=Delete (optional) | |
| person_id | No | Filter changes for specific person (optional) | |
| organization_id | No | Filter changes for specific organization (optional) | |
| list_entry_id | No | Filter changes for specific list entry (optional) | |
| page_size | No | Number of results to return (default 100, max 500). Note: API may ignore this and return all results. | |
| responseFormat | No | Output format: "json" for structured data or "markdown" for human-readable. Default: "json" |