interface CapacitorCalendarPlugin {
    checkAllPermissions(): Promise<{
        result: CheckAllPermissionsResult;
    }>;
    checkPermission(options: {
        scope: CalendarPermissionScope;
    }): Promise<{
        result: PermissionState;
    }>;
    commit(): Promise<void>;
    createCalendar(options: CreateCalendarOptions): Promise<{
        id: string;
    }>;
    createEvent(options: CreateEventOptions): Promise<{
        id: string;
    }>;
    createEventWithPrompt(options?: CreateEventWithPromptOptions): Promise<{
        id: null | string;
    }>;
    createReminder(options: CreateReminderOptions): Promise<{
        id: string;
    }>;
    deleteCalendar(options: DeleteCalendarOptions): Promise<void>;
    deleteEvent(options: DeleteEventOptions): Promise<void>;
    deleteEventWithPrompt(options: DeleteEventWithPromptOptions): Promise<{
        deleted: boolean;
    }>;
    deleteEventsById(options: DeleteEventsByIdOptions): Promise<{
        result: DeleteEventsByIdResult;
    }>;
    deleteReminder(options: DeleteReminderOptions): Promise<void>;
    deleteReminderWithPrompt(options: DeleteReminderWithPromptOptions): Promise<{
        deleted: boolean;
    }>;
    deleteRemindersById(options: DeleteRemindersByIdOptions): Promise<{
        result: DeleteRemindersByIdResult;
    }>;
    fetchAllCalendarSources(): Promise<{
        result: CalendarSource[];
    }>;
    fetchAllRemindersSources(): Promise<{
        result: CalendarSource[];
    }>;
    getDefaultCalendar(): Promise<{
        result: null | Calendar;
    }>;
    getDefaultRemindersList(): Promise<{
        result: null | Calendar;
    }>;
    getReminderById(options: GetReminderByIdOptions): Promise<{
        result: null | Reminder;
    }>;
    getRemindersFromLists(options: GetRemindersFromListsOptions): Promise<{
        result: Reminder[];
    }>;
    getRemindersLists(): Promise<{
        result: Calendar[];
    }>;
    listCalendars(): Promise<{
        result: Calendar[];
    }>;
    listEventsInRange(options: ListEventsInRangeOptions): Promise<{
        result: CalendarEvent[];
    }>;
    modifyCalendar(options: ModifyCalendarOptions): Promise<void>;
    modifyEvent(options: ModifyEventOptions): Promise<void>;
    modifyEventWithPrompt(options: ModifyEventWithPromptOptions): Promise<{
        result: null | EventEditAction;
    }>;
    modifyReminder(options: ModifyReminderOptions): Promise<void>;
    openCalendar(options?: OpenCalendarOptions): Promise<void>;
    openReminders(): Promise<void>;
    requestAllPermissions(): Promise<{
        result: CheckAllPermissionsResult;
    }>;
    requestFullCalendarAccess(): Promise<{
        result: PermissionState;
    }>;
    requestFullRemindersAccess(): Promise<{
        result: PermissionState;
    }>;
    requestPermission(options: {
        scope: CalendarPermissionScope;
    }): Promise<{
        result: PermissionState;
    }>;
    requestReadOnlyCalendarAccess(): Promise<{
        result: PermissionState;
    }>;
    requestWriteOnlyCalendarAccess(): Promise<{
        result: PermissionState;
    }>;
    selectCalendarsWithPrompt(options?: SelectCalendarsWithPromptOptions): Promise<{
        result: Calendar[];
    }>;
}

Hierarchy

  • CalendarAccess
  • RemindersAccess
  • EventOperations
  • CalendarOperations
  • RemindersOperations
    • CapacitorCalendarPlugin

Methods

  • Retrieves the current permission state for a given scope.

    Parameters

    Returns Promise<{
        result: PermissionState;
    }>

    CapacitorCalendar.checkPermission({ scope: CalendarPermissionScope.READ_CALENDAR });
    

    Android, iOS

    0.1.0

  • Creates an event in the calendar.

    Parameters

    Returns Promise<{
        id: string;
    }>

    iOS, Android

    0.4.0

  • Opens the system calendar interface to create a new event. On Android always returns null. Fetch the events to find the ID of the newly created event.

    Parameters

    Returns Promise<{
        id: null | string;
    }>

    const options = {
    title: 'Test event',
    startDate: Date.now(),
    }
    await CapacitorCalendar.createEventWithPrompt(options)

    Android, iOS

    0.1.0

  • Opens a dialog to delete an event.

    Parameters

    Returns Promise<{
        deleted: boolean;
    }>

    Android, iOS

    7.1.0

  • Retrieves a list of calendar sources.

    Returns Promise<{
        result: CalendarSource[];
    }>

    Duplicates CalendarOperations#fetchAllCalendarSources

    iOS

    6.6.0

  • Retrieves the default calendar.

    Returns Promise<{
        result: null | Calendar;
    }>

    Android, iOS

    0.3.0

  • Retrieves the default reminders list.

    Returns Promise<{
        result: null | Calendar;
    }>

    iOS

    7.1.0

  • Opens a system calendar interface to modify an event. On Android always returns null.

    Parameters

    Returns Promise<{
        result: null | EventEditAction;
    }>

    const options = {
    id: 'EVENT_ID',
    title: 'New title',
    }
    await CapacitorCalendar.modifyEventWithPrompt(options);

    Android, iOS

    6.6.0

  • Opens the calendar app.

    Parameters

    Returns Promise<void>

    CapacitorCalendar.openCalendar({ date: Date.now() });
    

    Android, iOS

    7.1.0

  • Requests read and write access to the calendar.

    Returns Promise<{
        result: PermissionState;
    }>

    Platform Required
    iOS 17+ NSCalendarsFullAccessUsageDescription
    iOS 13-16 NSCalendarsUsageDescription
    Android android.permission.READ_CALENDAR & android.permission.WRITE_CALENDAR

    Android, iOS

    5.4.0

  • Requests read and write access to the reminders.

    Returns Promise<{
        result: PermissionState;
    }>

    Platform Required
    iOS 17+ NSRemindersFullAccessUsageDescription
    iOS 10-16 NSRemindersUsageDescription

    iOS

    CalendarPermissionScope

    5.4.0

  • Requests read access to the calendar.

    Returns Promise<{
        result: PermissionState;
    }>

    Platform Required
    Android android.permission.READ_CALENDAR

    Android

    5.4.0

  • Requests write access to the calendar.

    Returns Promise<{
        result: PermissionState;
    }>

    Platform Required
    iOS 17+ NSCalendarsWriteOnlyAccessUsageDescription
    iOS 13-16 NSCalendarsUsageDescription
    Android android.permission.WRITE_CALENDAR

    Android, iOS

    5.4.0