---
title: "modifySubscriptions(saving:deleting:)"
framework: cloudkit
role: symbol
role_heading: Instance Method
path: "cloudkit/ckdatabase/modifysubscriptions(saving:deleting:)"
---

# modifySubscriptions(saving:deleting:)

Modifies the specified subscriptions and returns the results to an awaiting caller.

## Declaration

```swift
func modifySubscriptions(saving subscriptionsToSave: [CKSubscription], deleting subscriptionIDsToDelete: [CKSubscription.ID]) async throws -> (saveResults: [CKSubscription.ID : Result<CKSubscription, any Error>], deleteResults: [CKSubscription.ID : Result<Void, any Error>])
```

## Parameters

- `subscriptionsToSave`: The subscriptions to save.
- `subscriptionIDsToDelete`: The identifiers of the subscriptions to permanently delete.

## Return Value

Return Value A tuple with the following named elements:

## Discussion

Discussion This method throws an error if the request fails, such as when the network is unavailable or the device doesn’t have an active iCloud account; otherwise, the returned tuple includes any individual subscription errors. For information on a more configurable way to modify subscriptions, see CKModifySubscriptionsOperation.

## See Also

### Modifying Subscriptions

- [modifySubscriptions(saving:deleting:completionHandler:)](cloudkit/ckdatabase/modifysubscriptions(saving:deleting:completionhandler:).md)
- [save(_:completionHandler:)](cloudkit/ckdatabase/save(_:completionhandler:)-9pona.md)
- [deleteSubscription(withID:)](cloudkit/ckdatabase/deletesubscription(withid:).md)
- [delete(withSubscriptionID:completionHandler:)](cloudkit/ckdatabase/delete(withsubscriptionid:completionhandler:).md)
