# Delete External Event

#### Description
Deletes an externally managed event from a user's calendar.

In order to make this call, you must request [elevated access to access the user's calendars](/developers/api/authorization/extended-permissions/index.md).

Then, the event itself must be have its `options.delete` flag set to `true`.

#### URL format
```
{data_center_url}/v1/calendars/{calendar_id}/events
```

#### Example Request
```http
DELETE /v1/calendars/cal_n23kjnwrw2_jsdfjksn234/events HTTP/1.1
Host: {data_center_url}
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json; charset=utf-8

{
  "event_uid": "evt_external_54008b1a4a41730f8d5c6037"
}
```

#### Example Response
```http
HTTP/1.1 202 Accepted
```

#### Request parameters
##### `data_center_url` *(required)*

The URL for the data center you want to communicate with. Possible choices are:

- `api-au.cronofy.com` - Australia
- `api-ca.cronofy.com` - Canada
- `api-de.cronofy.com` - Germany
- `api-sg.cronofy.com` - Singapore
- `api-uk.cronofy.com` - United Kingdom
- `api.cronofy.com` - United States

Find out more about [Cronofy's data centers](/developers/data-centers/index.md).
##### `calendar_id` *(required)*

The `calendar_id` of the calendar you wish the event to be removed from. This ID should have been discovered by making a [list calendars request](/developers/api/calendars/list-calendars/index.md) and **must not** have a `calendar_readonly` value that is `true`.

##### `event_uid` *(required)*

The [`String`](/developers/api/data-types/index.md) that uniquely identifies the event. The combination of `calendar_id` and `event_uid` combination will be used to delete the event.

This will be an `event_uid` (i.e.`evt_external_54008b1a4a41730f8d5c6037`), retrieved as part of a [read events request](/developers/api/events/read-events/index.md).

##### Notification channels
You will not receive a push notification after the update you have requested has been applied. Much like for fully managed events we eliminate these notifications as it is wasteful for everyone to be informed about the request you just made.

#### Caveats
##### Recurring events
Recurring events are not editable. In order to know if an event can be deleted or updated, the `options` attribute can be inspected when making a [Read Events](/developers/api/events/read-events/index.md) request.

Recurring events can also be identified by the `recurring` Boolean attribute on events when making a [Read Events](/developers/api/events/read-events/index.md) request.

#### Error responses
##### not_found
If the provided `event_uid` does not exist, we will return a `not_found` error and not a 2xx status code. When editing an external event, the typical usage would involve either making a [Read Events](/developers/api/events/read-events/index.md) call or, preferably, having a [cached read events response updated via our change push notifications](/developers/faqs/event-management/recommended-sync/index.md)), and confirming the event is:

- present.

- deletable (through inspecting [options](/developers/api/events/read-events/index.md) and confirming `delete` or `update` is set to `true`).

##### cannot_update_event
Make a [Read Events](/developers/api/events/read-events/index.md) request and ensure the event is not recurring (check the `recurring` response parameter), and can be deleted or updated (check the `options` attribute).



---
[Read in HTML](/developers/api/events/delete-external-event/)