---
title: CNChangeHistoryFetchRequest
framework: contacts
role: symbol
role_heading: Class
path: contacts/cnchangehistoryfetchrequest
---

# CNChangeHistoryFetchRequest

An object that specifies the criteria for fetching change history.

## Declaration

```swift
class CNChangeHistoryFetchRequest
```

## Overview

Overview The system always returns changes to contacts. The system coalesces changes to remove redundant adds, updates, and deletes. Create and configure a fetch request, then call enumeratorForChangeHistoryFetchRequest:error: to process changes.

## Topics

### Configuring the fetch request

- [additionalContactKeyDescriptors](contacts/cnchangehistoryfetchrequest/additionalcontactkeydescriptors.md)
- [excludedTransactionAuthors](contacts/cnchangehistoryfetchrequest/excludedtransactionauthors.md)
- [includeGroupChanges](contacts/cnchangehistoryfetchrequest/includegroupchanges.md)
- [mutableObjects](contacts/cnchangehistoryfetchrequest/mutableobjects.md)
- [shouldUnifyResults](contacts/cnchangehistoryfetchrequest/shouldunifyresults.md)
- [startingToken](contacts/cnchangehistoryfetchrequest/startingtoken.md)

### Initializers

- [init(coder:)](contacts/cnchangehistoryfetchrequest/init(coder:).md)

## Relationships

### Inherits From

- [CNFetchRequest](contacts/cnfetchrequest.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Change history data

- [CNChangeHistoryAddContactEvent](contacts/cnchangehistoryaddcontactevent.md)
- [CNChangeHistoryAddGroupEvent](contacts/cnchangehistoryaddgroupevent.md)
- [CNChangeHistoryAddMemberToGroupEvent](contacts/cnchangehistoryaddmembertogroupevent.md)
- [CNChangeHistoryAddSubgroupToGroupEvent](contacts/cnchangehistoryaddsubgrouptogroupevent.md)
- [CNChangeHistoryDeleteContactEvent](contacts/cnchangehistorydeletecontactevent.md)
- [CNChangeHistoryDeleteGroupEvent](contacts/cnchangehistorydeletegroupevent.md)
- [CNChangeHistoryDropEverythingEvent](contacts/cnchangehistorydropeverythingevent.md)
- [CNChangeHistoryEvent](contacts/cnchangehistoryevent.md)
- [CNChangeHistoryRemoveMemberFromGroupEvent](contacts/cnchangehistoryremovememberfromgroupevent.md)
- [CNChangeHistoryRemoveSubgroupFromGroupEvent](contacts/cnchangehistoryremovesubgroupfromgroupevent.md)
- [CNChangeHistoryUpdateContactEvent](contacts/cnchangehistoryupdatecontactevent.md)
- [CNChangeHistoryUpdateGroupEvent](contacts/cnchangehistoryupdategroupevent.md)
- [CNChangeHistoryEventVisitor](contacts/cnchangehistoryeventvisitor.md)
