# Merge ## Merge two accounts `merge.merge_accounts(MergeMergeAccountsParams**kwargs) -> MergeMergeAccountsResponse` **post** `/v1/accounts/merge` Merges two accounts into one. The primary account retains its ID; the duplicate is soft-deleted. **[Required scopes](/using-the-api/scopes/):** `accounts:update` + `accounts:delete` **[Rate limit category](/using-the-api/rate-limits/):** Write ### Parameters - `duplicate_id: str` ID of the duplicate record to merge into the primary and then discard. - `primary_id: str` ID of the record to keep. - `field_resolutions: Optional[Dict[str, FieldResolutions]]` Per-field resolution overrides keyed by attribute slug. - `Literal["primary", "duplicate"]` - `"primary"` - `"duplicate"` - `class FieldResolutionsValue: …` - `value: Optional[FieldResolutionsValueValue]` - `str` - `float` - `bool` - `Sequence[str]` - `class FieldResolutionsValueValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class FieldResolutionsValueValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `options: Optional[Options]` - `multi_select_union: Optional[bool]` When true, multi-select fields are merged by union rather than primary-takes-all. ### Returns - `class MergeMergeAccountsResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Example ```python from lightfield import Lightfield client = Lightfield( api_key="My API Key", ) merge_merge_accounts_response = client.merge.merge_accounts( duplicate_id="duplicateId", primary_id="primaryId", ) print(merge_merge_accounts_response.merge) ``` #### Response ```json { "merge": { "id": "id", "status": "status" }, "primary": { "id": "id", "createdAt": "createdAt", "fields": { "foo": { "value": "string", "valueType": "ADDRESS" } }, "httpLink": "httpLink", "relationships": { "foo": { "cardinality": "cardinality", "objectType": "objectType", "values": [ "string" ] } }, "updatedAt": "updatedAt", "externalId": "externalId" }, "summary": { "fieldWriteCount": -9007199254740991, "syncRepointedCount": -9007199254740991, "warnings": [ "string" ] } } ``` ## Merge two contacts `merge.merge_contacts(MergeMergeContactsParams**kwargs) -> MergeMergeContactsResponse` **post** `/v1/contacts/merge` Merges two contacts into one. The primary contact retains its ID; the duplicate is soft-deleted. **[Required scopes](/using-the-api/scopes/):** `contacts:update` + `contacts:delete` **[Rate limit category](/using-the-api/rate-limits/):** Write ### Parameters - `duplicate_id: str` ID of the duplicate record to merge into the primary and then discard. - `primary_id: str` ID of the record to keep. - `field_resolutions: Optional[Dict[str, FieldResolutions]]` Per-field resolution overrides keyed by attribute slug. - `Literal["primary", "duplicate"]` - `"primary"` - `"duplicate"` - `class FieldResolutionsValue: …` - `value: Optional[FieldResolutionsValueValue]` - `str` - `float` - `bool` - `Sequence[str]` - `class FieldResolutionsValueValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class FieldResolutionsValueValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `options: Optional[Options]` - `multi_select_union: Optional[bool]` When true, multi-select fields are merged by union rather than primary-takes-all. ### Returns - `class MergeMergeContactsResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Example ```python from lightfield import Lightfield client = Lightfield( api_key="My API Key", ) merge_merge_contacts_response = client.merge.merge_contacts( duplicate_id="duplicateId", primary_id="primaryId", ) print(merge_merge_contacts_response.merge) ``` #### Response ```json { "merge": { "id": "id", "status": "status" }, "primary": { "id": "id", "createdAt": "createdAt", "fields": { "foo": { "value": "string", "valueType": "ADDRESS" } }, "httpLink": "httpLink", "relationships": { "foo": { "cardinality": "cardinality", "objectType": "objectType", "values": [ "string" ] } }, "updatedAt": "updatedAt", "externalId": "externalId" }, "summary": { "fieldWriteCount": -9007199254740991, "syncRepointedCount": -9007199254740991, "warnings": [ "string" ] } } ``` ## Merge two opportunities `merge.merge_opportunities(MergeMergeOpportunitiesParams**kwargs) -> MergeMergeOpportunitiesResponse` **post** `/v1/opportunities/merge` Merges two opportunities into one. The primary opportunity retains its ID; the duplicate is soft-deleted. Both opportunities must belong to the same account. **[Required scopes](/using-the-api/scopes/):** `opportunities:update` + `opportunities:delete` **[Rate limit category](/using-the-api/rate-limits/):** Write ### Parameters - `duplicate_id: str` ID of the duplicate record to merge into the primary and then discard. - `primary_id: str` ID of the record to keep. - `field_resolutions: Optional[Dict[str, FieldResolutions]]` Per-field resolution overrides keyed by attribute slug. - `Literal["primary", "duplicate"]` - `"primary"` - `"duplicate"` - `class FieldResolutionsValue: …` - `value: Optional[FieldResolutionsValueValue]` - `str` - `float` - `bool` - `Sequence[str]` - `class FieldResolutionsValueValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class FieldResolutionsValueValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `options: Optional[Options]` - `multi_select_union: Optional[bool]` When true, multi-select fields are merged by union rather than primary-takes-all. ### Returns - `class MergeMergeOpportunitiesResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Example ```python from lightfield import Lightfield client = Lightfield( api_key="My API Key", ) merge_merge_opportunities_response = client.merge.merge_opportunities( duplicate_id="duplicateId", primary_id="primaryId", ) print(merge_merge_opportunities_response.merge) ``` #### Response ```json { "merge": { "id": "id", "status": "status" }, "primary": { "id": "id", "createdAt": "createdAt", "fields": { "foo": { "value": "string", "valueType": "ADDRESS" } }, "httpLink": "httpLink", "relationships": { "foo": { "cardinality": "cardinality", "objectType": "objectType", "values": [ "string" ] } }, "updatedAt": "updatedAt", "externalId": "externalId" }, "summary": { "fieldWriteCount": -9007199254740991, "syncRepointedCount": -9007199254740991, "warnings": [ "string" ] } } ``` ## Merge two custom object records `merge.merge_object_values(strentity_slug, MergeMergeObjectValuesParams**kwargs) -> MergeMergeObjectValuesResponse` **post** `/v1/objects/{entitySlug}/merge` Merges two records of the specified custom object type into one. The primary record retains its ID; the duplicate is soft-deleted. Both records must belong to the custom object type named in the path. **[Required scopes](/using-the-api/scopes/):** `custom_objects:update` + `custom_objects:delete` **[Rate limit category](/using-the-api/rate-limits/):** Write ### Parameters - `entity_slug: str` The slug of the custom object type. - `duplicate_id: str` ID of the duplicate record to merge into the primary and then discard. - `primary_id: str` ID of the record to keep. - `field_resolutions: Optional[Dict[str, FieldResolutions]]` Per-field resolution overrides keyed by attribute slug. - `Literal["primary", "duplicate"]` - `"primary"` - `"duplicate"` - `class FieldResolutionsValue: …` - `value: Optional[FieldResolutionsValueValue]` - `str` - `float` - `bool` - `Sequence[str]` - `class FieldResolutionsValueValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class FieldResolutionsValueValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `options: Optional[Options]` - `multi_select_union: Optional[bool]` When true, multi-select fields are merged by union rather than primary-takes-all. ### Returns - `class MergeMergeObjectValuesResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Example ```python from lightfield import Lightfield client = Lightfield( api_key="My API Key", ) merge_merge_object_values_response = client.merge.merge_object_values( entity_slug="entitySlug", duplicate_id="duplicateId", primary_id="primaryId", ) print(merge_merge_object_values_response.merge) ``` #### Response ```json { "merge": { "id": "id", "status": "status" }, "primary": { "id": "id", "createdAt": "createdAt", "fields": { "foo": { "value": "string", "valueType": "ADDRESS" } }, "httpLink": "httpLink", "relationships": { "foo": { "cardinality": "cardinality", "objectType": "objectType", "values": [ "string" ] } }, "updatedAt": "updatedAt", "externalId": "externalId" }, "summary": { "fieldWriteCount": -9007199254740991, "syncRepointedCount": -9007199254740991, "warnings": [ "string" ] } } ``` ## Get merge status `merge.get_merge(strid) -> MergeGetMergeResponse` **get** `/v1/merges/{id}` Returns the status and details of a merge operation by its ID. **[Rate limit category](/using-the-api/rate-limits/):** Read ### Parameters - `id: str` The merge operation ID. ### Returns - `class MergeGetMergeResponse: …` - `id: str` Unique identifier for the merge operation. - `created_at: str` ISO 8601 timestamp of when the merge was created. - `duplicate_id: str` ID of the record that was merged into the primary and soft-deleted. - `entity_type: str` The object type of the merged records (e.g. `account`, `contact`, `opportunity`, or a custom object slug). - `primary_id: str` ID of the record that was kept (the primary). - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `updated_at: str` ISO 8601 timestamp of when the merge was last updated. ### Example ```python from lightfield import Lightfield client = Lightfield( api_key="My API Key", ) merge_get_merge_response = client.merge.get_merge( "id", ) print(merge_get_merge_response.id) ``` #### Response ```json { "id": "id", "createdAt": "createdAt", "duplicateId": "duplicateId", "entityType": "entityType", "primaryId": "primaryId", "status": "status", "updatedAt": "updatedAt" } ``` ## Domain Types ### Merge Get Merge Response - `class MergeGetMergeResponse: …` - `id: str` Unique identifier for the merge operation. - `created_at: str` ISO 8601 timestamp of when the merge was created. - `duplicate_id: str` ID of the record that was merged into the primary and soft-deleted. - `entity_type: str` The object type of the merged records (e.g. `account`, `contact`, `opportunity`, or a custom object slug). - `primary_id: str` ID of the record that was kept (the primary). - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `updated_at: str` ISO 8601 timestamp of when the merge was last updated. ### Merge Merge Accounts Response - `class MergeMergeAccountsResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Merge Merge Contacts Response - `class MergeMergeContactsResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Merge Merge Object Values Response - `class MergeMergeObjectValuesResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers). ### Merge Merge Opportunities Response - `class MergeMergeOpportunitiesResponse: …` - `merge: Merge` - `id: str` Unique identifier for the merge operation. - `status: str` Current status of the merge: `cleanup_pending`, `done`, or `failed`. - `primary: Primary` - `id: str` Unique identifier for the entity. - `created_at: str` ISO 8601 timestamp of when the entity was created. - `fields: Dict[str, PrimaryFields]` Map of field names to their typed values. System fields are prefixed with `$` (e.g. `$name`, `$email`); custom attributes use their bare slug. - `value: Optional[PrimaryFieldsValue]` The field value, or null if unset. - `str` - `float` - `bool` - `List[str]` - `class PrimaryFieldsValueAddress: …` - `city: Optional[str]` City name. - `country: Optional[str]` 2-letter ISO 3166-1 alpha-2 country code. - `latitude: Optional[float]` Latitude coordinate. - `longitude: Optional[float]` Longitude coordinate. - `postal_code: Optional[str]` Postal or ZIP code. - `state: Optional[str]` State or province. - `street: Optional[str]` Street address line 1. - `street2: Optional[str]` Street address line 2. - `class PrimaryFieldsValueFullName: …` - `first_name: Optional[str]` The contact's first name. - `last_name: Optional[str]` The contact's last name. - `value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 12 more]` The data type of the field. - `"ADDRESS"` - `"CHECKBOX"` - `"CURRENCY"` - `"DATETIME"` - `"EMAIL"` - `"FULL_NAME"` - `"MARKDOWN"` - `"MULTI_SELECT"` - `"NUMBER"` - `"SINGLE_SELECT"` - `"SOCIAL_HANDLE"` - `"TELEPHONE"` - `"TEXT"` - `"URL"` - `"HTML"` - `http_link: Optional[str]` URL to view the entity in the Lightfield web app, or null. - `relationships: Dict[str, PrimaryRelationships]` Map of relationship names to their associated entities. System relationships are prefixed with `$` (e.g. `$owner`, `$contact`). - `cardinality: str` Whether the relationship is `has_one` or `has_many`. - `object_type: str` The type of the related object (e.g. `account`, `contact`). - `values: List[str]` IDs of the related entities. - `updated_at: Optional[str]` ISO 8601 timestamp of when the entity was last updated, or null. - `external_id: Optional[str]` External identifier for the entity, or null if unset. - `summary: Summary` - `field_write_count: int` Number of attribute fields written onto the primary record. - `sync_repointed_count: int` Number of related records re-pointed from the duplicate to the primary. - `warnings: List[str]` Non-fatal warnings from the merge (e.g. skipped transfers).