---
title: "Fetch Zone Changes"
method: POST
path: "/database/{version}/{container}/{environment}/{database}/zones/changes"
tags: ["Zones"]
---

# Fetch Zone Changes

`POST /database/{version}/{container}/{environment}/{database}/zones/changes`

Get all changed zones relative to a meta-sync token

## Path parameters

- `version` string, required — Protocol version
- `container` string, required — Container ID (begins with "iCloud.")
- `environment` 'development' | 'production', required — Container environment
- `database` 'public' | 'private' | 'shared', required — Database scope

## Request body

- object
  - `syncToken` string — Meta-sync token from previous operation

## Response `200`

Zone changes retrieved successfully

- ZoneChangesResponse
  - `zones` Zone[]
    - `zoneID` ZoneID
      - `zoneName` string
      - `ownerName` string
    - `syncToken` string — The current point in the zone's change history.
    - `atomic` boolean — A Boolean value indicating whether this zone supports atomic operations.
  - `syncToken` string
  - `moreComing` boolean

## Other responses

- `400` — Error response shared by all endpoints. The body schema is the same for every 4xx/5xx status code; the HTTP status code itself disambiguates which CloudKit failure occurred. See Apple's CloudKit Web Services Error Codes documentation for the full code → status mapping: - 400 BadRequest (BAD_REQUEST, ATOMIC_ERROR) - 401 Unauthorized (AUTHENTICATION_FAILED) - 403 Forbidden (ACCESS_DENIED) - 404 NotFound (NOT_FOUND, ZONE_NOT_FOUND) - 409 Conflict (CONFLICT, EXISTS) - 412 PreconditionFailed (VALIDATING_REFERENCE_ERROR) - 413 RequestEntityTooLarge (QUOTA_EXCEEDED) - 421 UnprocessableEntity (AUTHENTICATION_REQUIRED) - 429 TooManyRequests (THROTTLED) - 500 InternalServerError (INTERNAL_ERROR) - 503 ServiceUnavailable (TRY_AGAIN_LATER)
- `401` — Error response shared by all endpoints. The body schema is the same for every 4xx/5xx status code; the HTTP status code itself disambiguates which CloudKit failure occurred. See Apple's CloudKit Web Services Error Codes documentation for the full code → status mapping: - 400 BadRequest (BAD_REQUEST, ATOMIC_ERROR) - 401 Unauthorized (AUTHENTICATION_FAILED) - 403 Forbidden (ACCESS_DENIED) - 404 NotFound (NOT_FOUND, ZONE_NOT_FOUND) - 409 Conflict (CONFLICT, EXISTS) - 412 PreconditionFailed (VALIDATING_REFERENCE_ERROR) - 413 RequestEntityTooLarge (QUOTA_EXCEEDED) - 421 UnprocessableEntity (AUTHENTICATION_REQUIRED) - 429 TooManyRequests (THROTTLED) - 500 InternalServerError (INTERNAL_ERROR) - 503 ServiceUnavailable (TRY_AGAIN_LATER)

## Changes

- **2026-08-27** `3ea965df5f01` — 2 info
  - added the optional property `zones/items/atomic` to the response with the `200` status
  - added the optional property `zones/items/syncToken` to the response with the `200` status
- **2026-04-29** `c2b3dfb861bb` — 1 info
  - added the optional property `moreComing` to the response with the `200` status
- **2025-07-06** `a17a324ec78e` — 28 warning, 1 info
  - added the new `ACCESS_DENIED` enum value to the `serverErrorCode` response property for the response status `400`
  - added the new `ACCESS_DENIED` enum value to the `serverErrorCode` response property for the response status `401`
  - added the new `ATOMIC_ERROR` enum value to the `serverErrorCode` response property for the response status `400`
  - added the new `ATOMIC_ERROR` enum value to the `serverErrorCode` response property for the response status `401`
  - …25 more
- **2025-07-05** `a6d50d6e9dde` — 1 warning, 29 info
  - removed the optional property `moreComing` from the response with the `200` status
  - api operation id `fetchZoneChanges` removed and replaced with ``
  - removed the `ACCESS_DENIED` enum value from the `serverErrorCode` response property for the response status `400`
  - removed the `ACCESS_DENIED` enum value from the `serverErrorCode` response property for the response status `401`
  - …26 more

[Change history](https://skmtc.dev/brightdigit/apis/apple-cloudkit-web-services-api/changes/database/:version/:container/:environment/:database/zones/changes/post.md)

---

[API](https://skmtc.dev/brightdigit/apis/apple-cloudkit-web-services-api.md) · [All operations](https://skmtc.dev/brightdigit/apis/apple-cloudkit-web-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/brightdigit/apple-cloudkit-web-services-api/revisions/3ea965df5f01/schema)
