---
title: CKSyncEngine.RecordZoneChangeBatch
framework: cloudkit
role: symbol
role_heading: Structure
path: cloudkit/cksyncengine-5sie5/recordzonechangebatch
---

# CKSyncEngine.RecordZoneChangeBatch

A type that contains the record changes for a single send operation.

## Declaration

```swift
struct RecordZoneChangeBatch
```

## Topics

### Creating a batch

- [init(pendingChanges:recordProvider:)](cloudkit/cksyncengine-5sie5/recordzonechangebatch/init(pendingchanges:recordprovider:).md)
- [CKSyncEngine.PendingRecordZoneChange](cloudkit/cksyncengine-5sie5/pendingrecordzonechange.md)
- [init(recordsToSave:recordIDsToDelete:atomicByZone:)](cloudkit/cksyncengine-5sie5/recordzonechangebatch/init(recordstosave:recordidstodelete:atomicbyzone:).md)

### Managing atomicity

- [atomicByZone](cloudkit/cksyncengine-5sie5/recordzonechangebatch/atomicbyzone.md)

### Managing the records

- [recordIDsToDelete](cloudkit/cksyncengine-5sie5/recordzonechangebatch/recordidstodelete.md)
- [recordsToSave](cloudkit/cksyncengine-5sie5/recordzonechangebatch/recordstosave.md)

### Debugging the batch

- [description](cloudkit/cksyncengine-5sie5/recordzonechangebatch/description.md)

### Default Implementations

- [CustomStringConvertible Implementations](cloudkit/cksyncengine-5sie5/recordzonechangebatch/customstringconvertible-implementations.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Sending changes

- [nextRecordZoneChangeBatch(_:syncEngine:)](cloudkit/cksyncenginedelegate-1q7g8/nextrecordzonechangebatch(_:syncengine:).md)
- [CKSyncEngine.SendChangesContext](cloudkit/cksyncengine-5sie5/sendchangescontext.md)
