Cancel recurring meeting occurrence
cancel_recurring_meeting_occurrenceCancel a single occurrence of a recurring meeting series to skip one slot without affecting the schedule. Requires confirmation and the exact start time from the occurrence list.
Instructions
Cancel one occurrence of a series — skip a slot without touching the schedule.
Use it for "no sync next Monday": the slot stays in the occurrences list as
'cancelled' (backed by a cancelled stub meeting) while the series keeps
running. A cancelled occurrence is recoverable —
init_recurring_meeting_occurrence at the same instant restores it to 'open' — but
the cancellation itself may email participants when the series has notify set,
which is why it is confirm-gated.
Returns a small confirmation object carrying the normalized instant.
Pitfalls. The instant is matched exactly and never validated against the schedule:
cancelling at a wrong time succeeds (204) by creating a cancelled phantom stub while
the real occurrence lives on — always copy start_time from
get_recurring_meeting's occurrences. A conflict error (409) means the occurrence
is already instantiated as a live meeting, which OpenProject refuses to cancel in
place: delete_meeting(meeting_id=...) (the id is in the occurrences row) is the
move then. Cancelling an already-cancelled slot is an idempotent success. This needs
the 'edit meetings' permission.
Cross-references: get_recurring_meeting for the exact start_time and the
occurrence's meeting_id; delete_meeting for an instantiated occurrence;
delete_recurring_meeting to end the whole series.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true. Ask the user to confirm first. Calling with confirm=false returns a confirmation_required error rather than cancelling anything. | |
| start_time | Yes | The occurrence's scheduled instant, copied VERBATIM from a get_recurring_meeting occurrences row ('2026-08-12T10:00:00Z'). Matching is exact-instant — a wrong time cancels a phantom stub while the real occurrence lives on. | |
| recurring_meeting_id | Yes | Numeric series id from list_recurring_meetings. Never a meeting id. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Human-readable confirmation naming what was cancelled. | |
| cancelled | Yes | True once OpenProject accepted the cancellation. | |
| start_time | Yes | The cancelled instant, normalized to the canonical UTC 'Z' form. | |
| recurring_meeting_id | Yes | Series the occurrence belongs to. |