<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "EventKit",
  "identifier" : "/documentation/EventKit/EKError/Code",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "EventKit"
    ],
    "preciseIdentifier" : "c:@E@EKErrorCode"
  },
  "title" : "EKError.Code"
}
-->

# EKError.Code

Error codes for EventKit errors.

```
enum Code
```

## Topics

### Constants

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

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

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

The event isn’t associated with a calendar.

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

The event has no start date set.

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

The event has no end date set.

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

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

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

An internal error occurred.

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

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

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

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

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

The alarm interval is greater than the recurrence interval.

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

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

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

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

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

The object belongs to a different calendar store.

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

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

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

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

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

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

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

You can’t move the calendar to another source.

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

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

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

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

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

The recurring reminder requires a due date.

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

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

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

The source doesn’t support locations on reminders.

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

The source doesn’t allow geofences on alarms.

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

The calendar doesn’t allow you to add events.

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

The calendar doesn’t allow you to add reminders.

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

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

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

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

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

The priority number for the reminder is invalid.

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

The entity type is invalid.

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

You can’t create or modify procedure alarms.

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

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

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

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

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

The calendar is invalid or nil.

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

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

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

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

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

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

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

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

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

This error is for internal use.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`Sendable`](/documentation/Swift/Sendable)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Equatable`](/documentation/Swift/Equatable)

---

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)