<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CloudKit",
  "identifier" : "/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "CloudKit"
    ],
    "preciseIdentifier" : "s:8CloudKit12CKSyncEngineC5EventO21SentRecordZoneChangesV"
  },
  "title" : "CKSyncEngine.Event.SentRecordZoneChanges"
}
-->

# CKSyncEngine.Event.SentRecordZoneChanges

The sync engine finished sending a batch of record zone changes to the server.

```
struct SentRecordZoneChanges
```

## Overview

If a record save succeeded, you should encode the system fields of this record to use the next time you save. See [`encodeSystemFields(with:)`](/documentation/CloudKit/CKRecord/encodeSystemFields(with:)).

If a record deletion succeeded, you should remove any local system fields for that record.

If the record change failed, try to resolve the issue causing the error and save the record again if necessary.

## Topics

### Accessing successful changes

[`let deletedRecordIDs: [CKRecord.ID]`](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/deletedRecordIDs)

The unique identifiers of the deleted records.

[`let savedRecords: [CKRecord]`](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/savedRecords)

The modified records.

### Accessing failed changes

[`let failedRecordDeletes: [CKRecord.ID : CKError]`](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/failedRecordDeletes)

The unique identifiers of the records CloudKit is unable to delete, and the reasons why.

[`let failedRecordSaves: [CKSyncEngine.Event.SentRecordZoneChanges.FailedRecordSave]`](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/failedRecordSaves)

The records that CloudKit is unable to modify.

[`struct FailedRecordSave`](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/FailedRecordSave)

A type that describes an unsuccessful attempt to modify a single record.

### Debugging the event

[`var description: String`](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/description)

A textual description of the event that’s suitable for logging.

### Default Implementations

[CustomStringConvertible Implementations](/documentation/CloudKit/CKSyncEngine-5sie5/Event/SentRecordZoneChanges/CustomStringConvertible-Implementations)

## Relationships

### Conforms To

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Escapable`](/documentation/Swift/Escapable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`Copyable`](/documentation/Swift/Copyable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)