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

# Modify Subscriptions

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

Create, update, or delete subscriptions

## 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` SubscriptionOperation[]
    - `operationType` 'create' | 'update' | 'delete'
    - `subscription` Subscription
      - `subscriptionID` string
      - `subscriptionType` 'query' | 'zone'
      - `query` object
      - `zoneID` ZoneID
        - `zoneName` string
        - `ownerName` string
      - `firesOn` string[]

## Response `200`

Subscriptions modified successfully

- SubscriptionsModifyResponse
  - `subscriptions` Subscription[]
    - `subscriptionID` string
    - `subscriptionType` 'query' | 'zone'
    - `query` object
    - `zoneID` ZoneID
      - `zoneName` string
      - `ownerName` string
    - `firesOn` 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` — 1 breaking, 6 warning, 35 info
  - the `subscriptions/items/` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - removed the request property `operations/items/subscription/firesOnce`
  - removed the request property `operations/items/subscription/notificationInfo`
  - removed the request property `operations/items/subscription/query/filterBy`
  - …38 more

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