<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CloudKit",
  "identifier" : "/documentation/CloudKit/CKRecordZone/Capabilities-swift.struct/atomic",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "CloudKit"
    ],
    "preciseIdentifier" : "c:@E@CKRecordZoneCapabilities@CKRecordZoneCapabilityAtomic"
  },
  "title" : "atomic"
}
-->

# atomic

A capability that allows atomic changes of multiple records.

```
static var atomic: CKRecordZone.Capabilities { get }
```

## Discussion

When you use a [`CKModifyRecordsOperation`](/documentation/CloudKit/CKModifyRecordsOperation) object to save records, if the server is unable to save the changes for one record, it doesn’t save the changes for any of the records. Combining this capability with the [`CKModifyRecordsOperation.RecordSavePolicy.ifServerRecordUnchanged`](/documentation/CloudKit/CKModifyRecordsOperation/RecordSavePolicy/ifServerRecordUnchanged) policy of the operation object prevents your app from overwriting changes to a group of records if one or more of the records on the server has recent changes.

---

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)