---
title: "requestWriteOnlyAccessToEvents(completion:)"
framework: eventkit
role: symbol
role_heading: Instance Method
path: "eventkit/ekeventstore/requestwriteonlyaccesstoevents(completion:)"
---

# requestWriteOnlyAccessToEvents(completion:)

Prompts the person using your app to grant or deny write access to event data.

## Declaration

```swift
func requestWriteOnlyAccessToEvents(completion: @escaping @Sendable (Bool, (any Error)?) -> Void)
```

```swift
func requestWriteOnlyAccessToEvents() async throws -> Bool
```

## Parameters

- `completion`: The block to call when the request completes.

## Mentioned in

Accessing the event store

## Discussion

Discussion Requesting access to an event store asynchronously prompts people for permission to use their data. The operating system only prompts them the first time your app requests write-only event access; any subsequent instantiations of EKEventStore uses existing permissions. When they grant or deny access, EventKit calls the completion handler on an arbitrary queue. important: If your app has never requested access, you must request write-only or full access to events before attempting to create them. If you request events before prompting the user for access with this method, you’ll need to reset the event store with the reset() method to receive data after the user grants access. Your app isn’t blocked while the person decides to grant or deny permission. Because they may deny permission, your app needs to handle the case where it doesn’t receive access to the event store. If the person grants permission, your app receives write-only access to the event store. Your app can create events, but it can’t access any of the existing calendars and events on the device, including events your app created. API calls to read event data from the event store don’t return any events. note: Your iOS or Mac Catalyst app can present an EKEventEditViewController to let your user create events without requesting access to the event store. If your app creates events without using EKEventEditViewController, you must request at least write-only access to event data.

## See Also

### Requesting access to events and reminders

- [requestFullAccessToEvents(completion:)](eventkit/ekeventstore/requestfullaccesstoevents(completion:).md)
- [requestFullAccessToReminders(completion:)](eventkit/ekeventstore/requestfullaccesstoreminders(completion:).md)
- [authorizationStatus(for:)](eventkit/ekeventstore/authorizationstatus(for:).md)
- [EKAuthorizationStatus](eventkit/ekauthorizationstatus.md)
- [EKEventStoreRequestAccessCompletionHandler](eventkit/ekeventstorerequestaccesscompletionhandler.md)
- [NSCalendarsFullAccessUsageDescription](bundleresources/information-property-list/nscalendarsfullaccessusagedescription.md)
- [NSCalendarsWriteOnlyAccessUsageDescription](bundleresources/information-property-list/nscalendarswriteonlyaccessusagedescription.md)
- [NSRemindersFullAccessUsageDescription](bundleresources/information-property-list/nsremindersfullaccessusagedescription.md)
