---
title: "requestFullAccessToEvents(completion:)"
framework: EventKit
role: symbol
role_heading: Instance Method
platforms: [iOS 17.0+, iPadOS 17.0+, Mac Catalyst 17.0+, macOS 14.0+, visionOS 1.0+, watchOS 10.0+]
path: eventkit/ekeventstore/4162272-requestfullaccesstoevents
---

# requestFullAccessToEvents(completion:)

Prompts people to grant or deny read and write access to event data.

## Declaration

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

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

## Parameters

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

## 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 full access to events; any subsequent instantiations of [EKEventStore](../ekeventstore.md) uses existing permissions. When they grant or deny access, [EventKit](../../eventkit.md) calls the completion handler on an arbitrary queue.

> **note:** Your iOS or Mac Catalyst app can present an [EKEventEditViewController](../../eventkitui/ekeventeditviewcontroller.md) to let people create events without requesting access to the event store. If your app creates events without using [EKEventEditViewController](../../eventkitui/ekeventeditviewcontroller.md), you must request at least write-only access to event data.

Your app isn’t blocked while the person decides to grant or deny permission. Because they may deny permission, your app should handle cases where it doesn’t receive access to the event store.

> **important:** If your app has never requested access, or only has write-only access to events, you must request full access to events before attempting to fetch them. If you request events before prompting people for access with this method, you’ll need to reset the event store with the [reset()](reset().md) method to receive data after they grant access.

## See Also

### Requesting access to events and reminders

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