---
title: "Modify Zones"
method: POST
path: "/database/{version}/{container}/{environment}/{database}/zones/modify"
tags: ["Zones"]
---

# Modify Zones

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

Create or delete zones (only supported in private database)

## 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
  - `operations` ZoneOperation[]
    - `operationType` 'create' | 'delete'
    - `zone` object
      - `zoneID` ZoneID
        - `zoneName` string
        - `ownerName` string

## Response `200`

Zones modified successfully

- ZonesModifyResponse
  - `zones` object[]
    - `zoneID` ZoneID
      - `zoneName` string
      - `ownerName` string

## Other responses

- `400` — Bad request (400) - BAD_REQUEST, ATOMIC_ERROR
- `401` — Unauthorized (401) - AUTHENTICATION_FAILED

## Changes

- **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` — 29 info
  - api operation id `modifyZones` 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`
  - removed the `ATOMIC_ERROR` enum value from the `serverErrorCode` response property for the response status `400`
  - …25 more

[Change history](https://skmtc.dev/brightdigit/apis/apple-cloudkit-web-services-api/changes/database/:version/:container/:environment/:database/zones/modify/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/a17a324ec78e/schema)
