<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "EventKit",
  "identifier" : "/documentation/EventKit/EKError",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "EventKit"
    ],
    "preciseIdentifier" : "s:SC11EKErrorCodeLeV"
  },
  "title" : "EKError"
}
-->

# EKError

An EventKit error.

```
struct EKError
```

## Topics

### Error Properties

### Error Codes

[`eventNotMutable`](/documentation/EventKit/EKError/eventNotMutable)

The event isn’t mutable and you can’t save or delete it.

[`noCalendar`](/documentation/EventKit/EKError/noCalendar)

The event isn’t associated with a calendar.

[`noEndDate`](/documentation/EventKit/EKError/noEndDate)

The event has no start date set.

[`noStartDate`](/documentation/EventKit/EKError/noStartDate)

The event has no end date set.

[`datesInverted`](/documentation/EventKit/EKError/datesInverted)

The event’s end date occurs before its start date.

[`internalFailure`](/documentation/EventKit/EKError/internalFailure)

An internal error occurred.

[`calendarReadOnly`](/documentation/EventKit/EKError/calendarReadOnly)

The calendar is read-only and you can’t add events to it.

[`durationGreaterThanRecurrence`](/documentation/EventKit/EKError/durationGreaterThanRecurrence)

The duration of an event is greater than its recurrence interval.

[`alarmGreaterThanRecurrence`](/documentation/EventKit/EKError/alarmGreaterThanRecurrence)

The alarm interval is greater than the recurrence interval.

[`startDateTooFarInFuture`](/documentation/EventKit/EKError/startDateTooFarInFuture)

The start date is further into the future than the calendar can display.

[`startDateCollidesWithOtherOccurrence`](/documentation/EventKit/EKError/startDateCollidesWithOtherOccurrence)

The event’s start date collides with another occurrence of the event.

[`objectBelongsToDifferentStore`](/documentation/EventKit/EKError/objectBelongsToDifferentStore)

The object belongs to a different calendar store.

[`invitesCannotBeMoved`](/documentation/EventKit/EKError/invitesCannotBeMoved)

You can’t move the event because it’s an invitation.

[`invalidSpan`](/documentation/EventKit/EKError/invalidSpan)

The system encountered an invalid span during a save or deletion.

[`calendarHasNoSource`](/documentation/EventKit/EKError/calendarHasNoSource)

You can’t save the calendar without setting a source first.

[`calendarSourceCannotBeModified`](/documentation/EventKit/EKError/calendarSourceCannotBeModified)

You can’t move the calendar to another source.

[`calendarIsImmutable`](/documentation/EventKit/EKError/calendarIsImmutable)

The calendar is immutable and you can’t modify or delete it.

[`sourceDoesNotAllowCalendarAddDelete`](/documentation/EventKit/EKError/sourceDoesNotAllowCalendarAddDelete)

The source doesn’t allow you to add or delete calendars.

[`recurringReminderRequiresDueDate`](/documentation/EventKit/EKError/recurringReminderRequiresDueDate)

The recurring reminder requires a due date.

[`structuredLocationsNotSupported`](/documentation/EventKit/EKError/structuredLocationsNotSupported)

The source to which this calendar belongs doesn’t support structured locations.

[`reminderLocationsNotSupported`](/documentation/EventKit/EKError/reminderLocationsNotSupported)

The source doesn’t support locations on reminders.

[`alarmProximityNotSupported`](/documentation/EventKit/EKError/alarmProximityNotSupported)

The source doesn’t allow geofences on alarms.

[`calendarDoesNotAllowEvents`](/documentation/EventKit/EKError/calendarDoesNotAllowEvents)

The calendar doesn’t allow you to add events.

[`calendarDoesNotAllowReminders`](/documentation/EventKit/EKError/calendarDoesNotAllowReminders)

The calendar doesn’t allow you to add reminders.

[`sourceDoesNotAllowReminders`](/documentation/EventKit/EKError/sourceDoesNotAllowReminders)

The source doesn’t allow calendars supporting reminder entity types.

[`sourceDoesNotAllowEvents`](/documentation/EventKit/EKError/sourceDoesNotAllowEvents)

The source doesn’t allow calendars supporting event entity types.

[`priorityIsInvalid`](/documentation/EventKit/EKError/priorityIsInvalid)

The priority number for the reminder is invalid.

[`invalidEntityType`](/documentation/EventKit/EKError/invalidEntityType)

The entity type is invalid.

[`procedureAlarmsNotMutable`](/documentation/EventKit/EKError/procedureAlarmsNotMutable)

You can’t create or modify procedure alarms.

[`eventStoreNotAuthorized`](/documentation/EventKit/EKError/eventStoreNotAuthorized)

The user hasn’t authorized your app to access events or reminders.

[`osNotSupported`](/documentation/EventKit/EKError/osNotSupported)

The action isn’t supported on the current operating system.

[`invalidInviteReplyCalendar`](/documentation/EventKit/EKError/invalidInviteReplyCalendar)

The calendar is invalid or nil.

[`notificationsCollectionFlagNotSet`](/documentation/EventKit/EKError/notificationsCollectionFlagNotSet)

The notification collection doesn’t have the notifications collection flag.

[`sourceMismatch`](/documentation/EventKit/EKError/sourceMismatch)

The object’s source doesn’t match its container’s source.

[`notificationCollectionMismatch`](/documentation/EventKit/EKError/notificationCollectionMismatch)

The notification collection that contains this notification doesn’t match the collection the system is trying to save.

[`notificationSavedWithoutCollection`](/documentation/EventKit/EKError/notificationSavedWithoutCollection)

The notification can’t save because you haven’t added it to a notification collection and saved the collection first.

[`last`](/documentation/EventKit/EKError/last)

This error is for internal use.

### Error Domain

[`EKErrorDomain`](/documentation/EventKit/EKErrorDomain)

A string that identifies the EventKit error domain.

### Error Code Comparison



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)