Editing Events

Required plan: Starter

The Cronofy API treats events that your application creates (Partner Events) differently to events that the user creates in their calendar directly (External Events). You can identify which events are which in the Read Events response.

  • Partner Events have an event_id.
  • External Events have an event_uid and do not have an event_id.

Much of the rationale for this is to provide a richer, more fit-for-purpose permissions scheme to support a wide variety of use cases. You can read more about this in our Permissions walkthrough.

Using event_id or event_uid #

When your application creates an event it defines the event_id to use for the event. This creates a Partner Event in the end user’s calendar. We use an upsert pattern for event editing so anytime you want to update the event, you just provide the new version and specify the same event_id.

{
  "event_id": "qTtZdczOccgaPncGJaCiLg",
  "summary": "Board meeting",
  "description": "Discuss plans for the next quarter.",
  "start": "2024-07-27T15:30:00Z",
  "end": "2024-07-27T17:00:00Z",
  "location": {
    "description": "Board room"
  }
}

External events are different. They do not have an event_id, they only have an event_uid.

{
  "event_uid": "evt_external_64b1801a8090ea21640c9153",
  "summary": "Board meeting",
  "description": "Discuss plans for the next quarter.",
  "start": "2024-07-27T15:30:00Z",
  "end": "2024-07-27T17:00:00Z",
  "location": {
    "description": "Board room"
  }
}

Once you’ve obtained permission to edit External Events you can then update the event by passing the event_uid value.

When editing External Events, do not pass an event_id value. This will take precedence and will create a new Partner Event, ignoring the event_uid value.